Variáveis para alterar comportamento do formulário
Variável | Descrição |
---|---|
{<ID_FORM>_ADICIONAR} | Habilita ou Desabilita a possibilidade de incluir e remover novas linhas manualmente no formulário. |
{<ID_FORM>_REMOVER} | Habilita ou Desabilita a possibilidade de remover linhas já gravadas do formulário. |
{<ID_FORM>_REMOVER_NOVOS} | Habita o remover para linhas adicionadas por programação quando o botão ADICIONAR não está habilitado. |
Exemplos:
Bloquear a remoção de linhas que vieram de tarefas anteriores (ou seja que já estejam gravadas na tarefa), mas permitir incluir e remover manualmente novas linhas.
Defina:
{FORM_ITENS_REMOVER} := NAO;
Bloquear a adição e remoção mas deixar a possibilidade de editar as linhas existentes.
{FORM_ITENS_ADICIONAR} := NAO;
{FORM_ITENS_REMOVER} := NAO;
Bloquear a adição manual de novas linhas e permitir a remoção de todas linhas inclusive as que forem incluidas por programação.
Defina:
{FORM_ITENS_ADICIONAR} := NAO;
{FORM_ITENS_REMOVER_NOVOS} := SIM;
Funções para manipular formulários
Função | Descrição |
---|---|
WFL_FORM_QTD_FNC(IN_SEQ_EXECUCAO, IN_FORM) | Retorna a quantidade de linhas presentes no formulário. |
WFL_FORM_GET_IDX_FNC(IN_SEQ_EXECUCAO, IN_FORM) | Returna o índice da linha corrente do formulário, iniciando em 1. |
WFL_FORM_SET_IDX_PRC(IN_SEQ_EXECUCAO, IN_FORM, IN_IDX) | Define o índice da linha corrente do formulário, iniciando em 1. |
WFL_FORM_ADD_PRC(IN_SEQ_EXECUCAO, IN_FORM) | Adiciona uma linha no form e define o índice corrente já para a linha adicionada. |
WFL_FORM_DEL_PRC(IN_SEQ_EXECUCAO, IN_FORM, IN_IDX) | Remover linha do form, onde índice inicial é 1. |
WFL_FORM_GET_VLR_FNC(IN_SEQ_EXECUCAO, IN_FORM, IN_CAMPO) | Retorna o valor de um campo do tipo numérico da linha corrente. |
WFL_FORM_GET_TXT_FNC(IN_SEQ_EXECUCAO, IN_FORM, IN_CAMPO) | Retorna o valor de um campo do tipo texto da linha corrente. |
WFL_FORM_GET_DTA_FNC(IN_SEQ_EXECUCAO, IN_FORM, IN_CAMPO) | Retorna o valor de um campo do tipo data da linha corrente. |
WFL_FORM_SET_VLR_PRC(IN_SEQ_EXECUCAO, IN_FORM, IN_CAMPO, IN_VALOR) | Define o valor de um campo do tipo numérico da linha corrente. |
WFL_FORM_SET_TXT_PRC(IN_SEQ_EXECUCAO, IN_FORM, IN_CAMPO, IN_VALOR) | Define o valor de um campo do tipo texto da linha corrente. |
WFL_FORM_SET_DTA_PRC(IN_SEQ_EXECUCAO, IN_FORM, IN_CAMPO, IN_VALOR) | Define o valor de um campo do tipo data da linha corrente. |
WFL_FORM_GET_SUM_VLR_FNC(IN_SEQ_EXECUCAO, IN_FORM, IN_CAMPO) | Retorna o somatório de todas as linhas de um campo do tipo numérico. |
WFL_FORM_SET_ALL_VLR_PRC(IN_SEQ_EXECUCAO, IN_FORM, IN_DES_CAMPO, IN_VALOR) | Define o valor de um campo do tipo numérico da linha corrente. |
WFL_FORM_SET_ALL_TXT_PRC(IN_SEQ_EXECUCAO, IN_FORM, IN_DES_CAMPO, IN_VALOR) | Define o valor de um campo do tipo texto da linha corrente. |
WFL_FORM_SET_ALL_DTA_PRC(IN_SEQ_EXECUCAO, IN_FORM, IN_DES_CAMPO, IN_VALOR) | Define o valor de um campo do tipo data da linha corrente. |
Exemplos
Popular um formulário a partir de um select
ORACLE:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
FOR rlin IN (SELECT e.COD_CIDADE
, e.DES_CIDADE
FROM ADM_CIDADE e
WHERE e.cod_uf = 'RS') LOOP
wfl_form_add_prc(in_seq_execucao => {SEQ_EXECUCAO}, in_form => 'FORM_CIDADES');
wfl_form_set_vlr_prc(in_seq_execucao => {SEQ_EXECUCAO}
,in_form => 'FORM_CIDADES'
,in_campo => 'COD_CIDADE'
,in_valor => rlin.cod_cidade);
wfl_form_set_txt_prc(in_seq_execucao => {SEQ_EXECUCAO}
,in_form => 'FORM_CIDADES'
,in_campo => 'DES_CIDADE'
,in_valor => rlin.des_cidade);
END LOOP;
, e.DES_CIDADE
FROM ADM_CIDADE e
WHERE e.cod_uf = 'RS') LOOP
wfl_form_add_prc(in_seq_execucao => {SEQ_EXECUCAO}, in_form => 'FORM_CIDADES');
wfl_form_set_vlr_prc(in_seq_execucao => {SEQ_EXECUCAO}
,in_form => 'FORM_CIDADES'
,in_campo => 'COD_CIDADE'
,in_valor => rlin.cod_cidade);
wfl_form_set_txt_prc(in_seq_execucao => {SEQ_EXECUCAO}
,in_form => 'FORM_CIDADES'
,in_campo => 'DES_CIDADE'
,in_valor => rlin.des_cidade);
END LOOP;
POSTGRES:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
FOR rlin IN (SELECT e.COD_CIDADE
, e.DES_CIDADE
FROM ADM_CIDADE e
WHERE e.cod_uf = 'RS') LOOP
execute wfl_form_add_prc(in_seq_execucao => {SEQ_EXECUCAO}, in_form => 'FORM_CIDADES');
execute wfl_form_set_vlr_prc(in_seq_execucao => {SEQ_EXECUCAO}
,in_form => 'FORM_CIDADES'
,in_campo => 'COD_CIDADE'
,in_valor => rlin.cod_cidade);
execute wfl_form_set_txt_prc(in_seq_execucao => {SEQ_EXECUCAO}
,in_form => 'FORM_CIDADES'
,in_campo => 'DES_CIDADE'
,in_valor => rlin.des_cidade);
END LOOP;
, e.DES_CIDADE
FROM ADM_CIDADE e
WHERE e.cod_uf = 'RS') LOOP
execute wfl_form_add_prc(in_seq_execucao => {SEQ_EXECUCAO}, in_form => 'FORM_CIDADES');
execute wfl_form_set_vlr_prc(in_seq_execucao => {SEQ_EXECUCAO}
,in_form => 'FORM_CIDADES'
,in_campo => 'COD_CIDADE'
,in_valor => rlin.cod_cidade);
execute wfl_form_set_txt_prc(in_seq_execucao => {SEQ_EXECUCAO}
,in_form => 'FORM_CIDADES'
,in_campo => 'DES_CIDADE'
,in_valor => rlin.des_cidade);
END LOOP;