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: 


Expandir
titleGET COMPONENT_REFERENCEACTIVATE

Método GET:

COMPONENT_REFERENCE

ACTIVATE

Executa um zoom carregado através do método SET ZOOMReferência do componente de um determinado campo do formulário.

Sintaxe



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

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.

Sintaxe



Bloco de código
_
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
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 valor

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

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

Retorno



Tipo

Descrição

CHARNome da operação que está em execução, conforme cadastrada no programa "FRM0001 - Barra de Ferramentas"Valor do registro da coluna informada.

Exemplo



Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_current_operationvalue = _ADVPL_get_property( l_form_reference, "RETURN_BY_TABLE_COLUMN", "item","CURRENTcod_OPERATIONempresa")




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

Método GET:

EXECUTE

ITEM_

OPERATION

COUNT

Retorna a quantidade de registros existentes no zoom

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 >,"EXECUTEITEM_OPERATION", < Operação >COUNT") ==> SituaçãoQuantidade


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
INTEGERQuantidade de registros existentes no zoom.

Exemplo



Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_statusitem_count = _ADVPL_get_property(l_form_reference,"EXECUTEITEM_OPERATION",COUNT"inform")




Expandir
titleGET INFORMEDINDEX_VALUE

Método GET:

INFORMED

INDEX_VALUE

Retorna o valor de determinado registro do zoom conforme o nome da tabela, coluna e linha informadasVerificaçã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"INDEX_VALUE", < Tabela >, < Coluna >, < Linha > ) ==> Já informou?


Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR

Referência do formulário.

Sim
Retorno
Tabela

Tipo

Descrição

BOOLEAN
CHARNome da tabela da coluna do zoom que será retornado o valorSim
ColunaCHARNome da coluna do zoom que será retornado o valorSim
LinhaINTEGERLinha da coluna do zoom que será retornado o valorSim

Retorno



Tipo

Descrição

CHARValor do registro da coluna informada
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_informedvalue = _ADVPL_get_property(< l_form_reference >,"INDEX_VALUE"INFORMED"),"item","cod_empresa","10")






Expandir
titleGET TABLE_REFERENCE
Expandir
titleGET ITEM_COUNT

Método GET:

ITEM

TABLE_

COUNT

REFERENCE

Retorna a referência da grid utilizada no zoom

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

Sintaxe



Bloco de código
_ADVPL_get_property(< l_formgrid_reference >,"ITEMTABLE_COUNT",  < Associação >REFERENCE") ==> QuantidadeReferência


Parâmetros



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

Retorno

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

Tipo

Descrição

CHAR

Referência da grid utilizada no zoom

Retorno

Tipo

Descrição

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

.

Exemplo



Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_item_count = _ADVPL_get_property( l_formgrid_reference,"ITEM_COUNT","itemTABLE_REFERENCE")




Expandir
titleGET LABELCOMPONENT_REFERENCE

Método GET:

LABEL

COMPONENT_REFERENCE

Referência do componente da descrição de um determinado campo 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 >,"LABELCOMPONENT_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.Sim

Retorno



Tipo

Descrição

CHARReferência do componente de descrição de um campo do formulário.da coluna da grid utilizada no zoom

Exemplo



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




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

Método GET:

MENU_BUTTON_REFERENCE

ITEM_SELECTED

Retorna a linha do registro selecionado no zoom.
Quando o zoom é de múltipla seleção, retorna a quantidade de registros selecionadosReferência de um botão da barra de ferramentas do formulário.

Sintaxe



Bloco de código
_ADVPL_get_property(< l_form_reference >,"MENUITEM_BUTTON_REFERENCE", < Operação >SELECTED") ==> 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
INTEGERLinha do registro selecionado no zoom.

Exemplo



Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_menubuttonrow_referenceselected = _ADVPL_get_property(l_form_reference,"MENU_BUTTON_REFERENCE","inform"ITEM_SELECTED")




Referência da barra de ferramentas (LMenuBar) do formulário
Expandir
titleGET MENUBARZOOM_REFERENCETYPE

Método GET:

MENUBAR

ZOOM_

REFERENCE

TYPE

Retorna o tipo de zoom utilizado

Referência da barra de ferramentas do formulário.

Sintaxe



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


Parâmetros



NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR

Referência do formulário.

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_menubarzoom_referencetype = _ADVPL_get_property(l_form_reference,"MENUBARZOOM_REFERENCETYPE")






Expandir
titleGET MULTIALWAYS_VALUEDSHOW_BUTTON_REFERENCEFILTER

Método GET:

MULTI

ALWAYS_

VALUED

SHOW_

BUTTON_REFERENCE 

FILTER

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

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

Sintaxe



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


Parâmetros



Tabela
NomeTipoDescriçãoObrigatório?
l_form_reference
CHAR

Referência do formulário.

Sim


Retorno

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

Tipo

Descrição

BOOLEAN

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

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

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


Exemplo



Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_zoomshow_button_referencefilter = _ADVPL_get_property(l_form_reference,"MULTIALWAYS_VALUED_BUTTON_REFERENCE","item","cod_itemSHOW_FILTER")
expand





 

Métodos SET 

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


Retorno

Expandir
titleSET ARRAY_RECORD_RETURN

Método SET: ARRAY_RECORD_RETURN

Define um ARRAY OF RECORD do 4GL onde serão carregados os valores selecionados no zoom de múltipla seleção

titleGET MULTI_VALUED_COLUMN_REFERENCE

Método GET: MULTI_VALUED_COLUMN_REFERENCE

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

Sintaxe



Bloco de código
_ADVPL_getset_property(< lm_formzoom_reference >,"MULTIARRAY_VALUEDRECORD_COLUMN_REFERENCERETURN", < Colunar_ArrayRecord >) ==> Referência

Parâmetros



NomeTipoDescriçãoObrigatório?
l
 m_
form
zoom_
reference
reference 
CHAR
Referência do formulário.Sim
ColunaCHARNome da coluna do multivalorado em execução no formulário.Sim

Tipo

Descrição

CHAR

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

r_ArrayRecord()

ARRAY OF RECORD do 4GL onde serão carregados os registros selecionados no zoom

Sim


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(m_zoom_empresa_reference,"ARRAY_RECORD_RETURN",ma_zoom_empresa

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

Exemplo

Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_multivalued_column_reference = _ADVPL_get_property(l_form_reference,"MULTI_VALUED_COLUMN_REFERENCE","cod_item")




Descrição
Expandir
titleGET MULTI_VALUED_TABLE_REFERENCESET ZOOM_COMPONENT

Método

GET

SET:

MULTI_VALUED_TABLE_REFERENCE

ZOOM_COMPONENT

Integra um componente da tela com o zoom.
Com esta integração, ao executar o zoom, o mesmo irá atribuir o foco e o valor para o campo e também irá efetuar outras validações automaticamenteReferência do componente grid do multivalorado em execução no formulário.

Sintaxe



Bloco de código
_ADVPL_getset_property(< l_formzoom_reference >,"MULTI_VALUED_TABLE_REFERENCE") ==> ReferênciaZOOM_COMPONENT",<c_Component>, <n_Type>, <n_Size>, [n_Precision] )

Parâmetros



NomeTipoDescriçãoObrigatório?
l
 l_
form
zoom_
reference

Tipo

reference 
CHAR
Referência do formulário.Sim

Retorno

c_ComponentCHARReferê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.

que será integrado com o zoom.Sim
n_TypeINTEGERTipo do componente, sendo: 1–CHAR, 2–SMALLINT, 3–INTEGER, 4–DECIMAL, 5–DATE, 6–DATETIME, 7–VARCHAR, 8–SERIAL e 9–IMAGE.Sim
n_SizeINTEGERTamanho do tipo de dado do componente.Sim
n_PrecisionINTEGERPrecisão do tipo de dado do componenteNão


Exemplo



Bloco de código
languageruby
themeEclipseConfluence
linenumberstrue
LET l_multivalued_table_reference = CALL _ADVPL_getset_property( l_formzoom_reference,"MULTI_VALUED_TABLE_REFERENCE"ZOOM_COMPONENT","zoom_component",3,10,5)




Descrição
Expandir
titleGET PROGRESS_BAR_REFERENCESET ZOOM

Método

GET: PROGRESS_BAR_REFERENCE

SET: ZOOM

Carrega as informações do zoom informado, cadastrado no metadadoReferência da barra de progresso utilizada na operação de processamento do formulário.

Sintaxe



Bloco de código
_ADVPL_getset_property(< l_formzoom_reference >,"PROGRESS_BAR_REFERENCE") ==> ReferênciaZOOM",< c_Zoom > )

Parâmetros



NomeTipoDescriçãoObrigatório?
l
 l_
form
zoom_
reference

Tipo

reference 
CHAR
Referência do formulário.Sim

Retorno

 c_Zoom 
CHAR

Referê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.
Nome do zoom que será carregado, o mesmo deve estar cadastrado no metadadoSim


Exemplo



Bloco de código
languageruby
themeEclipseConfluence
linenumberstrue
LET l_progressbar_reference =CALL _ADVPL_getset_property( l_formzoom_reference ,"ZOOM","PROGRESSzoom_BAR_REFERENCEempresa")




Referência da barra de status do formulário.
Expandir
titleGET STATUS_BAR_REFERENCESET ZOOM_TYPE

Método

GET

SET:

STATUS

ZOOM_

BAR_REFERENCE

TYPE

Define o tipo do zoom que será executado, de seleção única ou múltipla seleção

Referência da barra de status do formulário.

Sintaxe



Bloco de código
_ADVPL_getset_property(< l_formzoom_reference >,"STATUS_BAR_REFERENCE") ==> ReferênciaZOOM_TYPE",< n_Type >)

Parâmetros



NomeTipoDescriçãoObrigatório?
l
 l_
form
zoom_
reference
reference 
CHAR
Referência do formulário.Sim
 n_Type 
Retorno
INTEGER
Tipo

Descrição

CHAR
do zoom que será executando, sendo: 0 - Seleção única e 1 - Múltipla seleçãoSim


Exemplo



Bloco de código
languageruby
themeEclipseConfluence
linenumberstrue
LET l_statusbar_reference =CALL _ADVPL_getset_property( l_formzoom_reference,"STATUSZOOM_BAR_REFERENCETYPE",1)  




Nome da coluna do formulário da qual deseja-se recuperar a referência do botão de zoom
Expandir
titleGET ZOOM_BUTTON_REFERENCESET SELECT_ITEM

Método

GET

SET:

ZOOM

SELECT_

BUTTON_REFERENCE

ITEM

Marca/desmarca um determinado registro do zoom de múltipla seleção

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

Sintaxe



Bloco de código
_ADVPL_getset_property(< lm_formbrowse_reference >,"ZOOMSELECT_BUTTON_REFERENCEITEM", < Tabelan_Row >, < Colunan_Status >) ==> Referência

Parâmetros



NomeTipoDescriçãoObrigatório?
l
 m_
form
browse_
reference
reference 
CHAR
Referência do formulário.Sim
Tabela
n_Row 
CHAR
INTEGER
Nome
Número da
tabela da coluna do formulário da qual deseja-se recuperar a referência do botão de zoom
linha do registro que será selecionado.Sim
Coluna
n_Status 
CHAR
INTEGERVerdadeiro para marcar o registro da linha informada, falso para desmarcar.Sim

Retorno

Tipo

Descrição

CHAR

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

Exemplo



Bloco de código

Exemplo

Bloco de código
languageruby
themeEclipseConfluence
linenumberstrue
LET l_zoom_button_reference =CALL _ADVPL_getset_property(lm_browse_formfilter_reference,"ZOOMSELECT_BUTTON_REFERENCEITEM","item","cod_item"1,5)




Expandir
titleGET ZOOM_REFERENCESET CLEAR_SELECT_ITEM

Método

GET

SET:

ZOOM

CLEAR_SELECT_

REFERENCE

ITEM

Referência Desmarca todos registros do zoom de um determinado campo do formuláriomúltipla seleção.

Sintaxe



Bloco de código
_ADVPL_getset_property(<  l_formzoom_referencereference  >,"ZOOMCLEAR_SELECT_REFERENCE",< Tabela >, < Coluna >) ==> ReferênciaITEM")

Parâmetros



NomeTipoDescriçãoObrigatório?
l
  l_
form
zoom_reference  
CHAR
Referência do formulário.Sim
Tabela

Exemplo



Bloco de código
CHARNome da tabela da coluna do formulário da qual deseja-se recuperar a referência do zoom.Sim
languageruby
themeConfluence
linenumberstrue
CALL
ColunaCHARNome da coluna do formulário da qual deseja-se recuperar a referência do zoom.Sim

Retorno

Tipo

Descrição

CHAR

Referência do zoom de determinado campo do formulário.

Exemplo

Bloco de código
languageruby
themeEclipse
linenumberstrue
LET l_zoom_reference = _ADVPL_getset_property(lm_browse_formfilter_reference,"ZOOMCLEAR_SELECT_REFERENCE","item","cod_item")

Métodos SET

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

ITEM")




Expandir
titleSET SELECT_ITEM_ALL

Método SET: SELECT_ITEM_ALL

Marca/desmarca todos os registros do zoom de múltipla seleção

Expandir
titleSET ACTIVATE

Método SET: ACTIVATE

Ativa/Desativa a janela da aplicação.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_formzoom_reference >,"ACTIVATESELECT_ITEM_ALL", < ln_statusSelect >)

Parâmetros



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

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.
INTEGERVerdadeiro para marcar todos os registros do zoom, falso para desmarcar.Sim

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(lm_browse_formfilter_reference,"ACTIVATESELECT_ITEM_ALL",TRUE1)




Expandir
titleSET ENABLEBEFORE_VALIDLOAD_DUPLICATE_VALUESEVENT

Método SET:

ENABLE

BEFORE_

VALID

LOAD_

DUPLICATE_VALUES

EVENT

Define um evento que será executado após o carregamento do zoom, porém antes de sua abertura.
A função cadastrada para este método deve retornar verdadeiro ou falso para continuar ou interromper a abertura do zoom.

Sintaxe



Bloco de código
_ADVPL_set

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

Sintaxe

Bloco de código
_ADVPL_set_property(< lm_formzoom_reference >,"ENABLEBEFORE_VALIDLOAD_DUPLICATE_VALUESEVENT",< Habilita?c_Event >)

Parâmetros



NomeTipoDescriçãoObrigatório?
lm_formzoom_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
c_Event ( )Função 4GL que será executada antes da abertura do zoomSim

(informação) Ao utilizar este método, se houver uma função cadastrada no Before Load no metadado do zoom, a mesma será desconsiderada.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(lm_browse_formfilter_reference,"SELECT_ITEM_ALL","ENABLEzoom_VALIDmetadata_DUPLICATEexecute_VALUESzoom",FALSE)




Expandir
titleSET INFORMEDAFTER_LOAD_EVENT

Método SET:

INFORMED

AFTER_LOAD_EVENT

Define um evento que será executado na abertura do zoomForç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(< lm_formzoom_reference >,"INFORMEDAFTER_LOAD_EVENT",< c_Event informou?>)

Parâmetros



NomeTipoDescriçãoObrigatório?
lm_formzoom_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

c_Event ( )Função 4GL que será executada na abertura do zoomSim

(informação) Ao utilizar este método, se houver uma função cadastrada no After Load no metadado do zoom, a mesma será desconsiderada.

Exemplo



Bloco de códigocode
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(lm_browse_formfilter_reference,"INFORMEDAFTER_LOAD_EVENT",TRUE"zoom_metadata_execute_zoom")




Expandir
titleSET INITCONFIRM_PARAMETEREVENT

Método SET:

INIT

CONFIRM_

PARAMETER

EVENT

Define um evento que será executado ao confirmar a seleção dos registros no zoom.
A função cadastrada para este método deve retornar verdadeiro ou falso para continuar ou interromper a confirmação do zoom

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(< lm_formzoom_reference >,"INITCONFIRM_PARAMETEREVENT",< Formulário >, [ Record ], [ Array of Record ]c_Event >)

Parâmetros



NomeTipoDescriçãoObrigatório?
lm_formzoom_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

c_Event ( )Função 4GL que será executada na confirmação do zoom.Sim

(informação) Ao utilizar este método, se houver uma função cadastrada no Confirm no metadado do zoom, a mesma será desconsiderada.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(m_browse_filter_reference,"CONFIRM_EVENT","zoom_metadata_execute_zoom")




Expandir
titleSET CANCEL_EVENT

Método SET: CANCEL_EVENT

Define um evento que será executado ao cancelar a seleção dos registros no zoom.
A função cadastrada para este método deve retornar verdadeiro ou falso para continuar ou interromper o cancelamento do zoom.

Sintaxe



Bloco de código
_ADVPL_set_property(< m_zoom_reference >,"CANCEL_EVENT",< c_Event >)

Parâmetros



NomeTipoDescriçãoObrigatório?
m_zoom_reference  
CHAR
Referência do formulário.Sim
c_Event ( )Função 4GL que será executada no cancelamento do zoom.Sim

(informação) Ao utilizar este método, se houver uma função cadastrada no Cancel no metadado do zoom, a mesma será desconsiderada.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(m_browse_filter_reference,"CANCEL_EVENT","zoom_metadata_execute_zoom")




Expandir
titleSET BEFORE_ZOOM_EVENT

Método SET: BEFORE_ZOOM_EVENT

Define um evento que será executado antes do carregamento e da abertura do zoom.
A função cadastrada para este método deve retornar verdadeiro ou falso para continuar ou interromper a abertura do zoom.

Sintaxe



Bloco de código
_ADVPL_set_property(< m_zoom_reference >,"BEFORE_ZOOM_EVENT",< c_Event >)

Parâmetros



NomeTipoDescriçãoObrigatório?
m_zoom_reference  
CHAR
Referência do formulário.Sim
c_Event ( )Função 4GL que será executada antes da abertura do zoom.Sim

(informação) Ao utilizar este método, se houver uma função cadastrada no Before Zoom no metadado do formulário, a mesma será desconsiderada.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(m_browse_filter_reference,"BEFORE_ZOOM_EVENT","zoom_metadata_execute_zoom")




Expandir
titleSET AFTER_ZOOM_EVENT

Método SET: AFTER_ZOOM_EVENT

Define um evento que será executado após a finalização do zoom.

Sintaxe



Bloco de código
_ADVPL_set_property(< m_zoom_reference >,"AFTER_ZOOM_EVENT",< c_Event >)

Parâmetros



NomeTipoDescriçãoObrigatório?
m_zoom_reference  
CHAR
Referência do formulário.Sim
c_Event ( )Função 4GL que será executada após a finalização do zoom.Sim

(informação) Ao utilizar este método, se houver uma função cadastrada no After Zoom no metadado do formulário, a mesma será desconsiderada.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(m_browse_filter_reference,"AFTER_ZOOM_EVENT","zoom_metadata_execute_zoom")




Expandir
titleSET SELECTED

Método SET: SELECTED

Define a quantidade de registros pré-selecionados no zoom de múltipla seleção

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(< lm_formzoom_reference >,"ITEM_COUNTSELECTED", < Associação >, < Quantidaden_Selected >)

Parâmetros



NomeTipoDescriçãoObrigatório?
lm_formzoom_reference  
CHAR
Referência do formulário.Sim
 Associação  n_Selected 
CHAR
INTEGERQuantidade de registros pré-selecionados no zoomNome da associação do multivalorado do formulário.Sim

Exemplo



Bloco de código
Quantidade
language
INTEGERNúmero de linhas que será atribuído para um determinado multivalorado do formulário.Sim
ruby
themeConfluence

(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(lm_browse_formfilter_reference,"ITEM_COUNT","itemSELECTED",10)






Expandir
titleSET PARAMETERCAN_EDIT

Método SET:

PARAMETER

CAN_EDIT

Habilita/desabilita a edição dos registros do zoom, caso o mesmo possua um formulário cadastrado para ediçãoCarrega 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(< lm_formzoom_reference >,"PARAMETERCAN_EDIT",< Formulário >, [ Record ], [ Array of Record ]n_Edit >)

Parâmetros



Record
NomeTipoDescriçãoObrigatório?
l m_fFormulárioormzoom_reference
CHAR
Referência do formulário.Sim
Formulário   n_Edit 
CHAR
INTEGERVerdadeiro para habilitar a edição dos registros do zoom, falo para desabilitarNome do formulário cadastrado no programa "FRM0003 - Formulários de Parâmetros/Processamento".Sim

Exemplo

RECORDVariável RECORD que irá controlar o conteúdo dos campos monovalorados do formulário.Não
Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(m_browse_filter_reference,"CAN_EDIT",10)




Expandir
titleSET CAN_FILTER

Método SET: CAN_FILTER

Habilita/desabilita filtrar os registros do zoom.

Sintaxe



Bloco de código
_ADVPL_set_property(< m_zoom_reference >,"CAN_FILTER",< n_Filter >)

Parâmetros



NomeTipoDescriçãoObrigatório?
m_zoom_reference
CHAR
Referência do formulário.Sim
n_Filter INTEGERVerdadeiro para habilitar filtrar os registros do zoom, falso para desabilitarSim

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(m_browse_filter_reference,"CAN_FILTER",1)




Expandir
titleSET ALWAYS_SHOW_FILTER

Método SET: ALWAYS_SHOW_FILTER

Habilita/desabilita a exibição do filtro de registros antes da exibição do zoom.

Sintaxe



Bloco de código
_ADVPL_set_property(< m_zoom_reference >,"ALWAYS_SHOW_FILTER",< n_ShowFilter >)

Parâmetros



NomeTipoDescriçãoObrigatório?
m_zoom_reference
CHAR
Referência do formulário.Sim
n_ShowFilter INTEGERVerdadeiro para habilitar a exibição do filtro de registros antes da exibição do zoom, falo para desabilitar.Sim

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(m_browse_filter_reference,"ALWAYS_SHOW_FILTER",1)





Exemplo


Clique no link na lateral direita para expandir o código de exemplo.

(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

CALL _ADVPL_set_property(l_form_reference,"PARAMETER","man10022",mr_tela,ma_tela)
Bloco de código
languageruby
themeEclipse
titleExemplos de uso do componente LZoomMetadata
linenumberstrue
collapsetrue
DATABASE logix
 
 DEFINE m_cod_item_reference,
        m_den_item_reference,
        m_count_empresas_reference VARCHAR(10)
 
 DEFINE m_zoom_item_reference,
        m_zoom_empresa_reference VARCHAR(10)
 
 DEFINE mr_tela RECORD
                    cod_item       CHAR(15),
                    den_item       CHAR(76),
                    count_empresas SMALLINT
                END RECORD
 
 DEFINE ma_zoom_empresa ARRAY[1000] OF
                        RECORD
                            cod_empresa CHAR(02),
                            den_empresa CHAR(36)
                        END RECORD
 
#-----------------------#
 FUNCTION zoommetadata()
#-----------------------#
     DEFINE l_dialog_reference,
            l_panel_reference,
            l_layout_reference,
            l_label_reference,
            l_component_reference,
            l_imagebutton_reference VARCHAR(10)
 
     INITIALIZE mr_tela.*,ma_zoom_empresa TO NULL
 
     #Conecta ao banco de dados
     CALL LOG_connectDatabase("DEFAULT")
 
     LET l_dialog_reference = _ADVPL_create_component(NULL,"LDIALOG")
     CALL _ADVPL_set_property(l_dialog_reference,"SIZE",400,200)
     CALL _ADVPL_set_property(l_dialog_reference,"TITLE","Exemplo de Utilização: LZOOMMETADATA")
 
     LET l_panel_reference = _ADVPL_create_component(NULL,"LPANEL",l_dialog_reference)
     CALL _ADVPL_set_property(l_panel_reference,"ALIGN","CENTER")
 
     LET l_layout_reference = _ADVPL_create_component(NULL,"LLAYOUTMANAGER",l_panel_reference)
     CALL _ADVPL_set_property(l_layout_reference,"COLUMNS_COUNT",4)
     CALL _ADVPL_set_property(l_layout_reference,"MARGIN",TRUE)
 
     LET l_label_reference = _ADVPL_create_component(NULL,"LLABEL",l_layout_reference)
     CALL _ADVPL_set_property(l_label_reference,"TEXT","Item: ")
 
     LET m_cod_item_reference = _ADVPL_create_component(NULL,"LTEXTFIELD",l_layout_reference)
     CALL _ADVPL_set_property(m_cod_item_reference,"ENABLE",FALSE)
     CALL _ADVPL_set_property(m_cod_item_reference,"LENGTH",15)
     CALL _ADVPL_set_property(m_cod_item_reference,"PICTURE","@!")
     CALL _ADVPL_set_property(m_cod_item_reference,"VARIABLE",mr_tela,"cod_item")
     CALL _ADVPL_set_property(m_cod_item_reference,"WIDTH",50)
 
     LET l_imagebutton_reference = _ADVPL_create_component(NULL,"LIMAGEBUTTON",l_layout_reference)
     CALL _ADVPL_set_property(l_imagebutton_reference,"CLICK_EVENT","zoommetadata_execute_zoom_item")
     CALL _ADVPL_set_property(l_imagebutton_reference,"IMAGE","BTPESQ")
     CALL _ADVPL_set_property(l_imagebutton_reference,"SIZE",24,20)
 
     LET m_den_item_reference = _ADVPL_create_component(NULL,"LTEXTFIELD",l_layout_reference)
     CALL _ADVPL_set_property(m_den_item_reference,"ENABLE",FALSE)
     CALL _ADVPL_set_property(m_den_item_reference,"LENGTH",76)
     CALL _ADVPL_set_property(m_den_item_reference,"PICTURE","@!")
     CALL _ADVPL_set_property(m_den_item_reference,"VARIABLE",mr_tela,"den_item")
     CALL _ADVPL_set_property(m_den_item_reference,"WIDTH",200)
 
     LET l_label_reference = _ADVPL_create_component(NULL,"LLABEL",l_layout_reference)
     CALL _ADVPL_set_property(l_label_reference,"TEXT","Empresas: ")
 
     LET m_count_empresas_reference = _ADVPL_create_component(NULL,"LNUMERICFIELD",l_layout_reference)
     CALL _ADVPL_set_property(m_count_empresas_reference,"ENABLE",FALSE)
     CALL _ADVPL_set_property(m_count_empresas_reference,"LENGTH",04)
     CALL _ADVPL_set_property(m_count_empresas_reference,"VARIABLE",mr_tela,"count_empresas")
     CALL _ADVPL_set_property(m_count_empresas_reference,"WIDTH",50)
 
     LET l_imagebutton_reference = _ADVPL_create_component(NULL,"LIMAGEBUTTON",l_layout_reference)
     CALL _ADVPL_set_property(l_imagebutton_reference,"CLICK_EVENT","zoommetadata_execute_zoom_empresa")
     CALL _ADVPL_set_property(l_imagebutton_reference,"IMAGE","BTPESQ")
     CALL _ADVPL_set_property(l_imagebutton_reference,"SIZE",24,20)
 
     CALL _ADVPL_set_property(l_layout_reference,"ADD_EMPTY_COLUMN")
 
     CALL _ADVPL_set_property(l_dialog_reference,"ACTIVATE",TRUE)
 END FUNCTION
 
#-----------------------------------------#
 FUNCTION zoommetadata_execute_zoom_item()
#-----------------------------------------#
     DEFINE l_cod_item CHAR(15),
            l_den_item CHAR(76)
 
     #Carrega o zoom de itens, se o mesmo ainda não foi carregado
     IF  m_zoom_item_reference IS NULL THEN
         LET m_zoom_item_reference = _ADVPL_create_component(NULL,"LZOOMMETADATA")
         CALL _ADVPL_set_property(m_zoom_item_reference,"ZOOM","zoom_item")
     END IF
 
     #Ativa o zoom de itens
     CALL _ADVPL_get_property(m_zoom_item_reference,"ACTIVATE")
 
     #Recupera os valores selecionados no zoom
     LET l_cod_item = _ADVPL_get_property(m_zoom_item_reference,"RETURN_BY_TABLE_COLUMN","item","cod_item")
     LET l_den_item = _ADVPL_get_property(m_zoom_item_reference,"RETURN_BY_TABLE_COLUMN","item","den_item_reduz")
 
     IF  l_cod_item IS NOT NULL OR l_den_item IS NOT NULL THEN
         LET mr_tela.cod_item = l_cod_item
         LET mr_tela.den_item = l_den_item
     END IF
 
     CALL _ADVPL_set_property(m_cod_item_reference,"VALUE",mr_tela.cod_item)
     CALL _ADVPL_set_property(m_den_item_reference,"VALUE",mr_tela.den_item)
 END FUNCTION
 
#--------------------------------------------#
 FUNCTION zoommetadata_execute_zoom_empresa()
#--------------------------------------------#
     #Carrega o zoom de empresas, se o mesmo ainda não foi carregado
     IF  m_zoom_empresa_reference IS NULL THEN
         LET m_zoom_empresa_reference = _ADVPL_create_component(NULL,"LZOOMMETADATA")
         CALL _ADVPL_set_property(m_zoom_empresa_reference,"ZOOM","zoom_empresa")
         CALL _ADVPL_set_property(m_zoom_empresa_reference,"ZOOM_TYPE",1)
         CALL _ADVPL_set_property(m_zoom_empresa_reference,"ARRAY_RECORD_RETURN",ma_zoom_empresa)
     END IF
 
     #Ativa o zoom de empresas
     CALL _ADVPL_get_property(m_zoom_empresa_reference,"ACTIVATE")
 
     #Recupera a quantidade de registros selecionados no zoom
     LET mr_tela.count_empresas = _ADVPL_get_property(m_zoom_empresa_reference,"RETURN")
     CALL _ADVPL_set_property(m_count_empresas_reference,"VALUE",mr_tela.count_empresas)
 END FUNCTION
Array of RecordARRAY OF RECORDVariável ARRAY OF RECORD que irá controlar o conteúdo dos campos multivalorados do formulário.Não
Bloco de código
languageruby
themeConfluence
linenumberstrue