- Criado por Ieda Ferreira Alves Flock, última alteração por Cleane Hermann em 23 jun, 2023
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.
Sintaxe
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:
Método GET: ACTIVATE
Executa um zoom carregado através do método SET ZOOM.
Sintaxe
_ADVPL_get_property(< l_form_reference >,"ACTIVATE")
Método GET: RETURN_BY_TABLE_COLUMN
Retorna o valor de determinado registro do zoom conforme o nome da tabela e coluna informados.
Sintaxe
_ADVPL_get_property(< l_form_reference >,"RETURN_BY_TABLE_COLUMN", < Tabela >, < Coluna >) ==> Referência
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
l_form_reference | CHAR | Referência do formulário. | Sim |
Tabela | CHAR | Nome da tabela da coluna do zoom que será retornado o valor | Sim |
Coluna | CHAR | Nome da coluna do zoom que será retornado o valor | Sim |
Retorno
Tipo | Descrição |
---|---|
CHAR | Valor do registro da coluna informada. |
Exemplo
LET l_value = _ADVPL_get_property( l_form_reference, "RETURN_BY_TABLE_COLUMN", "item","cod_empresa")
Método GET: ITEM_COUNT
Retorna a quantidade de registros existentes no zoom.
Sintaxe
_ADVPL_get_property(< l_form_reference >,"ITEM_COUNT") ==> Quantidade
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
l_form_reference | CHAR | Referência do formulário. | Sim |
Retorno
Tipo | Descrição |
---|---|
INTEGER | Quantidade de registros existentes no zoom. |
Exemplo
LET l_item_count = _ADVPL_get_property(l_form_reference,"ITEM_COUNT")
Método GET: INDEX_VALUE
Retorna o valor de determinado registro do zoom conforme o nome da tabela, coluna e linha informadas.
Sintaxe
_ADVPL_get_property(< l_form_reference >,"INDEX_VALUE", < Tabela >, < Coluna >, < Linha > ) ==> Já informou?
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
l_form_reference | CHAR | Referência do formulário. | Sim |
Tabela | CHAR | Nome da tabela da coluna do zoom que será retornado o valor | Sim |
Coluna | CHAR | Nome da coluna do zoom que será retornado o valor | Sim |
Linha | INTEGER | Linha da coluna do zoom que será retornado o valor | Sim |
Retorno
Tipo | Descrição |
---|---|
CHAR | Valor do registro da coluna informada |
Exemplo
LET l_value = _ADVPL_get_property(< l_form_reference >,"INDEX_VALUE","item","cod_empresa","10")
Método GET: TABLE_REFERENCE
Retorna a referência da grid utilizada no zoom.
Sintaxe
_ADVPL_get_property(< l_grid_reference >,"TABLE_REFERENCE") ==> Referência
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
l_grid_reference | CHAR | Referência da grid utilizada no zoom | Sim |
Retorno
Tipo | Descrição |
---|---|
CHAR | Referência da grid utilizada no zoom. |
Exemplo
LET l_item_count = _ADVPL_get_property( l_grid_reference,"TABLE_REFERENCE")
Método GET: COMPONENT_REFERENCE
Retorna a referência de determinada coluna da grid do zoom, conforme nome da tabela e coluna informados.
Sintaxe
_ADVPL_get_property(< l_form_reference >,"COMPONENT_REFERENCE", < Tabela >, < Coluna >) ==> Referência
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
l_form_reference | CHAR | Referência do formulário. | Sim |
Tabela | CHAR | Nome da tabela da coluna do formulário da qual deseja-se recuperar a referência da descrição. | Sim |
Coluna | CHAR | Nome da coluna do formulário da qual deseja-se recuperar a referência da descrição. | Sim |
Retorno
Tipo | Descrição |
---|---|
CHAR | Referência da coluna da grid utilizada no zoom |
Exemplo
LET l_component_reference = _ADVPL_get_property(l_form_reference,"COMPONENT_REFERENCE","item","cod_empresa")
Método GET: 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
_ADVPL_get_property(< l_form_reference >,"ITEM_SELECTED") ==> Referência
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
l_form_reference | CHAR | Referência do formulário. | Sim |
Retorno
Tipo | Descrição |
---|---|
INTEGER | Linha do registro selecionado no zoom. |
Exemplo
LET l_row_selected = _ADVPL_get_property(l_form_reference,"ITEM_SELECTED")
Método GET: ZOOM_TYPE
Retorna o tipo de zoom utilizado.
Sintaxe
_ADVPL_get_property(< l_form_reference >,"ZOOM_TYPE") ==> Referência
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
l_form_reference | CHAR | Referência do formulário. | Sim |
Retorno
Tipo | Descrição |
---|---|
INTEGER | Tipo do zoom utilizado, sendo: 0 - Seleção única e 1 - Múltipla seleção. |
Exemplo
LET l_zoom_type = _ADVPL_get_property(l_form_reference,"ZOOM_TYPE")
Método GET: ALWAYS_SHOW_FILTER
Retorna se está parametrizado para sempre exibir a tela de filtro de registros antes da exibição do zoom.
Sintaxe
_ADVPL_get_property(< l_form_reference >,"ALWAYS_SHOW_FILTER") ==> Referência
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
l_form_reference | CHAR | Referência do formulário. | Sim |
Retorno
Tipo | Descrição |
---|---|
BOOLEAN | Verdadeiro se está parametrizado para sempre exibir o filtro de registros, falso se não está parametrizado. |
Exemplo
LET l_show_filter = _ADVPL_get_property(l_form_reference,"ALWAYS_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.
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.
Sintaxe
_ADVPL_set_property(< m_zoom_reference >,"ARRAY_RECORD_RETURN", < r_ArrayRecord >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
m_zoom_reference |
| Referência do formulário. | Sim |
r_ArrayRecord | () | ARRAY OF RECORD do 4GL onde serão carregados os registros selecionados no zoom | Sim |
Exemplo
CALL _ADVPL_set_property(m_zoom_empresa_reference,"ARRAY_RECORD_RETURN",ma_zoom_empresa)
Método SET: 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 automaticamente.
Sintaxe
_ADVPL_set_property(< l_zoom_reference >,"ZOOM_COMPONENT",<c_Component>, <n_Type>, <n_Size>, [n_Precision] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
l_zoom_reference |
| Referência do formulário. | Sim |
c_Component | CHAR | Referência do componente que será integrado com o zoom. | Sim |
n_Type | INTEGER | Tipo do componente, sendo: 1–CHAR, 2–SMALLINT, 3–INTEGER, 4–DECIMAL, 5–DATE, 6–DATETIME, 7–VARCHAR, 8–SERIAL e 9–IMAGE. | Sim |
n_Size | INTEGER | Tamanho do tipo de dado do componente. | Sim |
n_Precision | INTEGER | Precisão do tipo de dado do componente | Não |
Exemplo
CALL _ADVPL_set_property( l_zoom_reference,"ZOOM_COMPONENT","zoom_component",3,10,5)
Método SET: ZOOM
Carrega as informações do zoom informado, cadastrado no metadado.
Sintaxe
_ADVPL_set_property(< l_zoom_reference >,"ZOOM",< c_Zoom > )
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
l_zoom_reference |
| Referência do formulário. | Sim |
c_Zoom |
| Nome do zoom que será carregado, o mesmo deve estar cadastrado no metadado | Sim |
Exemplo
CALL _ADVPL_set_property( l_zoom_reference ,"ZOOM","zoom_empresa")
Método SET: ZOOM_TYPE
Define o tipo do zoom que será executado, de seleção única ou múltipla seleção.
Sintaxe
_ADVPL_set_property(< l_zoom_reference >,"ZOOM_TYPE",< n_Type >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
l_zoom_reference |
| Referência do formulário. | Sim |
n_Type |
| Tipo do zoom que será executando, sendo: 0 - Seleção única e 1 - Múltipla seleção | Sim |
Exemplo
CALL _ADVPL_set_property( l_zoom_reference,"ZOOM_TYPE",1)
Método SET: SELECT_ITEM
Marca/desmarca um determinado registro do zoom de múltipla seleção.
Sintaxe
_ADVPL_set_property(< m_browse_reference >,"SELECT_ITEM", < n_Row >, < n_Status >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
m_browse_reference |
| Referência do formulário. | Sim |
n_Row | INTEGER | Número da linha do registro que será selecionado. | Sim |
n_Status | INTEGER | Verdadeiro para marcar o registro da linha informada, falso para desmarcar. | Sim |
Exemplo
CALL _ADVPL_set_property(m_browse_filter_reference,"SELECT_ITEM",1,5)
Método SET: CLEAR_SELECT_ITEM
Desmarca todos registros do zoom de múltipla seleção.
Sintaxe
_ADVPL_set_property(< l_zoom_reference >,"CLEAR_SELECT_ITEM")
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
l_zoom_reference |
| Referência do formulário. | Sim |
Exemplo
CALL _ADVPL_set_property(m_browse_filter_reference,"CLEAR_SELECT_ITEM")
Método SET: SELECT_ITEM_ALL
Marca/desmarca todos os registros do zoom de múltipla seleção.
Sintaxe
_ADVPL_set_property(< l_zoom_reference >,"SELECT_ITEM_ALL",< n_Select >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
l_zoom_reference |
| Referência do formulário. | Sim |
n_Select | INTEGER | Verdadeiro para marcar todos os registros do zoom, falso para desmarcar. | Sim |
Exemplo
CALL _ADVPL_set_property(m_browse_filter_reference,"SELECT_ITEM_ALL",1)
Método SET: BEFORE_LOAD_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
_ADVPL_set_property(< m_zoom_reference >,"BEFORE_LOAD_EVENT",< c_Event >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
m_zoom_reference |
| Referência do formulário. | Sim |
c_Event | ( ) | Função 4GL que será executada antes da abertura do zoom | Sim |
Ao utilizar este método, se houver uma função cadastrada no Before Load no metadado do zoom, a mesma será desconsiderada.
Exemplo
CALL _ADVPL_set_property(m_browse_filter_reference,"SELECT_ITEM_ALL","zoom_metadata_execute_zoom")
Método SET: AFTER_LOAD_EVENT
Define um evento que será executado na abertura do zoom.
Sintaxe
_ADVPL_set_property(< m_zoom_reference >,"AFTER_LOAD_EVENT",< c_Event >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
m_zoom_reference |
| Referência do formulário. | Sim |
c_Event | ( ) | Função 4GL que será executada na abertura do zoom | Sim |
Ao utilizar este método, se houver uma função cadastrada no After Load no metadado do zoom, a mesma será desconsiderada.
Exemplo
CALL _ADVPL_set_property(m_browse_filter_reference,"AFTER_LOAD_EVENT","zoom_metadata_execute_zoom")
Método SET: CONFIRM_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.
Sintaxe
_ADVPL_set_property(< m_zoom_reference >,"CONFIRM_EVENT",< c_Event >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
m_zoom_reference |
| Referência do formulário. | Sim |
c_Event | ( ) | Função 4GL que será executada na confirmação do zoom. | Sim |
Ao utilizar este método, se houver uma função cadastrada no Confirm no metadado do zoom, a mesma será desconsiderada.
Exemplo
CALL _ADVPL_set_property(m_browse_filter_reference,"CONFIRM_EVENT","zoom_metadata_execute_zoom")
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
_ADVPL_set_property(< m_zoom_reference >,"CANCEL_EVENT",< c_Event >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
m_zoom_reference |
| Referência do formulário. | Sim |
c_Event | ( ) | Função 4GL que será executada no cancelamento do zoom. | Sim |
Ao utilizar este método, se houver uma função cadastrada no Cancel no metadado do zoom, a mesma será desconsiderada.
Exemplo
CALL _ADVPL_set_property(m_browse_filter_reference,"CANCEL_EVENT","zoom_metadata_execute_zoom")
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
_ADVPL_set_property(< m_zoom_reference >,"BEFORE_ZOOM_EVENT",< c_Event >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
m_zoom_reference |
| Referência do formulário. | Sim |
c_Event | ( ) | Função 4GL que será executada antes da abertura do zoom. | Sim |
Ao utilizar este método, se houver uma função cadastrada no Before Zoom no metadado do formulário, a mesma será desconsiderada.
Exemplo
CALL _ADVPL_set_property(m_browse_filter_reference,"BEFORE_ZOOM_EVENT","zoom_metadata_execute_zoom")
Método SET: AFTER_ZOOM_EVENT
Define um evento que será executado após a finalização do zoom.
Sintaxe
_ADVPL_set_property(< m_zoom_reference >,"AFTER_ZOOM_EVENT",< c_Event >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
m_zoom_reference |
| Referência do formulário. | Sim |
c_Event | ( ) | Função 4GL que será executada após a finalização do zoom. | Sim |
Ao utilizar este método, se houver uma função cadastrada no After Zoom no metadado do formulário, a mesma será desconsiderada.
Exemplo
CALL _ADVPL_set_property(m_browse_filter_reference,"AFTER_ZOOM_EVENT","zoom_metadata_execute_zoom")
Método SET: SELECTED
Define a quantidade de registros pré-selecionados no zoom de múltipla seleção.
Sintaxe
_ADVPL_set_property(< m_zoom_reference >,"SELECTED",< n_Selected >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
m_zoom_reference |
| Referência do formulário. | Sim |
n_Selected | INTEGER | Quantidade de registros pré-selecionados no zoom. | Sim |
Exemplo
CALL _ADVPL_set_property(m_browse_filter_reference,"SELECTED",10)
Método SET: CAN_EDIT
Habilita/desabilita a edição dos registros do zoom, caso o mesmo possua um formulário cadastrado para edição.
Sintaxe
_ADVPL_set_property(< m_zoom_reference >,"CAN_EDIT",< n_Edit >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
m_zoom_reference |
| Referência do formulário. | Sim |
n_Edit | INTEGER | Verdadeiro para habilitar a edição dos registros do zoom, falo para desabilitar. | Sim |
Exemplo
CALL _ADVPL_set_property(m_browse_filter_reference,"CAN_EDIT",10)
Método SET: CAN_FILTER
Habilita/desabilita filtrar os registros do zoom.
Sintaxe
_ADVPL_set_property(< m_zoom_reference >,"CAN_FILTER",< n_Filter >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
m_zoom_reference |
| Referência do formulário. | Sim |
n_Filter | INTEGER | Verdadeiro para habilitar filtrar os registros do zoom, falso para desabilitar | Sim |
Exemplo
CALL _ADVPL_set_property(m_browse_filter_reference,"CAN_FILTER",1)
Método SET: ALWAYS_SHOW_FILTER
Habilita/desabilita a exibição do filtro de registros antes da exibição do zoom.
Sintaxe
_ADVPL_set_property(< m_zoom_reference >,"ALWAYS_SHOW_FILTER",< n_ShowFilter >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
m_zoom_reference |
| Referência do formulário. | Sim |
n_ShowFilter | INTEGER | Verdadeiro para habilitar a exibição do filtro de registros antes da exibição do zoom, falo para desabilitar. | Sim |
Exemplo
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.
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