Páginas filhas
  • Customização - Metadado Logix - LGX


Conceito



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:

  • Acrescentar novos campos customizados
  • Permite que novos campos sejam relacionados com tabelas do formulário padrão;
  • Permite que novos campos sejam incluídos ou não na listagem de relatório padrão do formulário, quando o relatório previsto no formulário for no modelo automático gerado pelo metadado;
  • Permite adicionar novos componentes tela, usando para isso o desenvolvimento em FreeForm;
  • Ocultar campos que não são utilizados;
  • Adicionar alguns eventos complementares em campos ou em operações do menu do formulário;
  • Acrescentar novas operações customizadas no menu do formulário;
  • Modificar comportamentos de zoom, habilitar e desabilitar informações;
  • Implementar restrições adicionais de acesso;


Atualmente os seguintes cadastros do metadado permitem customização de formulários padrões TOTVS:

  • FRM1001 (Barra de Ferramentas)
  • FRM1002 (Formulários CRUD)
  • FRM1009 (Colunas Virtuais)  Apenas de formulários CRUD
  • FRM1016 (Legendas de Colunas Virtuais) Apenas de formulários CRUD


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.


Passo a passo


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).


O que devo fazer para que o Logix permita customizar formulários metadado?

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

Para criar novos formulários, preciso de alguma permissão, além do acesso aos programas com prefixo FRM?

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.


Qual a diferença entre formulário customizado e específico?

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). 


Quais informações do formulário padrão consigo acessar?

É 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.


Quais informações tenho permissão para customizar?

  • Informação de resumo do formulário
  • Complementar os eventos de carga de formulário (before/after load)
  • Excluir ou incluir informações do agrupamento de componentes na aba 4-Agrupamento (Tomar cuidado com essa alteração para não impactar no comportamento do formulário padrão)

TABELAS

  • Incluir novas tabelas
  • Complementar eventos de consulta, inclusão e exclusão de registro de tabela (before/after row, before/after insert, before/after delete)

COLUNAS

  • Incluir novos campos
  • Alterar o comportamento de alguns campos padrões, como label, visualização, edição, filtro de pesquisa, ordem no formulário, ocultar/exibir label.
  • Alterar layout e ordem de exibição dos campos (Tomar cuidado com essa alteração para não impactar no comportamento do formulário padrão)
  • Interferir sobre a abertura de zoom de campo, permitindo abrir outro zoom, substituindo a abertura do zoom padrão definido.
  • Alterar máscara de edição de campos
  • Alterar o valor padrão de campos
  • Complementar os eventos de campos (valid, before/after field)

BARRA DE FERRAMENTAS

  • Incluir novas operações na barra de ferramentas
  • Complementar alguns eventos de operações da barra de ferramentas
  • Alterar tecla de atalho e mensagens de confirmação e cancelamento de operações da Barra de Ferramentas
  • Ocultar ou tornar visível alguma operação da barra de ferramentas
  • Ativar/desativar a AUTO OPERAÇÃO de uma operação da barra de ferramentas
  • Alterar a imagem de um botão da barra de ferramentas


Quais informações NÃO tenho permissão para customizar?

TABELAS

  • Eliminar tabelas padrões ou alterar as operações assinaladas para as tabelas do formulário.
  • Alterar posição do RECORD 4GL de tabela 
  • Alterar CARDINALIDADE de tabela 
  • Alterar número de linhas visíveis de tabela
  • Alterar modelo de tabela

COLUNAS

  • Adulterar informação de MESTRE/DETALHE de colunas padrões.
  • Eliminar campos padrões
  • Alterar conteúdo da coluna PROPRIEDADES e PROPRIEDADES (GRID)
  • Não permite informar ou alterar o nome de zoom de coluna padrão.
  • Alterar informações de relacionamento entre colunas padrões

BARRA DE FERRAMENTAS

  • Alterar nome da toolbar
  • Alterar ou excluir algum evento padrão do formulário registrado em qualquer ponto (formulário, tabela ou coluna)
  • Excluir qualquer operação da barra de ferramentas que seja do formulário padrão
  • Alterar o nome de uma operação da barra de ferramentas


Quando os eventos complementares de usuário são acionados?

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 ZOOMX
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


Definindo as tabelas novas no metadado

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)


Registrar alterações no formulário padrão

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.


Implementar um novo código fonte 4GL customizado

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.


Concluindo a 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.


ATENÇÃO


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.


Pontos de atenção 


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.

Tabelas envolvidas


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:

TabelaDescrição
frm_user_toolbarBarra de Ferramentas
frm_user_formFormulários de cadastro (CRUD)
frm_user_form_tableTabelas dos formulários
frm_user_form_componentComponentes dos formulários
frm_user_form_groupGrupos de componentes dos formulários
fm_user_virtual_columnColunas virtuais dos formulários

frm_user_virtual_column_legend

Legendas de colunas virtuais dos formulários
frm_user_controlControle de recursos específicos
  • As tabelas específicas registradas no programa FRM1007 (Cadastro de tabelas no metadados Logix) não são armazenadas em tabelas isoladas no banco de dados, mas é possível identificá-las a partir de registro correspondente existente para o nome da respectiva tabela na tabela FRM_USER_CONTROL, pois todo recurso metadado específico é registrado automaticamente nesta tabela.
  • Em alguns cenários podem existir formulários específicos que não estejam registrados nessa lista de tabelas. Estes casos são situações de formulários que foram registrados na base de dados Logix antes do desenvolvimento da Customização Metadado.  Futuramente serão transferidos para as respectivas tabelas da lista acima, emitindo um alerta para o usuário administrador antes efetivar essa transferência, mas essa melhoria será comunicada nas notas de release de Framework de pacote Logix oficialmente expedidos.



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:  

log02700_custom.zip