🧩 Ponto de Entrada CRMA980 — Manipulação de Cliente (MATA030)
Salve salve.... 😄
Hoje apresento o Ponto de Entrada CRMA980, utilizado no módulo de Faturamento / Cadastro de Cliente (MATA030). Esse PE segue o padrão MVC e permite validar e manipular dados do cliente durante o processo de inclusão, alteração ou gravação ✔️.
Arquivo: xCRMA980.tlpp
#INCLUDE "TOTVS.CH"
/*/{Protheus.doc} CRMA980
Manipulação de Cliente. MATA030. Ponto de Entrada MVC
@type function
@author Eurai Rapelli
@since 2023.01.01
/*/
User Function CRMA980()
Local aParam := PARAMIXB as array
Local xRet := .T. AS Variant
Private oUDObj := Nil as object
Private cIdPonto := '' as character
Private cIdModel := '' as character
Private cClasse := '' as character
Private cCRLF := CRLF as character
Begin Sequence
If aParam <> NIL
oUDObj := aParam[1]
cIdPonto := aParam[2]
cIdModel := IIf( oUDObj <> NIL, oUDObj:GetId(), aParam[3] )
cClasse := IIf( oUDObj <> NIL, oUDObj:ClassName(), '' )
If cIdPonto == 'MODELVLDACTIVE'
ElseIf cIdPonto == 'MODELPOS'
If !(xRet := fModelPos())
Break
Endif
ElseIf cIdPonto == 'MODELCOMMITTTS'
// fMODELCOMMITTTS()
Endif
Endif
End Sequence
Return( xRet )
/*/{Protheus.doc} fModelPos
Validação do Modelo
/*/
Static Function fModelPos()
Local lRet := .T. as logical
Begin Sequence
// Validações aqui
End Sequence
Return( lRet )
/*/{Protheus.doc} fMODELCOMMITTTS
fMODELCOMMITTTS
/*/
Static Function fMODELCOMMITTTS()
Return( Nil )
Esse PE permite intervir em fases estratégicas do fluxo MVC: • MODELVLDACTIVE — antes da interação com o modelo • MODELPOS — após atualização do modelo (é aqui que geralmente validamos) • MODELCOMMITTTS — antes da gravação definitiva
Com essa estrutura, você pode incluir validações, logs, integrações, ajustes de dados ou bloqueios de acordo com a necessidade do negócio 🔧✨.
Gostou? Compartilhe com seus amigos e deixe um comentário! 😎
Um abraço, e até a próxima! 👋
#protheus #advpl #crma980 #mata030 #cadastro de cliente #ponto de entrada #mvc protheus #totvsprotheus #validacao mvc #faturamento protheus #programacaoadvpl