Há três principais formas de se criar uma rotina de cadastro, utilizando-se as funções AxCadastro, MBrowse ou o padrão MVC.

Para rotinas muito simples, onde toda a regra encontra-se dentro do dicionário de dados (SX3), utilizava-se principalmente a rotina AxCadastro, que oferece o framework necessário para a listagem dos registros existentes (browse) e para sua manutenção (visualização, inclusão, alteração e exclusão).

Nas rotinas mais complexas, onde é interessante fazer vários controles de validação ou então utilizar mais de uma tabela (cadastro pai-filho, etc.), utilizava-se com frequência a rotina MBrowse, acompanhada das funções responsáveis para cada operação.

O MVC foi criado com o objetivo de simplificar este processo, podendo ser utilizado para qualquer tipo de rotina de cadastro, seja ela simples ou complexa. Além disso, o MVC oferece uma série de vantagens de desempenho e usabilidade. Desta forma, recomenda-se fortemente o seu uso em todas as novas rotinas de cadastro.

Para mais detalhes e exemplos de como construir uma rotina em MVC, consulte a documentação existente no TDN (busque por “ADVPL utilizando MVC”).

As rotinas de cadastro geralmente são divididas em seções, exemplo:

 

  • Browse: Nesta seção definimos o Alias (tabela) principal do formulário, a descrição da rotina e outras opções relativas ao modo de visualização dos registros da tabela, tais como: Filtros, Perguntas, Legenda e Opções do padrão de operação disponíveis.
  • Menu de operações da rotina: Nesta seção definimos quais operações estarão disponível para o usuário final. As opções mais comuns são: Pesquisa, Inclusão, Alteração, Visualização e Exclusão.
  • Regra de negócio: Aqui definimos a estrutura do formulário, como as tabelas dele se relacionam e quais são as funções de validação para cada estrutura e para todo o formulário. Tenha como hábito inserir a validação correta em cada uma das estruturas.
  • Interface: Nesta seção definimos os elementos gráficos que serão utilizados no formulário e a relação que estes elementos têm com a seção de regra de negócio. Apesar de esta seção permitir outros elementos gráficos, evite utilizá-los, pois durante as constantes mudanças de versão e release da linha Microsiga Protheus pode haver necessidade de retrabalho, o que não ocorre para os elementos do Framework citados. Outra razão para não usar outros elementos gráficos está na dificuldade de customização: lembre-se que o maior argumento de venda da Linha Microsiga Protheus é a flexibilidade, sendo assim uma interface não flexível irá causar retrabalho por solicitação do cliente.
  • Validação: Nesta seção devem-se inserir todas as funções utilizadas para validação dos formulários.
  • Gravação (opcional): Para rotinas que utilizam AxCadastro, a gravação é feita automaticamente, assim como nas rotinas feitas em MVC. Entretanto, caso haja necessidade de acrescentar detalhes antes ou após a gravação padrão do MVC, é disponibilizado pontos que o desenvolvedor pode incrementar as necessidades de gravação.
  • Demais funcionalidades do formulário (opcional): Esta seção engloba as funções complementares da interface (VIEW), tais como novos botões na barra de ferramenta ou outros componentes específicos da interface.
  • Sem rótulos