1. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Upc EQ0506B - Aloca Item

Discussão em 'EMS , HCM e Totvs 11' iniciado por Marcos Gomes, Junho 5, 2024.

  1. Marcos Gomes

    Marcos Gomes Membro Participativo

    Pessoal, bom dia..

    Preciso fazer um upc no eq0506b, que quando o usuário clicar no "Aloca Item Selecionado", eu faça um find em uma tabela especifica, caso o item exista nessa table, nao posso deixar alocar o item, alguem ja fez algo semelhante ?
  2. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Basta colocar um botão fake em cima e desabilitar o original, ao clicar no botão fake tu faz a validação e se estiver ok, tu faz o
    APPLY "CHOOSE" TO handleBotaoOriginal.
  3. Marcos Gomes

    Marcos Gomes Membro Participativo

    rafael,
    obrigado pelo retorno, estava tentando fazer justamente isso.. mais nao consigo me posicionar nesse "maldito" kkk

    nao consigo achar o handle dele.. o aloca item seleciona e Alocação total de pedidos.. que fica logo acima dele.. eu consigo.. mais nessa parte onde jogo os dados do Ped-ent para baixo, nao consigo posicionar nele..

    Arquivos Anexados:

  4. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Já tentou pegar o handle de tudo usando recursividade? Exemplo:

    Código:
    IF Evento = "NOME-DO-EVENTO" THEN DO:
         RUN BuscaWidget(CURRENT-WINDOW).
    END.
    
    PROCEDURE BuscaWidget.
       DEF INPUT PARAMETER objEntrada AS HANDLE.
       DEF VAR objFilho AS HANDLE.
       
       objFilho = objEntrada:FIRST-CHILD.
       
       DO WHILE VALID-HANDLE(objFilho).
          IF objFilho:TYPE = "WINDOW" OR objFilho:TYPE = "FRAME" OR objFilho:TYPE = "FIELD-GROUP" THEN RUN BuscaWidget(objFilho).
          ELSE DO:
             MESSAGE objFilho:NAME SKIP objFilho:TYPE VIEW-AS ALERT-BOX.
          END.
          objFilho = objFilho:NEXT-SIBLING NO-ERROR.
       END.
    END PROCEDURE.
    
  5. lcpaulino

    lcpaulino Membro Participativo

    Olá... eu faço algo parecido, mas utilizando uma upc no programa EQAPI300... (foi o jeito que eu consegui... testa ai... quem sabe funciona para o seu caso...)

    O funcionamento prático é que ao usuário "clicar" no botão para descer o item no eq0506b, se não passar na regra, o item simplesmente não desce... e se o usuário "clicar" no botão que desce todos.... vão descer apenas aqueles que passarem pela regra...

    obs: se sua lógica precisar utilizar temp-tables.. defina elas como globais...

    basta criar um programa ".p" com o código abaixo... incluir a sua lógica e cadastrar a UPC no programa EQAPI300 (vide print)

    /***************** Includes *************************/
    {include/i-epc200.i} /* Def da temp-table tt-epc */


    /***************** Parametros *************************/
    DEF INPUT PARAM p-ind-event AS CHAR NO-UNDO.
    DEF INPUT-OUTPUT PARAM TABLE FOR tt-epc.

    /***************** Temp Tables Globais *************************/


    /******************** Inicio Main Block ******************************************************/
    IF p-ind-event = "VALIDAR_ENTREGA" THEN DO :

    FIND LAST tt-epc
    WHERE tt-epc.cod-event = "VALIDAR_ENTREGA"
    AND tt-epc.cod-parameter = "ped-ent rowid" NO-ERROR.

    FIND FIRST ped-ent WHERE rowid(ped-ent) = TO-ROWID(tt-epc.val-parameter) NO-LOCK NO-ERROR.

    IF AVAIL ped-ent THEN DO :

    /*colocar aqui a logica e se nao atender os criterios: RETURN 'NOK'*/

    /*RETURN 'NOK'.*/

    END.
    END.
    /******************** Fim Main Block ******************************************************/

    Arquivos Anexados:

  6. Marcos Gomes

    Marcos Gomes Membro Participativo

    excelente !!!! era exatamente isso que precisava LCPaulino, muito obrigado a todos. :)

Compartilhe esta Página