[RESOLVIDO] UPC Efetivar Pedido de Venda - PD4000.

Discussão em 'EMS , HCM e Totvs 11' iniciado por reissobr, Setembro 22, 2016.

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

    reissobr Membro Ativo

    Pessoal,
    Vou precisar de uma UPC no momento de efetivar o pedido de vendas.
    Ela vai chamar uma api nossa, que irá calcular a melhor transportadora, em função do destino e dos itens do pedido.

    Fiz o codigo abaixo para testar se o botao efetiva pedido foi clicado.
    É o camino correto, ou poderia usar outro código ?

    Código:
    DEF INPUT PARAM  p-ind-event   AS CHAR           NO-UNDO.
    DEF INPUT PARAM  p-ind-object  AS CHAR           NO-UNDO.
    DEF INPUT PARAM  p-wgh-object  AS HANDLE         NO-UNDO.
    DEF INPUT PARAM  p-wgh-frame   AS WIDGET-HANDLE  NO-UNDO.
    DEF INPUT PARAM  p-cod-table   AS CHAR           NO-UNDO.
    DEF INPUT PARAM  p-row-table   AS ROWID          NO-UNDO.
    DEF VAR          c-objeto      AS CHAR           NO-UNDO.
    
    DEF VAR i-nivel                AS INTE            NO-UNDO.
    DEF VAR l-efetiva-pedido       AS logi  NO-UNDO.
    
    ASSIGN  c-objeto =  ENTRY(NUM-ENTRIES(p-wgh-object:PRIVATE-DATA, "~/"), p-wgh-object:PRIVATE-DATA, "~/").
    
    IF p-ind-event  = "BEFORE-DISPLAY" AND
       p-cod-table  = "ped-venda" THEN DO:
       
        ASSIGN i-nivel = 1
               l-efetiva-pedido = NO.
        REPEAT WHILE PROGRAM-NAME(i-nivel) <> ?:
            IF PROGRAM-NAME(i-nivel) MATCHES ("pi-btCompleteOrder*") THEN ASSIGN l-efetiva-pedido = YES.
            ASSIGN i-nivel = i-nivel + 1.
        END.
    
        IF l-efetiva-pedido THEN DO:
            MESSAGE "Clicou em Efetivar Pedido" VIEW-AS ALERT-BOX.
        END.
    
    END.    /*    IF p-ind-event    */
    
    RETURN("OK").
    
  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    eu prefiro usar o ponto do before-assign ou assign, pra não depender de clicar em botões.
    Agora tem outro jeito que eu acho que é melhor, se o PD4000 ou PD4050 usa API pra gravar os pedidos, faz EPC na API/BO que é melhor, dai a regra vale pra qualquer programa que usar a API/BO.
    reissobr curtiu isso.
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página