Define um ARRAY OF RECORD do 4GL onde serão carregados os valores selecionados no zoom de múltipla seleção.
Expandir |
---|
title | SET ARRAY_RECORD_RETURN |
---|
|
Bloco de código |
---|
_ADVPL_set_property(< m_zoom_reference >,"ARRAY_RECORD_RETURN", < r_ArrayRecord >) |
NomeTipoDescriçãoObrigatório? m_zoom_reference CHAR
Referência do formulário.Simr_ArrayRecord()
ARRAY OF RECORD do 4GL onde serão carregados os registros selecionados no zoom
SimExemplo
Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
CALL _ADVPL_set_property(m_zoom_empresa_reference,"ARRAY_RECORD_RETURN",ma_zoom_empresa) |
ExpandirIntegra 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.
Bloco de código |
---|
_ADVPL_set_property(< l_zoom_reference >,"ZOOM_COMPONENT",<c_Component>, <n_Type>, <n_Size>, [n_Precision] ) |
NomeTipoDescriçãoObrigatório? l_zoom_reference CHAR
Referência do formulário.Simc_ComponentCHAR
Referência do componente que será integrado com o zoom.Simn_TypeINTEGERTipo do componente, sendo: 1–CHAR, 2–SMALLINT, 3–INTEGER, 4–DECIMAL, 5–DATE, 6–DATETIME, 7–VARCHAR, 8–SERIAL e 9–IMAGE.Simn_SizeINTEGERTamanho do tipo de dado do componente.Simn_PrecisionINTEGERPrecisão do tipo de dado do componenteNão Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
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_zoomlabel_reference,"ZOOM_COMPONENTTEXT","zoom_component",3,10,5) |
ExpandirCarrega as informações do zoom informado, cadastrado no metadado.
Bloco de código |
---|
Item: ")
LET m_cod_item_reference = _ADVPL_create_component(NULL,"LTEXTFIELD",l_layout_reference)
CALL _ADVPL_set_property(< l_zoomm_cod_item_reference >,"ZOOMENABLE",< c_Zoom > ) |
NomeTipoDescriçãoObrigatório? l_zoom_reference CHAR
Referência do formulário.Sim c_Zoom CHAR
Nome do zoom que será carregado, o mesmo deve estar cadastrado no metadadoSimExemplo
Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
FALSE)
CALL _ADVPL_set_property( l_zoomm_cod_item_reference ,"ZOOMLENGTH","zoom_empresa") |
ExpandirDefine o tipo do zoom que será executado, de seleção única ou múltipla seleção.
Bloco de código |
---|
15)
CALL _ADVPL_set_property(m_cod_item_reference,"PICTURE","@!")
CALL _ADVPL_set_property(< l_zoomm_cod_item_reference >,"ZOOM_TYPEVARIABLE",< n_Type >) |
NomeTipoDescriçãoObrigatório? l_zoom_reference CHAR
Referência do formulário.Sim n_Type INTEGER
Tipo do zoom que será executando, sendo: 0 - Seleção única e 1 - Múltipla seleçãoSimExemplo
Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
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_zoomimagebutton_reference,"ZOOMCLICK_TYPEEVENT",1) |
ExpandirMarca/desmarca um determinado registro do zoom de múltipla seleção.
Bloco de código |
---|
"zoommetadata_execute_zoom_item")
CALL _ADVPL_set_property(l_imagebutton_reference,"IMAGE","BTPESQ")
CALL _ADVPL_set_property(< ml_browseimagebutton_reference >,"SELECT_ITEMSIZE",24, < n_Row >, < n_Status >) |
NomeTipoDescriçãoObrigatório? m_browse_reference CHAR
Referência do formulário.Simn_Row INTEGER
Número da linha do registro que será selecionado.Simn_Status INTEGER
Verdadeiro para marcar o registro da linha informada, falso para desmarcar.Sim Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
CALL _ADVPL_set_property(m_browse_filter_reference,"SELECT_ITEM",1,5) |
Expandirtitle | SET CLEAR_SELECT_ITEM |
---|
Desmarca todos registros do zoom de múltipla seleção.
Bloco de código |
---|
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(< l_zoom_reference >,"CLEAR_SELECT_ITEM") |
NomeTipoDescriçãoObrigatório? l_zoom_reference CHAR
Referência do formulário.Sim Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
m_den_item_reference,"LENGTH",76)
CALL _ADVPL_set_property(m_browseden_filteritem_reference,"PICTURE","CLEAR_SELECT_ITEM") |
ExpandirMarca/desmarca todos os registros do zoom de múltipla seleção.
Bloco de código |
---|
@!")
CALL _ADVPL_set_property(m_den_item_reference,"VARIABLE",mr_tela,"den_item")
CALL _ADVPL_set_property(< l_zoomm_den_item_reference >,"SELECT_ITEM_ALLWIDTH",< n_Select >) |
NomeTipoDescriçãoObrigatório?l_zoom_reference CHAR
Referência do formulário.Simn_Select INTEGERVerdadeiro para marcar todos os registros do zoom, falso para desmarcar.Sim Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
CALL _ADVPL_set_property(m_browse_filter_reference,"SELECT_ITEM_ALL",1) |
Expandirtitle | 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.
Bloco de código |
---|
_200)
LET l_label_reference = _ADVPL_create_component(NULL,"LLABEL",l_layout_reference)
CALL _ADVPL_set_property(< ml_zoomlabel_reference >,"BEFORE_LOAD_EVENT",< c_Event >) |
NomeTipoDescriçãoObrigatório?m_zoom_reference CHAR
Referência do formulário.Simc_Event ( )Função 4GL que será executada antes da abertura do zoomSim
Ao utilizar este método, se houver uma função cadastrada no Before Load no metadado do zoom, a mesma será desconsiderada.
Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
TEXT","Empresas: ")
LET m_count_empresas_reference = _ADVPL_create_component(NULL,"LNUMERICFIELD",l_layout_reference)
CALL _ADVPL_set_property(m_browsecount_filterempresas_reference,"SELECT_ITEM_ALL","zoom_metadata_execute_zoom") |
Expandirtitle | SET AFTER_LOAD_EVENT |
---|
Define um evento que será executado na abertura do zoom.
Bloco de código |
---|
_ENABLE",FALSE)
CALL _ADVPL_set_property(m_count_empresas_reference,"LENGTH",04)
CALL _ADVPL_set_property(< m_zoomcount_empresas_reference >,"VARIABLE"AFTER_LOAD_EVENT",< c_Event >) |
NomeTipoDescriçãoObrigatório?m_zoom_reference CHAR
Referência do formulário.Simc_Event ( )Função 4GL que será executada na abertura do zoomSim
Ao utilizar este método, se houver uma função cadastrada no After Load no metadado do zoom, a mesma será desconsiderada.
Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
,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(ml_browseimagebutton_filter_reference,"AFTER_LOADCLICK_EVENT","zoom_metadatazoommetadata_execute_zoom") |
ExpandirDefine 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.
Bloco de código |
---|
_empresa")
CALL _ADVPL_set_property(l_imagebutton_reference,"IMAGE","BTPESQ")
CALL _ADVPL_set_property(< ml_zoomimagebutton_reference >,"CONFIRM_EVENTSIZE",< c_Event >) |
NomeTipoDescriçãoObrigatório?m_zoom_reference CHAR
Referência do formulário.Simc_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.
Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
CALL _ADVPL_set_property(m_browse_filter_reference,"CONFIRM_EVENT","zoom_metadata_execute_zoom") |
ExpandirDefine 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.
Bloco de código |
---|
_ADVPL_set_property(< m_zoom_reference >,"CANCEL_EVENT",< c_Event >) |
NomeTipoDescriçãoObrigatório?m_zoom_reference CHAR
Referência do formulário.Simc_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.
Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
CALL _ADVPL_set_property(m_browse_filter_reference,"CANCEL_EVENT","zoom_metadata_execute_zoom") |
Expandirtitle | 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.
Bloco de código |
---|
_ADVPL_set_property(< m_zoom_reference >,"BEFORE_ZOOM_EVENT",< c_Event >) |
NomeTipoDescriçãoObrigatório?m_zoom_reference CHAR
Referência do formulário.Simc_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.
Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
,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_browsezoom_filteritem_reference,"BEFORE_ZOOM_EVENT","zoom_metadata_execute_zoom") |
Expandirtitle | SET AFTER_ZOOM_EVENT |
---|
Define um evento que será executado após a finalização do zoom.
Bloco de código |
---|
_ADVPL_set_property(< m_zoom_reference >,"AFTER_ZOOM_EVENT",< c_Event >) |
NomeTipoDescriçãoObrigatório?m_zoom_reference CHAR
Referência do formulário.Simc_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.
Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
CALL _ADVPL_set_property(m_browse_filter_reference,"AFTER_ZOOM_EVENT","zoom_metadata_execute_zoom") |
ExpandirDefine a quantidade de registros pré-selecionados no zoom de múltipla seleção.
Bloco de código |
---|
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_zoomitem_reference >,"SELECTEDVALUE",< n_Selected >) |
NomeTipoDescriçãoObrigatório?m_zoom_reference CHAR
Referência do formulário.Sim n_Selected INTEGERQuantidade de registros pré-selecionados no zoom.Sim Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
CALL _ADVPL_set_property(m_browse_filter_reference,"SELECTED",10) |
ExpandirHabilita/desabilita a edição dos registros do zoom, caso o mesmo possua um formulário cadastrado para edição.
Bloco de código |
---|
_ADVPL_set_property(< m_zoom_reference >,"CAN_EDIT",< n_Edit >) |
NomeTipoDescriçãoObrigatório? m_zoom_referenceCHAR
Referência do formulário.Sim n_Edit INTEGERVerdadeiro para habilitar a edição dos registros do zoom, falo para desabilitar.Sim Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
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_browsezoom_filterempresa_reference,"CAN_EDIT",10) |
ExpandirHabilita/desabilita filtrar os registros do zoom.
Bloco de código |
---|
ZOOM","zoom_empresa")
CALL _ADVPL_set_property(< m_zoom_empresa_reference >,"CANZOOM_FILTERTYPE",< n_Filter >) |
NomeTipoDescriçãoObrigatório?m_zoom_referenceCHAR
Referência do formulário.Simn_Filter INTEGERVerdadeiro para habilitar filtrar os registros do zoom, falso para desabilitarSim Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
1)
CALL _ADVPL_set_property(m_browsezoom_filterempresa_reference,"CANARRAY_RECORD_FILTERRETURN",1) |
Expandirtitle | SET ALWAYS_SHOW_FILTER |
---|
Habilita/desabilita a exibição do filtro de registros antes da exibição do zoom.
Bloco de código |
---|
_ADVPL_set_property(< m_zoom_reference >,"ALWAYS_SHOW_FILTER",< n_ShowFilter >) |
NomeTipoDescriçãoObrigatório?m_zoom_referenceCHAR
Referência do formulário.Simn_ShowFilter INTEGERVerdadeiro para habilitar a exibição do filtro de registros antes da exibição do zoom, falo para desabilitar.Sim Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
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_browsecount_filterempresas_reference,"VALUE"ALWAYS_SHOW_FILTER",1),mr_tela.count_empresas)
END FUNCTION |