ADVPL - Ponto de entrada em MVC
Autor: Eurai Criado: 28/08/2021 Atualizado: 04/09/2021
Segue abaixo a um exemplo de PE em MVC para o cadastro de produto, me pediram esse exemplo a um tempo atrás.
No PE MVC, é recebido no parãmetro um array com os objetos e valores da classe. Com esses valores é possível recuperar o model (modelo) e o ponto a ser executado.
Existem diversos pontos para realizar a customização, Antes da confirmação do modelo, pós confirmação do modelo, dentro da transação (TTS), fora da transação (TTS), etc.
Neste exemplo, trago 3 pontos como exemplos.
#INCLUDE "TOTVS.CH" #INCLUDE 'FWMVCDEF.CH' /*/{Protheus.doc} MATA010 Ponto de Entrada do Cadastro de Produto. @type function @author Eurai Rapelli @since 2021.08.28 @obs http://tdn.totvs.com/display/public/PROT/ADV0041_PE_MVC_MATA010_P12 /*/ User Function ITEM() Local aParam := PARAMIXB Local xRet := .T. Private oUAObj := Nil Private cIdPonto := '' Private cIdModel := '' Private cClasse := '' Private cCRLF := CRLF Begin Sequence If aParam <> NIL oUAObj := aParam[1] cIdPonto := aParam[2] cIdModel := IIf( oUAObj <> NIL, oUAObj:GetId(), aParam[3] ) cClasse := IIf( oUAObj <> NIL, oUAObj:ClassName(), '' ) If cIdPonto == 'MODELVLDACTIVE' ElseIf cIdPonto == 'MODELPOS' If !(xRet := fModelPos()) Break Endif ElseIf cIdPonto == 'MODELCOMMITTTS' Endif Endif End Sequence Return( xRet ) /*/{Protheus.doc} fModelPos Validacao do Modelo @type function @author Eurai Rapelli @since 2021.08.28 @obs http://tdn.totvs.com/display/public/PROT/ADV0041_PE_MVC_MATA010_P12 /*/ Static Function fModelPos() Local lRet := .T. Begin Sequence If oUAObj:GetOperation() == MODEL_OPERATION_INSERT .OR. oUAObj:GetOperation() == MODEL_OPERATION_UPDATE //Inserçao ou alteração Endif End Sequence Return( lRet )
Gostou? Compartilhe com seus amigos e deixe um comentário! 😎
Um abraço, e até a próxima
Discussão (0)
Sem comentários ainda
Realize o LOGIN no site para poder comentar