Á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 de liberação de regra e verba


Versões:Microsiga Protheus 8.11 , Microsiga Protheus 1012
Idiomas:Espanhol , InglêsTodos


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
FATA210.PRW


Sintaxe

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


Parâmetros:


NomeTipoDescriçãoDefaultObrigatórioReferência
nOpcaNumérico1- Confirmada a liberação de regra e verba
PARAMIXB[1]Array of RecordX


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. Valor numérico da opção, sendo:
    • 0 - Interrompe a liberação da regra e verba
    • 1 - Prossegue a liberação da regra e verba


         Exemplo de uso do ponto de entrada:

    delphicollapse
    Bloco de código
    language
    actionscript3
    titlePonto de Entrada
    linenumbers
    true
    true
    #INCLUDE "TOTVS.CH"
    
    User Function FT210OPC()
    
    Local _nRet  := 
    0
    1
    Local 
    lNopc
    _nOpca := 
    paramixb
    Paramixb[1] // Default: igual a 1 
    libaração
    liberaçã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  
    //Bloqueia a liberação do Cliente: 000001 / Loja: 02
    If _nOpca == 1 .And. SC5->C5_CLIENTE == "000001" .And. SC5->C5_LOJACLI == "02"
    	_nRet := 0	//Interrompe a liberação
    EndIf
    
    Return _nRet