Dúvida
Pontos de entrada MVC da rotina MATA010.
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - ADVPL – Todas versões
Solução
O ID do modelo da dados da rotina MATA010 é ITEM, assim sendo, a assinatura da função de usuário deve ser User Function ITEM().
Observação
O nome do arquivo.prw não poderá ser o mesmo da user function.
Exemplo
#include "protheus.ch"#include "parmtype.ch"User Function ITEM()Local aParam := PARAMIXBLocal xRet := .T.Local oObj := ""Local cIdPonto := ""Local cIdModel := ""Local lIsGrid := .F.Local nLinha := 0Local nQtdLinhas := 0Local cMsg := ""If aParam <> NILoObj := aParam[1]cIdPonto := aParam[2]cIdModel := aParam[3]lIsGrid := (Len(aParam) > 3)If cIdPonto == "MODELPOS"cMsg := "Chamada na validação total do modelo." + CRLFcMsg += "ID " + cIdModel + CRLFxRet := ApMsgYesNo(cMsg + "Continua?")ElseIf cIdPonto == "FORMPOS"cMsg := "Chamada na validação total do formulário." + CRLFcMsg += "ID " + cIdModel + CRLFIf lIsGridcMsg += "É um FORMGRID com " + Alltrim(Str(nQtdLinhas)) + " linha(s)." + CRLFcMsg += "Posicionado na linha " + Alltrim(Str(nLinha)) + CRLFElsecMsg += "É um FORMFIELD" + CRLFEndIfxRet := ApMsgYesNo(cMsg + "Continua?")ElseIf cIdPonto == "FORMLINEPRE"If aParam[5] == "DELETE"cMsg := "Chamada na pré validação da linha do formulário. " + CRLFcMsg += "Onde esta se tentando deletar a linha" + CRLFcMsg += "ID " + cIdModel + CRLFcMsg += "É um FORMGRID com " + Alltrim(Str(nQtdLinhas)) + " linha(s)." + CRLFcMsg += "Posicionado na linha " + Alltrim(Str(nLinha)) + CRLFxRet := ApMsgYesNo(cMsg + " Continua?")EndIfElseIf cIdPonto == "FORMLINEPOS"cMsg := "Chamada na validação da linha do formulário." + CRLFcMsg += "ID " + cIdModel + CRLFcMsg += "É um FORMGRID com " + Alltrim(Str(nQtdLinhas)) + " linha(s)." + CRLFcMsg += "Posicionado na linha " + Alltrim(Str(nLinha)) + CRLFxRet := ApMsgYesNo(cMsg + " Continua?")ElseIf cIdPonto == "MODELCOMMITTTS"ApMsgInfo("Chamada após a gravação total do modelo e dentro da transação.")ElseIf cIdPonto == "MODELCOMMITNTTS"ApMsgInfo("Chamada após a gravação total do modelo e fora da transação.")ElseIf cIdPonto == "FORMCOMMITTTSPRE"ApMsgInfo("Chamada após a gravação da tabela do formulário.")ElseIf cIdPonto == "FORMCOMMITTTSPOS"ApMsgInfo("Chamada após a gravação da tabela do formulário.")ElseIf cIdPonto == "MODELCANCEL"cMsg := "Deseja realmente sair?"xRet := ApMsgYesNo(cMsg)ElseIf cIdPonto == "BUTTONBAR"xRet := {{"Salvar", "SALVAR", {||u_TSMT010()}}}EndIfEndIfReturn xRetUser Function TSMT010()Alert("Buttonbar")Return NIL
Saiba mais
ADV0041 PE MVC MATA010
0 Comentários