Páginas filhas
  • DFWKTOOLS-2508 DT Listagem de componentes de janela FreeForm/Metadado

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Foi desenvolvida então uma técnica que viabiliza uma forma de recuperar a referência de objetos a partir do valor de propriedades como:

        HELP_NAME → Nome de referência para criar atalhos para acessar diversas funcionalidades, inicialmente criada com objetivo de ser um identificador para acionar o atalho de ajuda do sistema

        VARIABLE     → Disponível para campos de tela que possuem vínculo com alguma variável de programa, comum para campos editáveis em tela

No entanto, existe agora uma dificudade em identificar os valores das propriedades HELP_NAME e VARIABLE disponíveis em uma janela Freeform/Metadado e com isso é preciso crair criar alguma funcionalidade para exibir estas informações dos componentes utilizados em uma tela para facilitar o desenvolvimento de rotinas de automação mas que também possa . Esta funcionalidade poderá também ser utilizada como auxiliar para:

♦ Auxiliar o desenvolvimento de pontos de entrada (EPLs)

...

♦ Auxiliar demais desenvolvimentos

...

onde seja preciso recuperar a referência de componentes de telas FreeForm/Metadado.

03. SOLUÇÃO

Criação de chave de profile chamada logix.freeform.debug.listOfComponents que permite gerar uma listagem com informações dos componentes de telas desenvolvidas com componentes FreeForm/Metadado. Esta chave permite o valor 0 (INATIVO) e 1 (ATIVO).

Essa funcionalidade tem como objetivo principal atender a uma necessidade de equipes de desenvolvimento, principalmente envolvidas com o processo de customizações de telas com interface FreeForm e Metadados, que fazem uso de EPLs (Pontos de Entrada Logix) e também para equipes de testes/qualidade no que diz respeito a criação de scripts de automação.

A listagem dos dados dos componentes é realizada quando o valor da chave no profile é setada definida da seguinte forma:

Informações

logix.freeform.debug.listOfComponents = 1


Em que momento a listagem dos componentes de uma tela é gerada?


A listagem dos componentes é gerada no arquivo de LOG do AppServer durante a execução dos programas FreeForm/Metadados que fazem uso dos componetes Framework Logix herdados da classe principal chamada LComponent (Classe base de todos os componentes do Metadados/FreeForm) e somente será gerada para componentes herdados deste componente base.

No momento em que cada janela de telas freeform/metadado é aberta e exibida em tela, no arquivo de LOG do AppServer é gerada uma listagem semelhante a lista a seguir:

Image Added


Nessa lista podem ser observadas as informações como Título da Janela e a listagem de seus componentes com os respectivos valores para as pode-se observar as seguintes informações:

♦ Título da Janela

♦ Listagem dos componentes da janela com os respectivos valores das propriedades HELP_NAME e VARIABLE e também a classe de componente utilizada (TYPE)


O uso dos dados dessa listagem pode ser demonstrado com um código de exemplo onde é recuperada a referência dos componentes usando:

1) a propriedade COMPONENT_REFERENCE_BY_HELP_NAME da janela com o uso da função 4. _ADVPL_get_property.

2) a propriedade COMPONENT_REFERENCE_BY_VARIABLE da janela com o uso da função 4. _ADVPL_get_property.

3) o valor das propriedades HELP_NAME e VARIABLE que devem ser repassados respectivamente como parâmetros da função 4. _ADVPL_get_property para as propriedades



Bloco de código
languageruby
themeConfluence
titleEXEMPLO
DEFINE l_form_reference       VARCHAR(10)
DEFINE l_menu_inform_referece VARCHAR(10)
DEFINE l_cod_rotina_reference VARCHAR(10)

LET l_form_reference = _ADVPL_GetFormReference("Consulta de Auditorias")

#Recuperar a referência do botão "INFORMAR" existente na barra de ferramentas da janela a partir da propriedade HELP_NAME do botão
LET l_menu_inform_reference = _ADVPL_get_property(l_form_reference,"COMPONENT_REFERENCE_BY_HELP_NAME","menu_inform")

#Acionar o evento de click do botão usando a propriedade DO_CLICK
CALL _ADVPL_get_property(l_menu_inform_reference,"DO_CLICK")

#Recuperar a referência do campo "COD_ROTINA" pelo nome da variavel (Propriedade VARIABLE)
LET l_cod_rotina_reference = _ADVPL_get_property(l_form_reference,"COMPONENT_REFERENCE_BY_VARIABLE","cod_rotina")

#Atribuir o valor "001" para o campo "COD_ROTINA" usando a propriedade VALUE 
CALL _ADVPL_set_property(l_cod_rotina_reference,"VALUE","001")



Card documentos
InformacaoUse esse box para destacar informações relevantes e/ou de destaque.Disponível a partir do pacote oficial 12.1.29 ou Framework Fix 12.1.28.(fix03)
TituloIMPORTANTE!



Templatedocumentos

...