Expandir |
---|
title | 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.
Bloco de código |
---|
_ADVPL_set_property(< m_zoom_reference >,"ARRAY_RECORD_RETURN", < r_ArrayRecord >) |
Nome | Tipo | Descrição | Obrigatório? |
---|
m_zoom_reference | CHAR
| Referência do formulário. | Sim |
r_ArrayRecord | () | ARRAY OF RECORD do 4GL onde serão carregados os registros selecionados no zoom | Sim |
Exemplo
Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
CALL _ADVPL_set_property(m_zoom_empresa_reference,"ARRAY_RECORD_RETURN",ma_zoom_empresa) |
Expandir |
---|
|
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. Bloco de código |
---|
_ADVPL_set_property(< l_zoom_reference >,"ZOOM_COMPONENT",<c_Component>, <n_Type>, <n_Size>, [n_Precision] ) |
|
Nome | Tipo | Descrição | Obrigatório? |
---|
l_zoom_reference | CHAR
| 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 |
Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
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_
zoompanel_reference,"
ZOOM_COMPONENTALIGN","
zoom_component",3,10,5) Expandir |
---|
|
Carrega as informações do zoom informado, cadastrado no metadado. Bloco de código |
---|
CENTER")
LET l_layout_reference = _ADVPL_create_component(NULL,"LLAYOUTMANAGER",l_panel_reference)
CALL _ADVPL_set_property( < l_ zoomlayout_reference >," ZOOMCOLUMNS_COUNT", < c_Zoom > ) |
Nome | Tipo | Descrição | Obrigató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 metadado | Sim |
Exemplo
Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
4)
CALL _ADVPL_set_property(
l_
zoomlayout_reference
,"
ZOOMMARGIN",
"zoom_empresa") Expandir |
---|
|
Define o tipo do zoom que será executado, de seleção única ou múltipla seleção. Bloco de código |
---|
_ADVPL_set_property(< l_zoom_reference >,"ZOOM_TYPE",< n_Type >) |
|
Nome | Tipo | Descrição | Obrigató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ção | Sim |
Exemplo
Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
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(
l_zoomm_cod_item_reference,"
ZOOM_TYPEENABLE",
1FALSE)
CALL
Expandir |
---|
|
Marca/desmarca um determinado registro do zoom de múltipla seleção. Bloco de código |
---|
_ADVPL_set_property(m_cod_item_reference,"LENGTH",15)
CALL _ADVPL_set_property( < m_ browsecod_item_reference >," SELECT_ITEMPICTURE", < n_Row >, < n_Status >) |
Nome | Tipo | Descrição | Obrigatório? |
---|
m_browse_reference | CHAR
| 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 |
Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
"@!")
CALL _ADVPL_set_property(m_cod_item_reference,"VARIABLE",mr_tela,"cod_item")
CALL _ADVPL_set_property(m_
browsecod_
filteritem_reference,"
SELECT_ITEM",1,5) Expandir |
---|
|
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. Bloco de código |
---|
WIDTH",50)
LET l_imagebutton_reference = _ADVPL_create_component(NULL,"LIMAGEBUTTON",l_layout_reference)
CALL _ADVPL_set_property( < l_ formimagebutton_reference >," PARAMETERCLICK_EVENT", < Formulário >, [ Record ], [ Array of Record ]) |
Nome | Tipo | Descrição | Obrigató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 |
Record | RECORD | Variável RECORD que irá controlar o conteúdo dos campos monovalorados do formulário. | Não |
Array of Record | ARRAY OF RECORD | Variável ARRAY OF RECORD que irá controlar o conteúdo dos campos multivalorados do formulário. | Nã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.
Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
CALL _ADVPL_set_property(l_form_reference,"PARAMETER","man10022",mr_tela,ma_tela)"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