Agora que já conhecemos a lista de todos os cadastros metadados disponíveis no produto Logix, é preciso detalhar algumas características e dicas de uso em casa um dos cadastros para obter o melhor aproveitamento das funcionalidades disponíveis.


Cadastro de Tabelas e Colunas (FRM1007)




Para colunas do tipo DATETIME, atente para a definição do valor a ser informado para o TAMANHO e PRECISÃO da coluna, pois indica o formato. Uma coluna do tipo DATETIME é definida com um qualificador inicial e um qualificador final.

Um qualificador é reconhecido como YEAR, MONTH, DAY, HOUR, MINUTE, SECOND ou FRACTION.

Neste caso, no cadastro FRM1007, a informação que define o TAMANHO da coluna, será reconhecida como "Qualificador inicial" e a PRECISÃO será reconhecida como "Qualificador final" para colunas do tipo DATETIME.

O valor do qualificador a ser informado no cadastro da coluna DATETIME será respeitando a legenda abaixo:

QualidificadorValor
YEAR1
MONTH

2

DAY3
HOUR

4

MINUTE5
SECOND6
FRACTION7

Exemplo: Para uma coluna DATETIME YEAR TO SECOND, deve-se cadastrar o TAMANHO como 1 (YEAR) e a PRECISÃO como 6 (SECOND)
            


Para a coluna Versão pode-se tomar como referência a versão do produto Logix, pois os dados de versão consideram Versão, Release e Modificação, sendo todos valores numéricos.



Para a coluna Módulo, escolha o módulo usando a lista disponível de módulos Logix a que a tabela está ligada.



A coluna Componente permite definir qual componente gráfico será utilizado para representar uma determinada coluna.
Quando o Componente não for informado, e no formulário onde esta coluna for usada, o componente estiver definido como AUTO, o metadado assumirá um componente de forma automática baseado no tipo de dado da coluna, onde:

Tipo de dadoComponnente
SMALLINT, INTEGER ou SERIALLNumericField (Sem casas decimais)
DECIMAL

LNumericField (com casas decimais)

DATELDateField
DATETIME

LDateTimeField

CHAR ou VARCHAR (até 100 caracteres)LTextField
CHAR ou VARCHAR (acima de 100 caracteres)LTextArea

Para colunas que possuem cadastro de Legenda, será utilizada a regra para criação de campos com legenda. Mais informações veja o item Cadastro de Legendas para Colunas de Tabelas (FRM1013).


Cadastro de Índices de Tabelas (FRM1014)



Cadastro de Relacionamentos (Referências) de Tabelas (FRM1006)




Cadastro de Legendas para Colunas de Tabelas (FRM1013)



CampoObrigatórioDescrição
ValorSIM

Valor  do item da legenda ou valor para satisfazer a condição.

(informação) Em caso de valor nulo registre o conteúdo com o texto NIL.

TipoSIM

Tipo da legenda (TEXTO, IMAGEM ou CHECKBOX).

DescriçãoSIM

Descrição para cada valor contido no domínio.

ImagemNÃO

Imagem a ser utilizada para representar cada valor contido no domínio (somente para componentes tipo GRID)

CondiçãoNÃO

Operador, função ou macro (CHECKED ou UNCHECKED) para satisfazer o item da legenda.

OrdemSIM

Ordem dos itens da legenda


Cadastro de Formulários de Zoom (FRM1008) 



A execução de um zoom a partir do acionamento de uma lupa que é exibida na lateral direita de um campo de um formulário em execução se assemelha a uma lista abaixo, podendo ser de seleção simples ou multi-seleção:

 

Cadastro de Barra de Ferramentas (FRM1001) 



Cadastro de Formulários de Cadastro (FRM1002) 




Para evitar falhas de conversão de formatos de colunas do tipo DATETIME no formulário:

  • Para colunas onde o componente for LDATETIME ou AUTO, quando no cadastro da tabela/coluna (FRM1007) estiver registrado com tipo DATETIME ou componente LDATETIME, atente para que seja definida a propriedade RANGE
    na aba COMPONENTES e coluna PROPRIEDADES como {'RANGE','YEAR','SECOND'}.
  • Para colunas do tipo DATETIME que sejam de uma tabela do formulário definida como tipo DETALHE, também deverá definir a configuração  {'RANGE','YEAR','SECOND'} na coluna PROPRIEDADES (GRID) da aba COMPONENTES, pois será preciso recuperar a definição do formato do DATETIME para apresentar o valor corretamente a partir do botão LISTAR que apresenta um GRID com a lista de registros do cadastro.



Para colunas que tiverem o Componente definido como AUTO, irá assumir o Componente definido no cadastro da Tabela (FRM1007) e caso este também não esteja informado irá assumir o padrão abaixo:

Tipo de dadoComponnente
SMALLINT, INTEGER ou SERIALLNumericField (Sem casas decimais)
DECIMAL

LNumericField (com casas decimais)

DATELDateField
DATETIME

LDateTimeField

CHAR ou VARCHAR (até 100 caracteres)LTextField
CHAR ou VARCHAR (acima de 100 caracteres)LTextArea

Para colunas que possuem cadastro de Legenda, será utilizada a regra para criação de campos com legenda. Mais informações veja o item Cadastro de Legendas para Colunas de Tabelas (FRM1013).



Para exibir a descrição de campos de tabelas relacionadas, sem a necessidade de criar coluna virtual no formulário CRUD, o que obriga o desenvolvedor implementar no código fonte toda a carga de dados de colunas virtuais com este objetivo, é possível fazer o relacionamento no formulário de tabelas pela chave estrangeira desligando as operações de INSERT, DELETE e UPDATE e apenas será preciso setar a propriedade ENABLE_VALID_NOT_NULL da tabela relacionada para FALSE no evento AFTER_LOAD do formulário, para evitar mensagem de obrigatoriedade de valor para o campo de descrição destas tabelas relacionadas, nas operações de INSERT e UPDATE de registros do formulário.

   Exemplo:    CALL _ADVPL_set_property(m_form_reference,"ENABLE_VALID_NOT_NULL",FALSE,"<nome_tabela_relacionada>")


Formulário tipo Mestre

Formulário para cadastro de tabela no formato de campos lado a lado.

Formulário tipo Detalhe

Formulário para cadastro de tabela no formato de um GRID.

Formulário tipo Mestre-Detalhe 

Formulário para cadastro de uma mais tabelas onde uma parte dos campos fica disponivel lado a lado (campos marcados como MESTRE) e outra parte de campos são disponibilizados em formato GRID.

É possível definir formulários tipo MESTRE-DETALHE da mesma tabela de duas formas:


Para especificar os campos MESTRE de uma tabela MESTRE-DETALHE deve-se sinalizar as colunas que serão MESTRE na aba 3-Componentes coluna "Campo Mestre"

Quando usar formulário com tabela do tipo MESTRE-DETALHE?

Quando usar formulário com duas tabelas, uma do tipo MESTRE e outra do tipo DETALHE?


Cadastro de Formulários de Parâmetros (FRM1003)








Cadastro de Colunas Virtuais de Formulário (FRM1009)