Histórico da Página
Como utilizar os pontos de entrada da rotina MATA010 na P12
Produto: | Protheus ADVPL | |||||||||||||||
Versões: | P12 | |||||||||||||||
Ocorrência: | Pontos de entrada M010ALT, A010TOK, M010INC, M010VLD, (...), não estão sendo chamados na P12 | |||||||||||||||
Passo a passo: | DESCRIÇÃOApós a conversão de rotinas antigas para o novo padrão de desenvolvimento MVC, não é mais possível utilizar pontos de entrada antes disponíveis nestas rotinas, da forma que vinham sendo utilizados. Desta forma o presente documento tem como objetivo apresentar uma nova forma de utilização destes pontos de entrada no padrão MVC para a nova rotina de Cadastro de Produtos (MATA010). COMO VERIFICAR?Verifique no dicionário de dados se na tabela SX3 consta a tabela G3Q, caso conste, sua rotina já está no padrão MVC. COMO FUNCIONA?A partir de agora, você terá todos os pontos de entradas concentrados em apenas um único arquivo. Arquivo o qual, terá acesso a todos os pontos de entrada disponíveis no padrão MVC. No momento em que o ponto entrada compilado for chamado, será possível receber o id do modelo de dados,e este id será uma informação do tipo caractere que será passada da lib para a variável PARAMIXB e irá variar de acordo com o momento, assim sendo será possível a partir dela, detectar em que momento da rotina estamos. COMO TESTAR?Compile uma função de usuário com o id do modelo de dados da rotina MATA010, neste caso o id será ITEM (este é o nome do ponto de entrada MVC da MATA010), receba o valor de PARAMIXB e retorne uma variável lógica recebendo .T. conforme exemplo abaixo:
Com este exemplo, uma vez colocado um ponto de entrada na linha 6, será possível verificar na posição 2 da variável APARAM todos os ids disponíveis por meio do modelo MVC na rotina e seus respectivos ids. COMO MIGRAR OS PONTOS ANTIGOS PARA OS NOVOS?Supondo que anteriormente fosse utilizado o ponto A010TOK para a validação total dos dados inseridos pelo usuário, e também foi identificado que o id FORMPOS é chamado após a confirmação do processo e o mesmo tem retorno lógico, iremos retirar os dados de validação de um e aplicar ao outro da seguinte forma: FONTE: A010TOK.prw
FONTE: MT010_MVC.prw
EM CASO DE DÚVIDAS1) Acesse o link http://tdn.totvs.com/display/public/PROT/ADV0041_PE_MVC_MATA010_P12; 2) Copie o exemplo completo e cole em um arquivo *.prw (exemplo: MT010_MVC.prw); 3) Compile o ponto de entrada e insira um ponto de parada na linha que cita If aParam <> NIL; 4) Acesse a rotina MATA010 debugando e realize o cadastro de um novo produto; 5) A partir deste ponto, será possível ver cada id dos momentos de validação; ADVPL ATUALO modelo MVC é um novo modo de codificar em ADVPL, assim sendo será necessária uma análise das documentações referente ao mesmo, para tal vide área de Observações para saber mais. | |||||||||||||||
Observações: | Para saber mais: • Arquitetura MVC acesse: ADVPL utilizando MVC • Acessando o modelo de dados: MPFormModel • Utilização de pontos de entrada no padrão MVC acesse: Pontos de Entrada para fontes ADVPL desenvolvidos utilizando o conceito MVC • Pontos de entrada MVC: Ponto de Entrada Padrão do MVC • Exemplo MATA010: Pontos de Entrada MVC MATA010 na P12 |