Árvore de páginas

Ponto-de-Entrada: MT120OK - Validações Específicas de Usuário


Versões:Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Microsiga Protheus 10
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Idiomas:Espanhol , Inglês


Descrição:

LOCALIZAÇÃO : Function A120TudOk() responsável pela validação de todos os itens da GetDados do Pedido de Compras / Autorização de Entrega.

EM QUE PONTO : O ponto se encontra no final da função e é disparado após a confirmação dos itens da getdados e antes do rodapé da dialog do PC, deve ser utilizado para validações especificas do usuario onde será controlada pelo retorno do ponto de entrada oqual se for .F. o processo será interrompido e se .T. será validado.

Eventos


 

Programa Fonte
MATA120.PRX
Sintaxe

MT120OK - Validações Específicas de Usuário ( ) --> lRetorno

Retorno
lRetorno
    (logico)
  • Se .T. linha validada segue o processo
    Se .F. interrompe o processo
Observações


Exemplo
#INCLUDE "TOTVS.ch"
#INCLUDE "rwmake.ch"
#INCLUDE "TBICONN.ch"
#INCLUDE "FWMVCDEF.CH"


User Function  MT120OK()
    Local nPosPrd    := aScan(aHeader,{|x| AllTrim(x[2]) == 'C7_PRODUTO'})
    Local nPosQtd    := aScan(aHeader,{|x| AllTrim(x[2]) == 'C7_QUANT'})
    Local nPosPrc    := aScan(aHeader,{|x| AllTrim(x[2]) == 'C7_PRECO'})
    Local lValido   := .T.
    Local nX        := 0 
    
    For nX :=1 To Len( aCols )     
        If ( !aCols[nx][Len(aCols[nX])] .And. !Empty(aCols[nX][nPosPrd]) )         
            If ( Empty(aCols[nX][nPosQtd]) .Or. Empty(aCols[nX][nPosPrc]) )             
                lValido := .F.             
                Exit         
            EndIf     
        EndIf
    Next nX
    
Return(lValido)


Exemplos
User Function  MT120OK()Local nPosPrd    := aScan(aHeader,{|x| AllTrim(x[2]) == 'C7_PRODUTO'})Local nPosQtd    := aScan(aHeader,{|x| AllTrim(x[2]) == 'C7_QUANT'})Local nPosPrc    := aScan(aHeader,{|x| AllTrim(x[2]) == 'C7_PRECO'})Local lValido := .T.Local nX       := 0 For nX :=1 To Len( aCols )     If ( !aCols[nx][Len(aCols[nX])] .And. !Empty(aCols[nX][nPosPrd]) )         If ( Empty(aCols[nX][nPosQtd]) .Or. Empty(aCols[nX][nPosPrc]) )             lValido := .F.             Exit         EndIf     EndIfNext nXReturn(lValido)