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

Cross Segmento - TOTVS Backoffice (Linha Protheus) - ADVPL - Ponto de entrada MVC CRMA980

Cross Segmento - TOTVS Backoffice (Linha Protheus) - ADVPL - Ponto de entrada MVC CRMA980

Dúvida
Ponto de entrada MVC CRMA980

Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - ADVPL – Todas versões

Solução
Para utilizar os pontos de entrada da rotina MATA030 no padrão MVC, altere para .T. o parâmetro MV_MVCSA1.
O ID do modelo da dados da rotina MATA030 é CRMA980, assim sendo, a assinatura da função de usuário deve ser; Exemplo: User Function MYCRMA980().
Obs.: O nome do arquivo.prw e user function, não poderá ser o mesmo do fonte padrão CRMA980, pois o MVC não faz a tratativa igual o ADVPL sobre o nome da função.

Cross Segmento - TOTVS Backoffice (Linha Protheus) - SIGAFAT - Incidente There is a source name conflict ao utilizar Ponto de Entrada


Exemplo

#include "Protheus.ch"
#include "FWMVCDEF.CH"

Static __LogTela    := NIL

//-------------------------------------------------------------------

/*/{Protheus.doc} MyCRMA980

Ponto de Entrada do Cadastro de Clientes (MVC)
@param      Nao ha
@return     Varios. Dependerá de qual PE esta sendo executado.
@author     Faturamento
@version    12.1.17 / Superior
@since      Mai/2021
/*/

//-------------------------------------------------------------------

User Function MYCRMA980() ///cXXX1,cXXX2,cXXX3,cXXX4,cXXX5,cXXX6
  Local aParam        := PARAMIXB
  Local xRet          := .T.
  Local lIsGrid       := .F.
//  Local nLinha        := 0
//  Local nQtdLinhas    := 0
//  Local cRotMVC       := "CRMA980"
  Local cIDPonto      := ''
  Local cIDModel      := ''
//  Local cIDForm       := ''
//  Local cEvento       := ''
//  Local cCampo        := ''
//  Local cConteudo     := ''
//  Local cMsg          := ''
    Local oObj          := NIL

    If __LogTela == NIL
        __LogTela   := ApMsgYesNo("A geracao do 'LOG de processamento' dos PE 'CRMA980' (MVC) sera exibido em TELA?" + CRLF + CRLF +;
          'SIM = TELA' + CRLF +;
          'NAO = CONSOLE do AppServer')
  EndIf

    If aParam <> NIL
      oObj        := aParam[1]
      cIDPonto    := aParam[2]
      cIDModel    := aParam[3]
      lIsGrid     := (Len(aParam) > 3)
      nOperation := oObj:GetOperation()

        If cIDPonto == 'MODELCOMMITTTS'
         // Mostra o tipo de Operacao
          //MsgAlert("Operacao " + CValToChar(nOperation), "Tipo de operacao MODELCOMMITTTS")
          // Inclusao

            If nOperation == 3
              MsgAlert("Entrou no PE - Operacao de Inclusao", "Tipo de operacao 3 MODELCOMMITTTS")
          EndIf

            // Alteracao
          If nOperation == 4
              MsgAlert("Entrou no PE - Operacao de Alteracao", "Tipo de operacao 4 MODELCOMMITTTS")
          EndIf

            // Exclusao
          If nOperation == 5
              MsgAlert("Entrou no PE - Operacao de Exclusao", "Tipo de operacao 5 MODELCOMMITTTS")
          EndIf
      EndIf
  EndIf
Return xRet

Saiba mais
Todos os pontos de entrada terão seu legado mantido, salvo os pontos que consideramos como pontos padrões (ex: validação após a gravação e botões que serão substituídos), os pontos que trazem conteúdo do sistema por PARAMIXB, esses serão mantidos com suas particularidades.

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

4 Comentários

  • Avatar
    Carlos Henrique de Oliveira (Editado )

    Totvs uma pergunta.

    O nome do fonte eu concordo em alterar, agora se eu mudar o nome da User Function, como o Protheus irá saber sobre qual ponto de entrada e de qual rotina se trata?

    Como o Protheus vai entender que a User Function MYCRMA980.PRW() se trata do Ponto de Entrada da rotina CRMA980, sendo que esse não é o nome definido no modelo de dados?

    1
    Ações de comentário Permalink
  • Avatar
    Setor de Tecnologia

    Estou tendo o mesmo problema... 

    1
    Ações de comentário Permalink
  • Avatar
    LUCAS LISBOA

    Tive o mesmo problema dos outros dois comentários.

    Para resolver o problema, deve-se declarar o nome do arquivo como MyCRMA980.PRW (ou qualquer outro nome que não seja CRMA980.PRW) e dentro do arquivo deve ser "User Function CRMA980"

    0
    Ações de comentário Permalink
  • Avatar
    Fernando da Silva

    Obrigado Lucas Lisboa, sua informação foi crucial para a evolução da correção.

    0
    Ações de comentário Permalink
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 _