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 |
---|
(l_panel_reference,"ALIGN","CENTER")
LET l_layout_reference = _ADVPL_create_component(NULL,"LLAYOUTMANAGER",l_panel_reference)
CALL _ADVPL_set_property( < ml_ zoomlayout_reference >," ARRAYCOLUMNS_ RECORD_RETURNCOUNT",4)
< 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(
ml_
zoom_empresalayout_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 |
---|
|
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(
l_zoomm_cod_item_reference,"
ZOOM_COMPONENT","zoom_component",3,10,5) Expandir |
---|
|
Carrega as informações do zoom informado, cadastrado no metadado. Bloco de código |
---|
LENGTH",15)
CALL _ADVPL_set_property( < l_zoomm_cod_item_reference >," ZOOMPICTURE", < 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 |
---|
|
CALL _"@!")
CALL _ADVPL_set_property(
l_zoomm_cod_item_reference
,"
ZOOMVARIABLE",mr_tela,"
zoomcod_
empresa") Expandir |
---|
|
Junção dos métodos "PARAMETER" e "ACTIVATE", carrega as informações do formulário e executa-o em seguida. Bloco de código | _item")
CALL _ADVPL_set_property( < l_formm_cod_item_reference >," INIT_PARAMETERWIDTH", <50)
Formulário
>, [ Record ], [ Array of Record ]) |
Nome | Tipo | Descrição | Obrigató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 |
Record | RECORD | Variável RECORD que irá controlar o conteúdo dos campos monovalorados do formulário. | Sim |
Array of Record | ARRAY OF RECORD | Variável ARRAY OF RECORD que irá controlar o conteúdo dos campos multivalorados do formulário. | Sim |
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 |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
DATABASE logix GLOBALS
DEFINE p_userLET 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
LIKE usuarios.cod_usuario_ADVPL_set_property(l_imagebutton_reference,"SIZE",24,20)
DEFINELET
pm_
codden_item_
empresareference
LIKE empresa.cod_empresa END GLOBALS DEFINE mr_tela= _ADVPL_create_component(NULL,"LTEXTFIELD",l_layout_reference)
CALL _ADVPL_set_property(m_den_item_reference,"ENABLE",FALSE)
RECORDCALL _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)
cod_empresa LIKE empresa.cod_empresa,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)
den_empresa LIKE empresa.den_empresaCALL _ADVPL_set_property(m_count_empresas_reference,"LENGTH",04)
CALL _ADVPL_set_property(m_count_empresas_reference,"VARIABLE",mr_tela,"count_empresas")
END RECORD DEFINE ma_tela
CALL _ADVPL_set_property(m_count_empresas_reference,"WIDTH",50)
LET l_imagebutton_reference
ARRAY[100] OF= _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
RECORD_ADVPL_set_property(l_imagebutton_reference,"SIZE",24,20)
CALL _ADVPL_set_property(l_layout_reference,"ADD_EMPTY_COLUMN")
cod_item LIKE item.cod_item,
den_item LIKE item.den_item
END RECORD DEFINE m_form_reference
VARCHAR(100)
#CALL _ADVPL_set_property(l_dialog_reference,"ACTIVATE",TRUE)
END FUNCTION
#------------------------------
#
FUNCTION man100220()
#-----------#
FUNCTION zoommetadata_execute_zoom_item()
#-----------------------------------------#
# Verifica o acesso do usuário conforme módulo do programa.
DEFINE l_cod_item CHAR(15),
IF
LOG_initApp("PADRAO") <> 0 THEN
l_den_item CHAR(76)
#Carrega o zoom de itens, se
RETURN
o mesmo ainda não foi
END IFcarregado
INITIALIZE mr_tela.*, ma_tela TO NULLIF m_zoom_item_reference IS NULL THEN
LET
lm_zoom_
formitem_reference = _ADVPL_create_component(NULL,"
LPARMETADATALZOOMMETADATA")
CALL _ADVPL_set_property(
lm_zoom_
formitem_reference,"
INIT_PARAMETERZOOM","
man100220",mr_tela,ma_telazoom_item")
END
FUNCTIONIF
Expandir |
---|
|
Quantidade de linhas de um determinado multivalorado do formulário.
Bloco de código |
---|
_ADVPL_set_property(< l_form_reference >,"ITEM_COUNT", < Associação >, < Quantidade >) |
Nome | Tipo | Descrição | Obrigatório? |
---|
l_form_reference | CHAR
| Referência do formulário. | Sim |
Associação | CHAR
| Nome da associação do multivalorado do formulário. | Sim |
Quantidade | INTEGER | Número de linhas que será atribuído para um determinado multivalorado do formulário. | Sim |
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.
Bloco de código |
---|
language | ruby |
---|
theme | Confluence |
---|
linenumbers | true |
---|
|
CALL _ADVPL_set_property(l_form_reference,"ITEM_COUNT","item",10) |
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 |
---|
_ADVPL_set_property(< l_form_reference >,"PARAMETER",< 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)
#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