Código fonte Wiki de Comandos para formulários

Última modificação por FlowFast em 2026/03/30 14:24

Ocultar últimos autores
FlowFast 5.1 1 === Variáveis para alterar comportamento do formulário ===
FlowFast 1.2 2
FlowFast 5.1 3 |=Variável|=Descrição
4 |{<ID_FORM>_ADICIONAR}|Habilita ou Desabilita a possibilidade de incluir e remover novas linhas manualmente no formulário.
5 |{<ID_FORM>_REMOVER}|Habilita ou Desabilita a possibilidade de remover linhas já gravadas do formulário.
6 |{<ID_FORM>_REMOVER_NOVOS}|Habita o remover para linhas adicionadas por programação quando o botão ADICIONAR não está habilitado.
7
8 Exemplos:
9 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.
10 Defina:
11 {FORM_ITENS_REMOVER} := NAO;
12
13
14 Bloquear a adição e remoção mas deixar a possibilidade de editar as linhas existentes.
15 {FORM_ITENS_ADICIONAR} := NAO;
16 {FORM_ITENS_REMOVER} := NAO;
17
18
19 Bloquear a adição manual de novas linhas e permitir a remoção de todas linhas inclusive as que forem incluidas por programação.
20 Defina:
21 {FORM_ITENS_ADICIONAR} := NAO;
22 {FORM_ITENS_REMOVER_NOVOS} := SIM;
23
24 === Funções para manipular formulários ===
25
FlowFast 1.4 26 |=Função|=Descrição
FlowFast 1.3 27 |WFL_FORM_QTD_FNC(IN_SEQ_EXECUCAO, IN_FORM)|Retorna a quantidade de linhas presentes no formulário.
FlowFast 7.1 28 |WFL_FORM_GET_IDX_FNC(IN_SEQ_EXECUCAO, IN_FORM)|Retorna o índice da linha corrente do formulário, iniciando em 1.
FlowFast 1.3 29 |WFL_FORM_SET_IDX_PRC(IN_SEQ_EXECUCAO, IN_FORM, IN_IDX)|Define o índice da linha corrente do formulário, iniciando em 1.
FlowFast 1.2 30 |WFL_FORM_ADD_PRC(IN_SEQ_EXECUCAO, IN_FORM)|Adiciona uma linha no form e define o índice corrente já para a linha adicionada.
31 |WFL_FORM_DEL_PRC(IN_SEQ_EXECUCAO, IN_FORM, IN_IDX)|Remover linha do form, onde índice inicial é 1.
32 |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.
33 |WFL_FORM_GET_TXT_FNC(IN_SEQ_EXECUCAO, IN_FORM, IN_CAMPO)|Retorna o valor de um campo do tipo texto da linha corrente.
34 |WFL_FORM_GET_DTA_FNC(IN_SEQ_EXECUCAO, IN_FORM, IN_CAMPO)|Retorna o valor de um campo do tipo data da linha corrente.
35 |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.
36 |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.
37 |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.
FlowFast 1.3 38 |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.
39 |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.
40 |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.
41 |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.
FlowFast 1.2 42
FlowFast 1.4 43 === Exemplos ===
FlowFast 3.1 44
FlowFast 2.2 45 Popular um formulário a partir de um select
FlowFast 4.1 46 ORACLE:
FlowFast 5.1 47
FlowFast 2.1 48 (((
FlowFast 3.1 49 {{code language="SQL" layout="LINENUMBERS"}}
50 FOR rlin IN (SELECT e.COD_CIDADE
51 , e.DES_CIDADE
52 FROM ADM_CIDADE e
53 WHERE e.cod_uf = 'RS') LOOP
FlowFast 2.2 54
FlowFast 6.1 55 wfl_form_add_prc(in_seq_execucao => {XCP_SEQ_EXECUCAO}, in_form => 'FORM_CIDADES');
FlowFast 3.1 56
FlowFast 6.1 57 wfl_form_set_vlr_prc(in_seq_execucao => {XCP_SEQ_EXECUCAO}
FlowFast 3.1 58 ,in_form => 'FORM_CIDADES'
59 ,in_campo => 'COD_CIDADE'
60 ,in_valor => rlin.cod_cidade);
FlowFast 1.2 61
FlowFast 6.1 62 wfl_form_set_txt_prc(in_seq_execucao => {XCP_SEQ_EXECUCAO}
FlowFast 3.1 63 ,in_form => 'FORM_CIDADES'
64 ,in_campo => 'DES_CIDADE'
65 ,in_valor => rlin.des_cidade);
FlowFast 2.2 66
67 END LOOP;
FlowFast 2.1 68 {{/code}}
69 )))
FlowFast 4.1 70
71 POSTGRES:
FlowFast 5.1 72
FlowFast 4.1 73 (((
74 {{code language="SQL" layout="LINENUMBERS"}}
75 FOR rlin IN (SELECT e.COD_CIDADE
76 , e.DES_CIDADE
77 FROM ADM_CIDADE e
78 WHERE e.cod_uf = 'RS') LOOP
79
FlowFast 6.1 80 execute wfl_form_add_prc(in_seq_execucao => {XCP_SEQ_EXECUCAO}, in_form => 'FORM_CIDADES');
FlowFast 4.1 81
FlowFast 6.1 82 execute wfl_form_set_vlr_prc(in_seq_execucao => {XCP_SEQ_EXECUCAO}
FlowFast 4.1 83 ,in_form => 'FORM_CIDADES'
84 ,in_campo => 'COD_CIDADE'
85 ,in_valor => rlin.cod_cidade);
86
FlowFast 6.1 87 execute wfl_form_set_txt_prc(in_seq_execucao => {XCP_SEQ_EXECUCAO}
FlowFast 4.1 88 ,in_form => 'FORM_CIDADES'
89 ,in_campo => 'DES_CIDADE'
90 ,in_valor => rlin.des_cidade);
91
92 END LOOP;
93 {{/code}}
94 )))
FlowFast 8.1 95
FlowFast 9.1 96 Lê um formulário e insere em uma tabela
FlowFast 8.1 97
FlowFast 9.1 98 ORACLE:
FlowFast 8.1 99 (((
100 {{code language="SQL" layout="LINENUMBERS"}}
101 DECLARE
FlowFast 9.1 102 wqtd NUMBER;
103 wuf VARCHAR2(2);
104 wcid NUMBER;
105 wdes VARCHAR2(4000);
106 BEGIN
107 wqtd := wfl_form_qtd_fnc({XCP_SEQ_EXECUCAO}, 'FORM_N1');
108
109 FOR i IN 1..wqtd LOOP
110 wfl_form_set_idx_prc({XCP_SEQ_EXECUCAO}, 'FORM_N1', i);
111
112 wuf := wfl_form_get_txt_fnc({XCP_SEQ_EXECUCAO}, 'FORM_N1', 'COD_UF');
113 wcid := wfl_form_get_vlr_fnc({XCP_SEQ_EXECUCAO}, 'FORM_N1', 'COD_CID');
114 wdes := wfl_form_get_txt_fnc({XCP_SEQ_EXECUCAO}, 'FORM_N1', 'DES_CID');
115
116 INSERT INTO cidades VALUES (wuf, wcid, wdes);
117 END LOOP;
118
119 END;
120 {{/code}}
121 )))
122
123 POSTGRES:
124 (((
125 {{code language="SQL" layout="LINENUMBERS"}}
126 DECLARE
FlowFast 8.1 127 wqtd NUMERIC;
128 wuf VARCHAR;
129 wcid NUMERIC;
130 wdes VARCHAR;
131 BEGIN
132 wqtd := wfl_form_qtd_fnc({XCP_SEQ_EXECUCAO}, 'FORM_N1');
133
134 FOR i IN 1..wqtd LOOP
135 execute wfl_form_set_idx_prc({XCP_SEQ_EXECUCAO}, 'FORM_N1', i);
136
137 wuf := wfl_form_get_txt_fnc({XCP_SEQ_EXECUCAO}, 'FORM_N1', 'COD_UF');
138 wcid := wfl_form_get_vlr_fnc({XCP_SEQ_EXECUCAO}, 'FORM_N1', 'COD_CID');
FlowFast 9.1 139 wdes := wfl_form_get_txt_fnc({XCP_SEQ_EXECUCAO}, 'FORM_N1', 'DES_CID');
FlowFast 8.1 140
141 INSERT INTO cidades VALUES (wuf, wcid, wdes);
142 END LOOP;
143
144 END;
145 {{/code}}
146 )))