Á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. 

  • Bloco de código
    languagedelphi
    titlePonto de Entrada
    linenumberstrue
    collapsetrue
    #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 
    
    































  •