Em determinados eventos será necessário obter a referência de componentes do programa metadado ou freeform em execução para que, com esta informação, seja possível recuperar ou alterar valores em tempo de execução.
Guia passo-a-passo
Em qualquer evento do formulário:
- Recuperar a referência do janela em execução através da função getFormReference
()
passando por parâmetro o nome do formulário metadado/freeform. - Com a referência do formulário será possível obter a referência de qualquer campo da tela atual utilizando a propriedade
COMPONENT_REFERENCE
.
EXEMPLO
DEFINE l_form_reference VARCHAR(10) DEFINE l_cod_empresa CHAR(02) # Recupera a referência do formulário metadado atual. Será retornado um # componente LFORMMETADATA ou LPARMETADATA dependendo do tipo do formulário. LET l_form_reference = _ADVPL_getFormReference("log00083") # Recupera o valor atual do campo "cod_empresa" que encontra-se no formulário para a tabela "empresa". LET l_cod_empresa = _ADVPL_get_property(l_form_reference,"VALUE","empresa","cod_empresa") # Define um novo valor para o campo "cod_empresa" que encontra-se no formulário para a tabela "empresa". CALL _ADVPL_set_property(l_form_reference,"VALUE","empresa","cod_empresa",p_cod_empresa)
DICAS
- Uma boa prática é recuperar a referência do formulário no evento de After Load do formulário e armazená-lo em uma variável modular, pois desta forma será preciso recuperar a referência do formulário apenas uma vez, já que a esta referência não muda de valor durante a execução do programa.
- Se uma coluna é definida num formulário contendo um alias, deve-se repassar o alias como parâmetro nas funções _ ADVPL_get_property() e _ADVPL_set_property() para o evento "VALUE". Acesse a documentação do componente LFormMetaData ou LParMetadata para informações detalhadas sobre os parâmetros disponíveis para o evento "GET_VALUE" e "SET_VALUE".
Artigos relacionados
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas