Páginas filhas
  • LGX - LZoomMetaData

Versões comparadas

Chave

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


Pagetitle
LGX - LZoomMetaData
LGX - LZoomMetaData

Cria e executa uma tela de zoom cadastrado no metadado. Os eventos que se encontram cadastrados no zoom poderão ser substituídos por outros quando executado os métodos para atribuição destes eventos.

Um zoom pode ser utilizado para obter informações de outra entidade da base de dados ou de outros programas. Por padrão, o zoom sempre é executado ao clicar num botão de lupa ao lado do campo, ou ao acionar a tecla de atalho F4 dentro deste mesmo campo.

Os zooms podem ser utilizados tanto em campos de formulários quanto em colunas de uma grid e, possuem dois métodos de exibição de registros: de seleção única ou de múltipla seleção.

Hierarquia


Sintaxe


Informações
iconfalse
LET l_zoom_reference = _ADVPL_create_component( NULL, "LZOOMMETADATA" )


Métodos GET


Métodos acessíveis utilizando a função _ADVPL_get_property, que permite recuperar e manipular os valores do componente: 


Retorno

Exemplo

Expandir
titleGET COMPONENT_REFERENCEACTIVATE

Método GET:

COMPONENT_REFERENCEReferência do componente de um determinado campo do formulário

ACTIVATE

Executa um zoom carregado através do método SET ZOOM.

Sintaxe



Bloco de código
_ADVPL_get_property(< l_form_reference >,"COMPONENT_REFERENCE", < Tabela >, < Coluna >) ==> Referência

Parâmetros

NomeTipoDescriçãoObrigatório?
l_form_reference 
CHAR

Referência do formulário.

Sim
TabelaCHARNome da tabela da coluna do formulário da qual deseja-se recuperar a referência do componente.Sim
ColunaCHARNome da coluna do formulário da qual deseja-se recuperar a referência do componente.Sim

Tipo

Descrição

CHAR

Referência do componente de um campo do formulário.

Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_component_reference = _ADVPL_get_property(l_form_reference,"COMPONENT_REFERENCE","item","cod_empresa")
Expandir
titleGET CURRENT_OPERATION

Método GET: CURRENT_OPERATION

Operação em execução.

Sintaxe

Bloco de código
_ADVPL_get_property(< l_form_reference >,"CURRENT_OPERATION") ==> Operação

Parâmetros

NomeTipoDescriçãoObrigatório?l_form_reference
CHAR

Referência do formulário.

Sim

Retorno

Tipo

Descrição

CHAR

Nome da operação que está em execução, conforme cadastrada no programa "FRM0001 - Barra de Ferramentas".

Exemplo

Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_current_operation = _ADVPL_get_property(l_form_reference,"CURRENT_OPERATION")
Expandir
titleGET EXECUTE_OPERATION

Método GET: EXECUTE_OPERATION

Executa uma determinada operação do formulário, conforme cadastrada no programa "FRM0001 - Barra de Ferramentas".

Sintaxe

Bloco de código
_ADVPL_get_property(< l_form_reference >,"EXECUTE_OPERATION", < Operação >) ==> Situação

Parâmetros

NomeTipoDescriçãoObrigatório?l_form_reference
CHAR

Referência do formulário.

SimOperaçãoCHARNome da operação do formulário da qual deseja-se executar, conforme cadastrada no programa "FRM0001 - Barra de Ferramentas".Sim

Retorno

Tipo

Descrição

BOOLEAN

Caso a operação foi executado com sucesso retornará verdadeiro, caso contrário retornará falso.

Exemplo

Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_status = _ADVPL_get_property(l_form_reference,"EXECUTE_OPERATION","inform")
Expandir
titleGET INFORMED

Método GET: INFORMED

Verificação se os parâmetros do formulário já foram informados ou não no formulário.

Sintaxe

Bloco de código
_ADVPL_get_property(< l_form_reference >,"INFORMED") ==> Já informou?

Parâmetros

NomeTipoDescriçãoObrigatório?l_form_reference
CHAR

Referência do formulário.

Sim

Retorno

Tipo

Descrição

BOOLEAN

Indicador que define se os parâmetros do formulário já foram informados ou não no formulário.

Exemplo

Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_informed = _ADVPL_get_property(l_form_reference,"INFORMED")
Expandir
titleGET ITEM_COUNT

Método GET: ITEM_COUNT

Quantidade de linhas de um determinado multivalorado do formulário.

Sintaxe

Bloco de código
_ADVPL_get_property(< l_form_reference >,"ITEM_COUNT",  < Associação >) ==> Quantidade

Parâmetros

ACTIVATE")



Retorno

Exemplo

Expandir
titleGET RETURN_BY_TABLE_COLUMN

Método GET: RETURN_BY_TABLE_COLUMN

Retorna o valor de determinado registro do zoom conforme o nome da tabela e coluna informados

NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR

Referência do formulário.

Sim
AssociaçãoCHARNome da associação do multivalorado do formulário da qual deseja-se retornar o número de linhas.Sim

Tipo

Descrição

( )

Número de linhas informadas no multivalorado do formulário.

Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_item_count = _ADVPL_get_property(l_form_reference,"ITEM_COUNT","item")
Expandir
titleGET LABEL_REFERENCE

Método GET: LABEL_REFERENCE

Referência do componente da descrição de um determinado campo do formulário.

Sintaxe

Bloco de código
_ADVPL_get_property(< l_form_reference >,"LABEL_REFERENCE",  < Tabela >, < Coluna >) ==> Referência

Parâmetros

NomeTipoDescriçãoObrigatório?l_form_reference
CHAR

Referência do formulário.

SimTabelaCHARNome da tabela da coluna do formulário da qual deseja-se recuperar a referência da descrição.SimColunaCHARNome da coluna do formulário da qual deseja-se recuperar a referência da descrição.Sim

Retorno

Tipo

Descrição

CHAR

Referência do componente de descrição de um campo do formulário.

Exemplo

Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_label_reference = _ADVPL_get_property(l_form_reference,"LABEL_REFERENCE","item","cod_empresa")
Expandir
titleGET MENU_BUTTON_REFERENCE

Método GET: MENU_BUTTON_REFERENCE

Referência de um botão da barra de ferramentas do formulário.

Sintaxe

Bloco de código
_ADVPL_get_property(< l_form_reference >,"MENU_BUTTON_REFERENCE", < Operação >) ==> Referência

Parâmetros

NomeTipoDescriçãoObrigatório?l_form_reference
CHAR

Referência do formulário.

SimOperaçãoCHARNome da operação, cadastrada no programa "FRM0001 - Barra de Ferramentas", do formulário da qual deseja-se retornar a referência.Sim

Retorno

Tipo

Descrição

CHAR

Referência de um botão da barra de ferramentas (LMenuButton) correspondente à operação informada como parâmetro.

Exemplo

Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_menubutton_reference = _ADVPL_get_property(l_form_reference,"MENU_BUTTON_REFERENCE","inform")
Expandir
titleGET MENUBAR_REFERENCE

Método GET: MENUBAR_REFERENCE

Referência da barra de ferramentas do formulário

.

Sintaxe



Bloco de código
_ADVPL_get_property(< l_form_reference >,"MENUBAR_REFERENCE"RETURN_BY_TABLE_COLUMN", < Tabela >, < Coluna >) ==> Referência

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR

Referência do formulário.

Sim
TabelaCHARNome da tabela da coluna do zoom que será retornado o valorSim
ColunaCHARNome da coluna do zoom que será retornado o valorSim

Retorno



Tipo

Descrição

CHAR
Referência da barra de ferramentas (LMenuBar) do formulário
Valor do registro da coluna informada.

Exemplo



Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_menubar_referencevalue = _ADVPL_get_property( l_form_reference,"MENUBAR_REFERENCE "RETURN_BY_TABLE_COLUMN", "item","cod_empresa")




Referência do componente do botão de zoom de um campo do formulário
Expandir
titleGET MULTI_VALUED_BUTTON_REFERENCEITEM_COUNT

Método GET:

MULTI_VALUED_BUTTON_REFERENCE Referência do componente do botão de multivalorado de um determinado campo do formulário

ITEM_COUNT

Retorna a quantidade de registros existentes no zoom.

Sintaxe



Bloco de código
_ADVPL_get_property(< l_form_reference >,"MULTI_VALUED_BUTTON_REFERENCE",< Tabela >, < Coluna >ITEM_COUNT") ==> ReferênciaQuantidade


Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR

Referência do formulário.

Sim
TabelaCHARNome da tabela da coluna do formulário da qual deseja-se recuperar a referência do botão de multivalorado.Sim
l_form_reference
CHAR

Referência do formulário

ColunaCHARNome da coluna do formulário da qual deseja-se recuperar a referência do botão de multivalorado

.

Sim

Retorno



Tipo

Descrição

CHAR
INTEGERQuantidade de registros existentes no zoom.

Exemplo



Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_zoomitem_button_referencecount = _ADVPL_get_property(l_form_reference,"MULTI_VALUED_BUTTON_REFERENCE","item","cod_itemITEM_COUNT")




(informação) Importante: caso não tenha nenhum multivalorado em execução, este método irá retornar nulo.
Expandir
titleGET MULTI_VALUED_COLUMN_REFERENCEINDEX_VALUE

Método GET:

MULTI_VALUED_COLUMN_REFERENCEReferência de uma determinada coluna do componente grid do multivalorado em execução no formulário

INDEX_VALUE

Retorna o valor de determinado registro do zoom conforme o nome da tabela, coluna e linha informadas.

Sintaxe



Bloco de código
_ADVPL_get_property(< l_form_reference >,"MULTI_VALUED_COLUMN_REFERENCE",< Coluna >property(< l_form_reference >,"INDEX_VALUE", < Tabela >, < Coluna >, < Linha > ) ==> Referênciainformou?


Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR

Referência do formulário.

Sim
TabelaCHARNome da tabela da coluna do zoom que será retornado o valorSim
ColunaCHARNome da coluna do multivalorado em execução no formulário.zoom que será retornado o valorSim
LinhaINTEGERLinha da coluna do zoom que será retornado o valorSim

Retorno



Tipo

Descrição

CHAR

Referência da coluna do componente grid do multivalorado em execução no formulário.

Valor do registro da coluna informada

Exemplo



Bloco de código
languageruby
themeEclipse
linenumberstrue
 LET l_multivalued_column_referencevalue = _ADVPL_get_property(< l_form_reference >,"INDEX_VALUE","item","MULTI_VALUED_COLUMN_REFERENCEcod_empresa","cod_item10")




Expandir
titleGET MULTI_VALUED_ TABLE_REFERENCE

Método GET:

MULTI_VALUED_

TABLE_REFERENCE

Referência do componente grid do multivalorado em execução no formulário

Retorna a referência da grid utilizada no zoom.

Sintaxe



Bloco de código
_ADVPL_get_property(< l_formgrid_reference >,"MULTI_VALUED_TABLE_REFERENCE") ==> Referência


Parâmetros



NomeTipoDescriçãoObrigatório?
l l_formgrid_referencereference 
CHAR
Referência do formulário.da grid utilizada no zoomSim

Retorno



Tipo

Descrição

CHAR

Referência

do componente grid do multivalorado em execução no formulário.

(informação) Importante: caso não tenha nenhum multivalorado em execução, este método irá retornar nulo.

da grid utilizada no zoom.

Exemplo



Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_multivalueditem_table_referencecount = _ADVPL_get_property( l_formgrid_reference,"MULTI_VALUED_TABLE_REFERENCE")




Expandir
titleGET PROGRESSCOMPONENT_BAR_REFERENCE

Método GET:

PROGRESS

COMPONENT_

BAR_

REFERENCE

Referência da barra de progresso utilizada na operação de processamento do formulário

Retorna a referência de determinada coluna da grid do zoom, conforme nome da tabela e coluna informados.

Sintaxe



Bloco de código
_ADVPL_get_property(< l_form_reference >,"PROGRESSCOMPONENT_BAR_REFERENCE",  < Tabela >, < Coluna >) ==> Referência


Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR

Referência

do formulário.

Sim
TabelaCHARNome da tabela da coluna do formulário da qual deseja-se recuperar a referência da descrição.Sim
ColunaCHARNome da coluna do formulário da qual deseja-se recuperar a referência da descrição

Parâmetros

NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim

Retorno



Tipo

Descrição

CHARReferência da
barra de progresso utilizada na operação de processamento do formulário.
(informação) Importante: este método deve ser chamado somente na função da operação padrão process do formulário.
coluna da grid utilizada no zoom

Exemplo



Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_progressbarcomponent_reference = _ADVPL_get_property(l_form_reference,"PROGRESS_BAR_REFERENCECOMPONENT_REFERENCE","item","cod_empresa")




Referência da barra de status do formulário
Expandir
titleGET STATUSITEM_BAR_REFERENCESELECTED

Método GET:

STATUS_BAR_REFERENCEReferência da barra de status do formulário

ITEM_SELECTED

Retorna a linha do registro selecionado no zoom.
Quando o zoom é de múltipla seleção, retorna a quantidade de registros selecionados.

Sintaxe



Bloco de código
_ADVPL_get_property(< l_form_reference >,"STATUS_BARITEM_REFERENCESELECTED") ==> Referência


Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR

Referência do formulário.

Sim

Retorno



Tipo

Descrição

CHAR
INTEGERLinha do registro selecionado no zoom.

Exemplo



Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_statusbarrow_referenceselected = _ADVPL_get_property(l_form_reference,"STATUSITEM_BAR_REFERENCESELECTED")




Referência do componente do botão de zoom de um campo do formulário
Expandir
titleGET ZOOM_BUTTON_REFERENCETYPE

Método GET: ZOOM_

BUTTON_REFERENCE

TYPE

Retorna o tipo de zoom utilizado

Referência do componente do botão de zoom de um determinado campo do formulário.

Sintaxe



Bloco de código
_ADVPL_get_property(< l_form_reference >,"ZOOM_BUTTON_REFERENCE",< Tabela >, < Coluna >TYPE") ==> Referência


Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR

Referência do formulário.

Sim
TabelaCHARNome da tabela da coluna do formulário da qual deseja-se recuperar a referência do botão de zoom.Sim
ColunaCHARNome da coluna

do formulário

da qual deseja-se recuperar a referência do botão de zoom

.

Sim

Retorno



Tipo

Descrição

CHAR
INTEGER

Tipo do zoom utilizado, sendo: 0 - Seleção única e 1 - Múltipla seleção.

Exemplo



Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_zoom_button_referencetype = _ADVPL_get_property(l_form_reference,"ZOOM_BUTTON_REFERENCE","item","cod_item"TYPE")




Referência do zoom de determinado campo do formulário
Expandir
titleGET ZOOMALWAYS_SHOW_REFERENCEFILTER

Método GET:

ZOOM

ALWAYS_SHOW_

REFERENCEReferência do zoom de um determinado campo do formulário

FILTER

Retorna se está parametrizado para sempre exibir a tela de filtro de registros antes da exibição do zoom.

Sintaxe



Bloco de código
_ADVPL_get_property(< l_form_reference >,"ZOOMALWAYS_SHOW_REFERENCE",< Tabela >, < Coluna >FILTER") ==> Referência


Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR

Referência do formulário.

Sim
TabelaCHARNome da tabela da coluna do formulário da qual deseja-se recuperar a referência do zoom.Sim
Obrigatório?
l_form_reference
CHAR

Referência do formulário

ColunaCHARNome da coluna do formulário da qual deseja-se recuperar a referência do zoom

.

Sim


Retorno



Tipo

Descrição

CHAR
BOOLEAN

Verdadeiro se está parametrizado para sempre exibir o filtro de registros, falso se não está parametrizado.


Exemplo



Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_zoomshow_referencefilter = _ADVPL_get_property(l_form_reference,"ZOOM_REFERENCE","item","cod_itemALWAYS_SHOW_FILTER")





Métodos SET

Métodos acessíveis utilizando a função _ADVPL_set_property que permite alterar e manipular os valores do componente.


Expandir
titleSET ACTIVATE

Método SET: ACTIVATE

Ativa/Desativa a janela da aplicação.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_form_reference >,"ACTIVATE", < l_status >)

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
l_statusBOOLEAN

Indicador que define se será ativado ou desativado o formulário.

   TRUE - Ativa o formulário

   FALSE - Desativa/Fecha o formulário.

Sim

(informação) Importante: para ativar ou desativar um formulário, deverá ter executado previamente o método "PARAMETER" ou "INIT_PARAMETER" para o mesmo.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_form_reference,"ACTIVATE",TRUE)




Expandir
titleSET ENABLE_VALID_DUPLICATE_VALUES

Método SET: ENABLE_VALID_DUPLICATE_VALUES

Habilita/desabilita a validação de valores duplicados no(s) multivalorado(s) do formulário.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_form_reference >,"ENABLE_VALID_DUPLICATE_VALUES",< Habilita? >)

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
Habilita?BOOLEANIndicador que define se será habilitada ou desabilitada a validação de valores duplicados no(s) multivalorado(s) do formulário.Sim


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_form_reference,"ENABLE_VALID_DUPLICATE_VALUES",FALSE)




Expandir
titleSET INFORMED

Método SET: INFORMED

Força a definição da verificação se os parâmetros do formulário já foram informados ou não no formulário. Utilizados em casos e que o formulário é carregado manualmente.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_form_reference >,"INFORMED",< Já informou?>)

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
Já informou?
BOOLEAN
Indicador que força a definição de verificação se os parâmetros foram ou não informados no formulário.Sim


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_form_reference,"INFORMED",TRUE)




Expandir
titleSET INIT_PARAMETER

Método SET: INIT_PARAMETER

Junção dos métodos "PARAMETER" e "ACTIVATE", carrega as informações do formulário e executa-o em seguida.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_form_reference >,"INIT_PARAMETER",< Formulário >, [ Record ], [ Array of Record ])

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
Formulário 
CHAR
Nome do formulário cadastrado no programa "FRM0003 - Formulários de Parâmetros/Processamento".Sim
RecordRECORDVariável RECORD que irá controlar o conteúdo dos campos monovalorados do formulário.Sim
Array of RecordARRAY OF RECORDVariável ARRAY OF RECORD que irá controlar o conteúdo dos campos multivalorados do formulário.Sim

(informação) Importante: para ativar ou desativar um formulário, deverá ter executado previamente o método "PARAMETER" ou "INIT_PARAMETER" para o mesmo.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
DATABASE logix GLOBALS
     DEFINE p_user
        LIKE usuarios.cod_usuario
     DEFINE p_cod_empresa LIKE empresa.cod_empresa END GLOBALS DEFINE mr_tela
           RECORD
                              cod_empresa LIKE empresa.cod_empresa,
                              den_empresa LIKE empresa.den_empresa
                          END RECORD DEFINE ma_tela
           ARRAY[100] OF
                          RECORD
                              cod_item LIKE item.cod_item,
                              den_item LIKE item.den_item
                          END RECORD DEFINE m_form_reference
  VARCHAR(100)
#--------------------# 
FUNCTION man100220()
#--------------------#
     # Verifica o acesso do usuário conforme módulo do programa.
     IF  LOG_initApp("PADRAO") <> 0 THEN
         RETURN
     END IF
     INITIALIZE mr_tela.*, ma_tela TO NULL
     LET l_form_reference = _ADVPL_create_component(NULL,"LPARMETADATA")
     CALL _ADVPL_set_property(l_form_reference,"INIT_PARAMETER","man100220",mr_tela,ma_tela)
 END FUNCTION




Expandir
titleSET ITEM_COUNT

Método SET: ITEM_COUNT

Quantidade de linhas de um determinado multivalorado do formulário.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_form_reference >,"ITEM_COUNT", < Associação >, < Quantidade >)

Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR
Referência do formulário.Sim
 Associação 
CHAR
Nome da associação do multivalorado do formulário.Sim
QuantidadeINTEGERNúmero de linhas que será atribuído para um determinado multivalorado do formulário.Sim

(informação) Importante: caso o multivalorado possua apenas um campo e não possua associação, deverá ser passado no primeiro parâmetro o nome do campo multivalorado.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_form_reference,"ITEM_COUNT","item",10)




Expandir
titleSET PARAMETER

Método SET: PARAMETER

Carrega as informações do formulário, mas não o executa. Utilizado em casos em que é necessário carregar o formulário e após isso executar diretamente uma operação do mesmo.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_form_reference >,"PARAMETER",< Formulário >, [ Record ], [ Array of Record ])

Parâmetros



NomeTipoDescriçãoObrigatório?
l_fFormulárioorm_reference
CHAR
Referência do formulário.Sim
Formulário 
CHAR
Nome do formulário cadastrado no programa "FRM0003 - Formulários de Parâmetros/Processamento".Sim
RecordRECORDVariável RECORD que irá controlar o conteúdo dos campos monovalorados do formulário.Não
Array of RecordARRAY OF RECORDVariável ARRAY OF RECORD que irá controlar o conteúdo dos campos multivalorados do formulário.Não

(informação) Importante: a ordem das variáveis deve ser sempre a mesma, independente do formulário ter ou não campos monovalorados ou multivalorados, primeiro o RECORD para os campos monovalorados e depois o ARRAY OF RECORD para os campos multivalorados.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_form_reference,"PARAMETER","man10022",mr_tela,ma_tela)