Ponto de Entrada OM200OK – Montagem de Carga(OMSA200)

Tempo de leitura: 1 minuto


Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.


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.

Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.