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 ?
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.
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..
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.
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 ******************************************************/