Histórico da Página
...
Por padrão, os fontes de indicadores devem ser criados na pasta "indicadores" dentro da pasta da área de negócio responsável pelo fonte, conforme o exemplo abaixo:
Desenvolvimento
Após criado o identificador, deve ser desenvolvido um fonte 4gl com as funções padrões para a execução da consulta rápida no Fluig. Atualmente são necessárias três funções para cada indicador, uma função responsável por retornar dados iniciais da consulta rápida, outra para retornar os dados retornados pela consulta e a última para habilitar a funcionalidade de auto-completar do widget no Fluig.
Função de START
A primeira função que deve ser criada no fonte de indicador é a função de start. No 4gl o nome desta função deve ter o sufixo _indicator_start não possui parâmetros e deverá retornar para o Fluig uma variável RECORD com as informações de montagem do widget de consulta rápida, como: os filtros que poderão ser realizados, as colunas que irão compor a grade com os dados da consulta, a lista de filtros pré-definidos que poderão ser utilizados, a lista com o nome dos programas que poderão ser executados a partir da consulta e a definição se o indicador utilizará ou não a funcionalidade de auto-completar. Um código de exemplo desta função pode ser visualizado abaixo:
Bloco de código | ||||
---|---|---|---|---|
| ||||
#------------------------------#
FUNCTION logi1_indicator_start()
#------------------------------#
DEFINE lr_start RECORD
filters ARRAY[2] OF
RECORD
table_name LIKE frm_column.table_name,
column_name LIKE frm_column.column_name
END RECORD,
columns ARRAY[3] OF
RECORD
table_name LIKE frm_column.table_name,
column_name LIKE frm_column.column_name,
detail SMALLINT,
can_order SMALLINT
END RECORD,
selection ARRAY[3] OF
RECORD
code CHAR(03),
label CHAR(50)
END RECORD,
actions ARRAY[2] OF
RECORD
code CHAR(08),
label CHAR(50)
END RECORD,
autocompl SMALLINT
END RECORD
IF LOG_initApp("PADRAO") > 0 THEN
RETURN
END IF
#Define as colunas de filtro da consulta rápida
LET lr_start.filters[1].table_name = 'log_grupos'
LET lr_start.filters[1].column_name = 'grupo'
LET lr_start.filters[2].table_name = 'log_grupos'
LET lr_start.filters[2].column_name = 'des_grupo'
#Define as colunas da consulta rápida
LET lr_start.columns[1].table_name = 'usuarios'
LET lr_start.columns[1].column_name = 'cod_usuario'
LET lr_start.columns[1].can_order = TRUE
LET lr_start.columns[2].table_name = 'usuarios'
LET lr_start.columns[2].column_name = 'nom_funcionario'
LET lr_start.columns[2].can_order = TRUE
LET lr_start.columns[3].table_name = 'usuarios'
LET lr_start.columns[3].column_name = 'ind_admlog'
LET lr_start.columns[3].can_order = FALSE
#Define quais valores estarão na seleção de filtros
LET lr_start.selection[1].code = '*'
LET lr_start.selection[1].label = 'Todos os usuários'
LET lr_start.selection[2].code = 'S'
LET lr_start.selection[2].label = 'Somente administradores'
LET lr_start.selection[3].code = 'N'
LET lr_start.selection[3].label = 'Somente usuários comuns'
#Define quais programas poderão ser chamados pela consulta
LET lr_start.actions[1].code = 'log02700'
LET lr_start.actions[1].label = 'Usuários'
LET lr_start.actions[2].code = 'log02720'
LET lr_start.actions[2].label = 'Grupos do usuário'
#Indica se irá existir a funcionalidade de auto-complete
LET lr_start.autocompl = TRUE
RETURN lr_start
END FUNCTION |
A execução da função acima irá permitir a inicialização do widget de consulta rápida e irá criá-lo semelhante a tela abaixo: