Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Portuguese

Pagetitle
FT210OPC - Permite interrupção do processo
FT210OPC - Permite interrupção do processo

Ponto-de-Entrada: FT210OPC - Permite interrupção do processo


Versões:Microsiga Protheus 8.11 , Microsiga Protheus 10
Idiomas:Espanhol , Inglês


Descrição:

Este ponto de entrada é executado após a confirmação da liberação do pedido de venda por regra e antes do inicio da transação.
Seu objetivo é permitir a interrupção do processo, mesmo com a confirmação do usuário.

Programa Fonte
.PRW
Sintaxe

FT210OPC - Permite interrupção do processo ( < PARAMIXB[1]> ) --> nOpc (parâmetro numérico)

Parâmetros:



Nome

Tipo

Descrição

Default

Obrigatório

Referência

PARAMIXB[1]

Array of Record







X




Retorno
Numérico
    (Numérico)
  • 1
  • Obs.: Caso o retorno seja 1 (um), a liberação do pedido de venda seguirá o processo de liberação, caso o retorno seja diferente de 1 (um), o processo será interrompido. 


  •  


     Exemplo de uso do ponto de entrada:

Bloco de código
languagedelphi
titlePonto de Entrada
#INCLUDE "TOTVS.CH"

User Function FT210OPC()
Local nRet := 0
Local lNopc := paramixb[1] // igual a 1 libaração continua 

	If lNopc == 1 .And.LiberPed()
		nRet := 1
	EndIf

Return nRet 

Static Function LiberPed()
Local lRet   := .F.
Local cRisco   := ""
Local cCondPg  := ""
Local cNumPed  := ""
Local nTotVen  := 0 
Local aArea    := GetArea()
Local aAreSA1  := SA1->(GetArea()) 
Local aAreSC6  := SC6->(GetArea())
Local aAreaSE4 := SE4->(GetArea())

DbSelectArea("SE4")
DbSetorder(1)
DbSeek(xFilial("SE4")+SC5->C5_CONDPAG)
cCondPg := AllTrim(SE4->E4_COND) 

If cCondPg == "00"
	lRet := .T.  // Pg a vista pode seguir 
Else 
	DbSelectArea("SA1")
	DbSetorder(1)
	DbSeek(xFilial("SA1")+SC5->C5_CLIENTE+SC5->C5_LOJACLI )
	cRisco := SA1->A1_RISCO

	DbSelectArea("SC6")
	DbSetorder(1)
	DbSeek(xFilial("SC6")+SC5->C5_NUM  )
	cNumPed := SC5->C5_NUM 
	While !Eof() .And. cNumPed = SC6->C6_NUM 
		nTotVen := SC6->C6_VALOR
		SC6->(DbSkip())
	End 

	If nTotVen <= 100000 .And. cRisco $ "B,C, "
		lRet := .T.
	Else
		MsgAlert("Pedido nâo pode ser Liberado acione o Gerente")
	EndIf		

	RestArea(aAreSA1)
	RestArea(aAreSC6)	
EndIf	

ResTArea(aAreaSE4)
RestArea(aArea)

Return lRet