Tempo de leitura: 1 minuto
Olá, hoje iremos ver um exemplo de como utilizar o ponto de entrada OM200OK, esse ponto de entrada é executado antes da montagem da carga(rotina OMSA200), permitindo que o usuário para gerar a carga ou não, dependendo do retorno desse ponto de entrada.
O retorno dessa ponto de entrada é um valor lógico, caso retorne TRUE(.T.) o processo da montagem da carga será executado normalmente, caso retorne FALSE(.F.) não será montado a carga.
/* www.protheusadvpl.com.br Ponto de Entrada executado antes da montagem da carga Autor:Adilio Costa Data:03/05/2018 */ #Include "Protheus.ch" #Include "TopConn.ch" #Define QUE_LIN Chr(13)+Chr(10) User Function OM200OK() Local aPedidos := PARAMIXB[01] Local aSelPed := {} Local cMens := "O(s) seguinte(s) pedido(s) vai(ão) ser(em) entregue(s) na fábrica:" +QUE_LIN Local nNum := 0 Local nRet Local lRet := .T. Local lCont1 := .T. Local lCont2 := .F. For nNum := 1 To Len(aPedidos) nRet := POSICIONE( "SC5" ,1,xFilial( "SC5" )+aPedidos[nNum][5], "C5_YRETIRA" ) If(nRet == "P" ) lCont1 := .F. aadd(aSelPed,aPedidos[nNum][5]) Else lCont2 := .T. EndIf Next If(!lCont1 .AND. lCont2) if ( len(aSelPed)>0 ) For nNum := 1 To Len(aSelPed) if (nNum == 5) cMens += QUE_LIN EndIf cMens += aSelPed[nNUM] if ((nNum+1) <= Len(aSelPed)) cMens += "," EndIf Next cMens += QUE_LIN cMens += "Deseja Continuar?" lRet := MsgYesNo(cMens, "Atenção!" ) EndIf Endif Return lRet |
Bem, assim finalizamos mais um post aqui do blog/site ProtheusAdvpl, espero que tenha entendido e lhe ajudado. Qualquer dúvida deixe seu comentário ou nos envie um email para adiliocosta@protheusadvpl.com.br.
Grande abraço e fica com Deus.