Tempo aproximado para leitura: 00:02:00 min
Dúvida
Como saber se estou em uma operação de cópia em um ponto de entrada MVC (Model-View-Controller)?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – ADVPL – A partir da versão 11.80
Solução
Para retornar se a operação é uma cópia ou não, utilize o método IsCopy() da classe FwFormModel().
Exemplo
User Function ITEM()
Local aParam := PARAMIXB
Local xRet := .T.
Local oObj := ""
Local cIdPonto := ""
Local cIdModel := ""
Local lIsGrid := .F.
Local oModelX := nil
If aParam <> NIL
oObj := aParam[1]
cIdPonto := aParam[2]
cIdModel := aParam[3]
lIsGrid := ( Len( aParam ) > 3 )
If cIdPonto == 'FORMPRE'
oModelX := FwModelActive()// Instancia modelo ativo
oMedelB1 := oModelX:GetModel("SB1MASTER") //Instancia sub-modelo SB1
If oModelX:IsCopy() //Verifica se é uma operação de copia
// CUSTOMIZAÇÕES DO USUÁRIO (VALIDAÇÃO DE CAMPO, INSERÇÃO DE VALORES E ETC)
MsgInfo("FORMPRE - Operação de cópia")
xRet := .T.//Mantem o retorno para validação FORMPOS como .T., alterar se for necessário
EndIf
EndIf
EndIf
Return xRet
Saiba mais
Cross Segmento - TOTVS Backoffice Linha Protheus - ADVPL - Ponto de entrada MVC para as rotinas MATA010, MATA020 e MATA030
CLASSE FWFORMMODEL
0 Comentários