FAQs - Suporte técnico

MP - ADVPL - Manutenção de Contratos:Ponto de entrada MVC

Dúvida
Tem um exemplo do ponto de entrada MVC para o CNTA300?

Ambiente
Protheus – ADVPL – A partir da versão P12

Solução

#include 'protheus.ch'
#include 'parmtype.ch'

User Function CNTA300()

Local aParam     := PARAMIXB
Local xRet       := .T.
Local oObj       := ''
Local cIdPonto   := ''
Local cIdModel   := ''
Local lIsGrid    := .F.
Local cClasse := ""
Local nLinha     := 0
Local nQtdLinhas := 0
Local cMsg       := ''

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

       If     cIdPonto == 'MODELPOS'

             cMsg := 'Chamada na validação total do modelo (MODELPOS).' + CRLF
             cMsg += 'ID ' + cIdModel + CRLF            

             If !( xRet := ApMsgYesNocMsg + 'Continua ?' ) )
                    Help,, 'Help',, 'O MODELPOS retornou .F.', 1, 0 )
             EndIf

            

       ElseIf cIdPonto == 'FORMPOS'

             cMsg := 'Chamada na validação total do formulário (FORMPOS).' + CRLF
             cMsg += 'ID ' + cIdModel + CRLF            

             If      cClasse == 'FWFORMGRID'
                    cMsg += 'É um FORMGRID com ' + AlltrimStrnQtdLinhas ) ) + ;
'     linha(s).' + CRLF
cMsg += 'Posicionado na linha ' + AlltrimStrnLinha     ) ) + CRLF

             ElseIf cClasse == 'FWFORMFIELD'
                    cMsg += 'É um FORMFIELD' + CRLF
             EndIf
         
             If !( xRet := ApMsgYesNocMsg + 'Continua ?' ) )
                    Help,, 'Help',, 'O FORMPOS retornou .F.', 1, 0 )
             EndIf       

       ElseIf cIdPonto == 'FORMLINEPRE'

             If aParam[5] == 'DELETE'
cMsg := 'Chamada na pre validação da linha do formulário (FORMLINEPRE).' + CRLF
                    cMsg += 'Onde esta se tentando deletar uma linha' + CRLF
                    cMsg += 'É um FORMGRID com ' + AlltrimStrnQtdLinhas ) ) +;
' linha(s).' + CRLF
cMsg += 'Posicionado na linha ' + AlltrimStrnLinha     ) ) + CRLF
                    cMsg += 'ID ' + cIdModel + CRLF
                 
                    If !( xRet := ApMsgYesNocMsg + 'Continua ?' ) )
                           Help,, 'Help',, 'O FORMLINEPRE retornou .F.', 1, 0 )
                    EndIf
             EndIf
          
       ElseIf cIdPonto == 'FORMLINEPOS'

cMsg := 'Chamada na validação da linha do formulário (FORMLINEPOS).' + CRLF
             cMsg += 'ID ' + cIdModel + CRLF
             cMsg += 'É um FORMGRID com ' + AlltrimStrnQtdLinhas ) ) + ;
' linha(s).' + CRLF
             cMsg += 'Posicionado na linha ' + AlltrimStrnLinha     ) ) + CRLF            

             If !( xRet := ApMsgYesNocMsg + 'Continua ?' ) )
                    Help,, 'Help',, 'O FORMLINEPOS retornou .F.', 1, 0 )
             EndIf
          
       ElseIf cIdPonto == 'MODELCOMMITTTS'
ApMsgInfo('Chamada apos a gravação total do modelo e dentro da transação (MODELCOMMITTTS).' + CRLF + 'ID ' + cIdModel )
       
       ElseIf cIdPonto == 'MODELCOMMITNTTS'
ApMsgInfo('Chamada apos a gravação total do modelo e fora da transação (MODELCOMMITNTTS).' + CRLF + 'ID ' + cIdModel)
     
             //ElseIf cIdPonto == 'FORMCOMMITTTSPRE'         

       ElseIf cIdPonto == 'FORMCOMMITTTSPOS'

ApMsgInfo('Chamada apos a gravação da tabela do formulário (FORMCOMMITTTSPOS).' + CRLF + 'ID ' + cIdModel)
         
       ElseIf cIdPonto == 'MODELCANCEL'

cMsg := 'Chamada no Botão Cancelar (MODELCANCEL).' + CRLF + 'Deseja Realmente Sair ?'
         
             If !( xRet := ApMsgYesNocMsg ) )
                    Help,, 'Help',, 'O MODELCANCEL retornou .F.', 1, 0 )
             EndIf
          
       ElseIf cIdPonto == 'BUTTONBAR'

ApMsgInfo('Adicionando Botao na Barra de Botoes (BUTTONBAR).' + CRLF + 'ID ' + cIdModel )

xRet := { {'Salvar', 'SALVAR', { || Alert'Salvou' ) }, 'Este botao Salva' } }
           
       EndIf

EndIf

Return xRet

Saiba Mais
Ponto de Entrada Padrão do MVC
Boas práticas MVC

 

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

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 _