[RESOLVIDO] Criação UPC

Discussão em 'EMS , HCM e Totvs 11' iniciado por hagner, Junho 30, 2010.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. hagner

    hagner Sem Pontuação

    Boa noite pessoal,

    Comecei a pouco tempo a trabalhar com o EMS e gostaria de uma ajuda de um pessoal mais experiente...

    Solicitaram que eu criasse um botão no programa FT4002 (Faturamento de pedidos) que demonstrasse 3 campos de uma tabela na base MGMOV (mgmov.ped-venda.observacoes / mgmov.ped-venda.condredespa / mgmov.ped-venda.condespec)...

    Eu devo criar uma UPC para que o botão apareça em tela, e que ao clicar aparecerá uma viewer com os 3 campos certo?

    Como eu poderia fazer isso? já testei alguns exemplos aqui do fórum porém nada funcionou e também já peguei um manual de customização (que não me levou a nada), não consigo criar a procedure nem registrar/instalar no ft4002

    desde já agradeço a atenção...
  2. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Cara eu acho que o ideal seria você criar uma nova Window, e no botão apenas chamar essa Window com os campos que você deseja dentro dela.
  3. hagner

    hagner Sem Pontuação

    Obrigado pela ajuda,

    um amigo ajudou a desenvolver, o meu problema era com os conceitos básicos da criação de UPCs.

    Gostaria de saber se alguem tem apostilas especificas para os produtos datasul...

    Segue o código comentado...
    Código:
    /*                                                                                                        */
    /*   PROGRAMA    :   esft4002-u01.p                                                      */
    /*   OBJETIVO    :   Criar botao de obs NO FT4002                                   */
    /*   AUTOR       :   HAGNER RIBEIRO                   */
    /*   DATA        :   30/06/2010                                                               */
    /*                                                                                                        */
    /*                  CRIACAO DOS PARAMETROS                                             */
    DEFINE INPUT PARAMETER p-ind-event  AS CHARACTER        NO-UNDO.
    DEFINE INPUT PARAMETER p-ind-object AS CHARACTER        NO-UNDO.
    DEFINE INPUT PARAMETER p-wgh-object AS HANDLE           NO-UNDO.
    DEFINE INPUT PARAMETER p-wgh-frame  AS WIDGET-HANDLE    NO-UNDO.
    DEFINE INPUT PARAMETER p-cod-table  AS CHARACTER        NO-UNDO.
    DEFINE INPUT PARAMETER p-row-table  AS ROWID            NO-UNDO.
    
    /*                  DEFINICAO DE WIDGET HANDLE                                        */
    
    DEFINE NEW GLOBAL SHARED VARIABLE wh-btobs      AS WIDGET-HANDLE    NO-UNDO.
    
    /*                  COMANDO PARA CRIACAO DO BOTAO NA TELA                  */
    
    IF  p-ind-event             = "before-control-tool-bar"
    AND p-ind-object            = "CONTAINER"
    AND p-wgh-object:FILE-NAME  = "ftp/ft4002.w" THEN
    DO:
        CREATE BUTTON wh-btobs
            ASSIGN
                NAME         =   "wh-btobs"
                FRAME        =   p-wgh-frame
                HEIGHT       =   1.10
                WIDTH        =   4
                ROW          =   1.14
                COL          =   44
                VISIBLE      =   YES
                SENSITIVE    =   TRUE
                LABEL        =   "Obs"
                TOOLTIP      =   "Obs. do pedido de venda".
                
    
    /*                  COMANDO PARA PASSAGEM DE PARAMETRO                                   */
    
        FIND FIRST ped-venda WHERE ROWID(ped-venda) = p-row-table NO-LOCK NO-ERROR.
        ON CHOOSE OF wh-btobs PERSISTENT RUN esftp\esft4002-u02.p(INPUT ROWID(ped-venda)).
    
    END.
    
    Código:
    
    /*                                                                                                        */
    /*   PROGRAMA    :   esft4002-u02.p                                                      */
    /*   OBJETIVO    :   Mensagem na tela das observacoes pedidas               */
    /*   AUTOR       :   HAGNER RIBEIRO                   */
    /*   DATA        :   30/06/2010                                                               */
    /*                                                                                                        */
    /*                  CRIACAO DOS PARAMETROS                                             */
    
    DEFINE INPUT PARAM r-recebe AS ROWID.
    
    /*                  CODIGO PARA LOCALIZACAO DO REGISTRO                                  */
    
    FIND FIRST ped-venda WHERE ROWID(ped-venda) = r-recebe NO-LOCK NO-ERROR.
    
    /*                  MOSTRA MENSAGEM NA TELA                                              */
    IF  ped-venda.observac <> ""     OR 
        ped-venda.cond-redespa <> "" OR 
        ped-venda.cond-espec <> ""   THEN DO:
    MESSAGE     'Pedido Cliente:'       STRING(mgmov.ped-venda.nr-pedcli)SKIP
                'Observacoes gerais:'   STRING(mgmov.ped-venda.observac)SKIP
                'Cond. de Redespacho:'  STRING(mgmov.ped-venda.cond-redespa)SKIP
                'Cond. Especiais:'      STRING(mgmov.ped-venda.cond-espec)
        VIEW-AS ALERT-BOX INFO BUTTONS OK TITLE 'Obs. do Pedido: ' + ped-venda.nr-pedcli.
    END.
    
    ELSE DO:
         MESSAGE 'O pedido' ped-venda.nr-pedcli 'nÆo possui observa‡äes.'.
    END.
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página