Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmento - TOTVS Backoffice Linha Protheus - ADVPL - Ponto de entrada mvc Mata094

time.pngTempo aproximado para leitura: 00:03:00 min

Dúvida

Quais são os pontos de entrada MVC para a rotina MATA094?

Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – ADVPL– A partir da versão 11.8

Solução
A ideia de ponto de entrada, para fontes desenvolvidos utilizando-se o conceito de MVC e suas classes, é um pouco diferente dos fontes desenvolvidos de maneira convencional.
Em MVC criamos um único ponto de entrada e este é chamado em vários momentos dentro do fonte desenvolvido.
Este ponto de entrada único deve ser uma função de usuário e ter como nome o id (identificador) do modelo de dados (model) do fonte.
Ao se escrever um fonte em MVC que será uma User Function, cuidado ao se atribuir o ID do modelo de dados (Model), pois ele não poderá ter o mesmo nome do fonte. Se o fonte tiver o nome FONT001, o ID do Modelo de Dados (Model) não poderá ser também FONT001

#Include "TOTVS.ch"
#Include "FWMVCDEF.ch"

User Function MATA094 ()
Local aParam := PARAMIXB
Local xRet := .T.
Local oObj := ""
Local cIdPonto := ""
Local cIdModel := ""
Local lIsGrid := .F.
Local nLinha := 0
Local nQtdLinhas := 0
Local cMsg := ""
Local nOp

If (aParam <> NIL)
oObj := aParam[1]
cIdPonto := aParam[2]
cIdModel := aParam[3]
lIsGrid := (Len(aParam) > 3)

nOpc := oObj:GetOperation() // PEGA A OPERAÇÃO

If (cIdPonto == "MODELPOS")
cMsg := "Chamada na validação total do modelo." + CRLF
cMsg += "ID " + cIdModel + CRLF
IF nOp == 3
Alert('inclusão')
ENDIF

xRet := MsgYesNo(cMsg + "Continua?")
ElseIf (cIdPonto == "MODELVLDACTIVE")
cMsg := "Chamada na ativação do modelo de dados."

xRet := MsgYesNo(cMsg + "Continua?")
ElseIf (cIdPonto == "FORMPOS")
cMsg := "Chamada na validação total do formulário." + CRLF
cMsg += "ID " + cIdModel + CRLF

If (lIsGrid == .T.)
cMsg += "É um FORMGRID com " + Alltrim(Str(nQtdLinhas)) + " linha(s)." + CRLF
cMsg += "Posicionado na linha " + Alltrim(Str(nLinha)) + CRLF
Else
cMsg += "É um FORMFIELD" + CRLF
EndIf

xRet := MsgYesNo(cMsg + "Continua?")
ElseIf (cIdPonto =="FORMLINEPRE")
If aParam[5] =="DELETE"
cMsg := "Chamada na pré validação da linha do formulário." + CRLF
cMsg += "Onde esta se tentando deletar a linha" + CRLF
cMsg += "ID " + cIdModel + CRLF
cMsg += "É um FORMGRID com " + Alltrim(Str(nQtdLinhas)) + " linha(s)." + CRLF
cMsg += "Posicionado na linha " + Alltrim(Str(nLinha)) + CRLF

xRet := MsgYesNo(cMsg + " Continua?")
EndIf
ElseIf (cIdPonto =="FORMLINEPOS")
cMsg := "Chamada na validação da linha do formulário." + CRLF
cMsg += "ID " + cIdModel + CRLF
cMsg += "É um FORMGRID com " + Alltrim(Str(nQtdLinhas)) + " linha(s)." + CRLF
cMsg += "Posicionado na linha " + Alltrim(Str(nLinha)) + CRLF

xRet := MsgYesNo(cMsg + " Continua?")
ElseIf (cIdPonto =="MODELCOMMITTTS")
MsgInfo("Chamada após a gravação total do modelo e dentro da transação do MVC.")
ElseIf (cIdPonto =="MODELCOMMITNTTS")
MsgInfo("Chamada após a gravação total do modelo e fora da transação do MVC.")
ElseIf (cIdPonto =="FORMCOMMITTTSPRE")
MsgInfo("Chamada após a gravação da tabela do formulário.")
ElseIf (cIdPonto =="FORMCOMMITTTSPOS")
MsgInfo("Chamada após a gravação da tabela do formulário.")
ElseIf (cIdPonto =="MODELCANCEL")
cMsg := "Deseja realmente sair?"

xRet := MsgYesNo(cMsg)
ElseIf (cIdPonto =="BUTTONBAR")
xRet := {{"Botão", "BOTÃO", {|| MsgInfo("Buttonbar")}}}
EndIf
EndIf
Return (xRet)


Saiba mais
PONTO DE ENTRADA PADRÃO DO MVC
COMO VALIDAR SE A ROTINA PROTHEUS JÁ ESTÁ NO PADRÃO MVC?

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 2

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _