Desde o pacote LOGIX 12.1.26 está liberada funcionalidade de customização de formulários CRUD metadado, ou seja, formulários de cadastro.
A customização de formulários consiste em permitir que o cliente possa alterar formulários de cadastro padrões da TOTVS e realizar algumas ações como:
Atualmente os seguintes cadastros do metadado permitem customização de formulários padrões TOTVS:
Todos os eventos customizados fazem referências a funções desenvolvidas em um outro arquivo de extensão 4GL, que conterá a lista de funções que são respectivamente os eventos customizados registrados no formulário.
Para a customização metadado existe um padrão de desenvolvimento adotado pela Totvs e sugere-se manter o mesmo padrão para as customizações, apenas com algumas pequenas mudanças em algumas nomenclaturas de campos e funções, a fim de evitar transtornos com possíveis duplicidades de funções.
Aqui nesta seção serão apresentados o passo a passo para customizar um formulário padrão TOTVS, algumas dicas e padrões sugeridos para o desenvolvimento de customizações metadado.
O passo a passo para uma customização não requer muito esforço, mas requer bastante atenção, pois deve-se ter em mente que não se trata de um desenvolvimento de um formulário completo, mas apenas de um complemento a um formulário padrão da TOTVS já existente que não pode comprometer negativamente o funcionamento do formulário padrão.
A customização de um formulário, em poucas palavras, resume-se a alterar toda e qualquer informação existente no formulário que permita informar ou trocar um valor já preenchido que faça parte de informações do formulário padrão liberado pela TOTVS.
Os eventos disponíveis nos formulários que permitem customização são identificados com o termo USER como prefixo, como por exemplo USER BEFORE LOAD, USER AFTER FIELD, USER AFTER INSERT, USER CONFIRM, etc. Estes eventos de usuário estão disponíveis nos quatro formulários citados logo acima (FRM1001, FRM1002, FRM1009 e FRM1016).
Para habilitar a customização dos formulários padrões TOTVS no Metadados é necessário ativar a chave de profile logix.metadata.customEnabled, atribuindo a ela o valor 1 (Ativo). Para mais informações sobre esta chave acesse Chaves de configuração no Profile - Freeform / Metadados.
Sim, para criar novos formulários no metadado e demais entidades relacionadas que formam um formulário é preciso, além de ter permissões de acesso para os programas com prefixo FRM, setar valor para chave de profile logix.metadata.resPrefix. O valor a ser informado deverá ser a sigla de prefixo que será considerado para nomear todos os novos formulários específicos que venham a ser incluídos no Logix. Esta chave permite informar mais do que uma sigla. Para mais informações sobre como registrar o valor desta chave acesse Chaves de configuração no Profile - Freeform / Metadados.
A cópia de formulários padrões irá automaticamente criar novos formulários específicos, pois estas cópias tratam-se de novos formulários e, com isso, deixam de ser padrões e passam a ser ESPECÍFICOS.
O formulário customizado trata-se de um formulário padrão TOTVS que possui algumas informações complementares que o você registrou.
A partir do pacote 12.1.2309, ao acessar os programas de cadastros de formulários metadado e consultar algum formulário que tenha uma customização registrada, será exibido um alerta no topo da tela para indicar (Formulário Customizado).
É possível acessar a todas informações dos campos e da maioria dos componentes de tela do formulário padrão com base no código de referência do formulário, tabela e/ou coluna desejados.
TABELAS
COLUNAS
BARRA DE FERRAMENTAS
TABELAS
COLUNAS
BARRA DE FERRAMENTAS
Por padrão a maioria dos eventos do metadado sempre executa primeiramente o evento definido para o formulário padrão Totvs e na sequência o evento customizado (evento de usuário).
Veja na tabela abaixo que existe apenas uma exceção onde o evento não é executado neste ordem:
Evento | Acionado ANTES do evento padrão | Acionado APÓS o evento padrão |
---|---|---|
BEFORE LOAD | X | |
AFTER LOAD | X | |
BEFORE ZOOM | X | |
AFTER_ZOOM | X | |
BEFORE FIELD | X | |
VALID FIELD | X | |
AFTER FIELD | X | |
BEFORE INSERT ROW | X | |
AFTER INSERT ROW | X | |
BEFORE ROW | X | |
AFTER ROW | X | |
BEFORE DELETE ROW | X | |
AFTER DELETE ROW | X | |
BEFORE INPUT OPERATION | X | |
CANCEL INPUT OPERATION | X | |
BEFORE CONFIRM OPERATION | X | |
CONFIRM OPERATION | X | |
AFTER CONFIRM OPERATION | X |
Se existirem novas tabelas a serem incluídas na customização de um formulário, após criadas no banco de dados, é preciso registrar o cadastro destas tabelas com seus respectivos chave primária, índices, chaves estrangeiras e legendas no metadado (FRM1007)
Alterar o formulário padrão, incluindo as novas colunas, eventos e ajustes necessários com as informações customizadas.
Avaliar alterações na barra de ferramentas do formulário padrão, caso exista necessidade de customizar ou criar novas operações para atender a customização.
Com a parte do cadastro de formulário metadado totalmente ajustado, agora é o momento de implementar o código fonte 4GL com a lista das funções registradas na customização do formulário.
Durante a fase de desenvolvimento e testes é totalmente normal que exista necessidade de ajustes tanto no código fonte 4GL, quanto nos formulários para adaptar o correto funcionamento dos eventos da customização.
Após concluída a customização, não esqueça de exportar a customização do formulário via sincronizador metadado e SALVE o arquivo XML e o código fonte 4GL em seu repositório de fontes customizados, para backup e no uso em futuras manutenções.
Para disponibilizar a customização em outra base ou ambiente, seja teste, homologação ou produção, basta compilar o fonte 4GL da customização e importar o XML que contém a customização do formulário.
Atente que no programa Sincronizador Metadado existe uma opção para que você exporte apenas as customizações. É importante que assinale apenas a opção de exportar as customizações para evitar a exportação de recursos padrões, que numa futura importação de XML pode acabar sobrepondo informações padrões metadado do Logix que podem ter sido alteradas em alguma atualização de pacote do produto. |
Apesar das telas de cadastro que permitem customização darem acesso a alterar muitas informações, deve-se tomar cuidado na mudança de Agrupamento de componentes, ordenação de campos, máscaras de edição que podem comprometer o funcionamento padrão do programa/formulário.
Se alguma alteração realizada gerar impacto, basta desfazer a alteração e realizar novos testes até que a customização desejada esteja completamente funcional.
As informações de formulários específicos e customizados do Logix são armazenados em uma lista de tabelas isoladas das tabelas dos formulários padrões Totvs.
As tabelas envolvidas são:
Tabela | Descrição |
---|---|
frm_user_toolbar | Barra de Ferramentas |
frm_user_form | Formulários de cadastro (CRUD) |
frm_user_form_table | Tabelas dos formulários |
frm_user_form_component | Componentes dos formulários |
frm_user_form_group | Grupos de componentes dos formulários |
fm_user_virtual_column | Colunas virtuais dos formulários |
frm_user_virtual_column_legend | Legendas de colunas virtuais dos formulários |
frm_user_control | Controle de recursos específicos |
|
Exemplo de Customização
Anexo está o arquivo log02700_custom.zip que contém arquivo fonte .4gl de customização do formulário padrão log02700 do Logix. A customização consiste na gravação e consulta de dados em uma nova tabela, com 2 novos campos adicionados a tela do formulário padrão conforme sinalizado em vermelho abaixo.
ANEXO: