Navigation:  Ferramentas > Editor de fórmula > Editar funções e fórmulas >

Formulário

Previous  Top  Next

Um formulário é composto por campos, onde cada campo é relacionado a um atributo da entidade. As entidades são tabelas na base de dados e os atributos são colunas da tabela. Um exemplo de fórmula pode ser a verificação do valor de um campo e a realização de ações sobre outros campos. As ações são: Habilitar, desabilitar, marcar como requerido, não requerido, exibir, ocultar, limpar, carregar e aplicar valor em um campo.

 

Onde e quando se executa a regra (fórmula)

As regras/fórmulas são executadas nos eventos do formulário. Um evento é um controle do sistema que monitora o uso e dispara a execução das regras. Um exemplo desse mecanismo é o evento de carregar o formulário. Após completar o carregamento é executada a fórmula que foi associada a esse evento. Outro exemplo comum, ao clicar em um item de checkbox executa-se a fórmula associada ao clique desse item. Os eventos mais comuns nos itens do formulário são: entrada, saída, alteração e clique.

 

ed_form_regras

 

Parâmetros da função

O Editor de fórmulas é composto por: barra de ferramentas, área de edição e área de apresentação. A barra de ferramentas é composta por uma biblioteca de funções disponíveis para o componente onde o Editor de fórmulas foi aberto; A área de edição permite a inclusão das regras e; a área de apresentação exibe as regras da área de edição em diferentes cores, permitindo identificar com mais facilidade as funções que permitem a inclusão dos parâmetros da função através de uma tela de seleção.

 

ed_form_params_funcao

A

Ao clicar na seta ao lado do tipo de função, será exibido um menu contendo todas as funções daquele tipo.

B

Ao clicar no menu da função, a mesma será copiada para a área de edição/apresentação; a tela de parâmetros da função será automaticamente apresentada, assim que a função for copiada para o editor de fórmulas.

C

Ao clicar na função, na área de apresentação, será exibida a tela de parâmetros da função, permitido alterar as configurações realizadas. Ao configurar o parâmetro e salvar, a função será atualizada na área de edição e na área de apresentação.

 

Regra para habilitar/desabilitar campos do formulário

Em um formulário é comum existir regras que desabilitam campos de acordo com alguma opção selecionada. Um exemplo simples é um conjunto de radio buttons para identificar o estado civil (Solteiro/Casado). Neste exemplo, ao selecionar a opção "married" (casado) deve-se habilitar o campo "Spouse name" da área "Spouse" (cônjuge). Para melhor entendimento, pode-se escrever a fórmula (regra) em uma forma simples que o editor de fórmulas precisa:

 

ed_form_regra_01_zoom80

 

Descrição simples da regra: Quando o usuário clicar no campo "Married" deve-se habilitar o campo "Spouse name", da área "Spouse". Também deverá remover qualquer marcação realizada nos demais radio buttons da área "Marital Status".

 

O "quando", da descrição acima, é determinado pelo evento de clique no radio button "Married". A ação de habilitar o campo "Spouse name" e de desmarcar os demais radio buttons é determinada pela função "ACAO". Clique sobre a função, na área de apresentação, e na tela de parâmetros, selecione todos os campos do formulário que serão alterados com o clique no radio button "Married". Utilize as colunas da tela de parâmetros para habilitar o campo "Spouse name" e limpar os campos dos outros radio button. Veja mais detalhes na imagem a seguir:

 

ed_form_regra_02_zoom80

 

Como utilizar variáveis

Variáveis são utilizadas para guardar valores em diversos lugares da fórmula. Um exemplo comum é buscar o valor de um campo e comparar diversas vezes na fórmula para habilitar/desabilitar campos de acordo com um valor.

 

Para criar uma variável basta escrever uma letra ou palavra seguida do caractere "=" (igual) e o valor da variável. O valor pode ser um número (resultado de um cálculo), um texto (nesse caso entre aspas simples) ou pode ser um valor de um campo do formulário.

 

ed_form_variaveis

 

Como utilizar condições (se/senão) para habilitar campos de acordo com valor de outro campo

Condições servem para os casos em que se deseja verificar um valor de um campo, e dependendo do valor, habilitar alguns campos ou desabilitar/esconder outros. Para habilitar/desabilitar campos deve-se sempre usar a função ACAO. A imagem a seguir mostra um exemplo que busca o valor de um campo e armazena em uma variável para utilizar nas condições:

 

ed_form_se_senao

A

Busca o valor do campo e armazena na variável "v" (valor)./

B

Se o valor de "v" for igual a 'John', ou seja, se o nome do emissor for igual a 'John', aplica a ação de habilitar o campo 'starttime'.

C

Se o valor de "v" for igual a 'Anne', ou seja, se o nome do emissor for igual a 'Anne', aplica a ação de tornar obrigatório o preenchimento do campo 'starttime'.

 

Para cada comando SE/SENAO é necessário o comando FIM. A função ACAO está atribuída a uma variável x, pois o sistema de fórmulas mantém o padrão que em todas as funções devem ser tratadas o retorno. Pode-se também fazer "RETORNO ACAO(...)". A função VALORCAMPO utiliza 2 parâmetros: Identificador da entidade e identificador do atributo da entidade. Para facilitar ao abrir a tela de configuração do parâmetro o sistema já preenche com a entidade do formulário corrente.

 

Como buscar valor selecionado na lista (combobox/zoom)

Para buscar valor na lista (combobox/zoom) é semelhante a buscar valor em outro campo (input, etc.). Basta utilizar a função VALORLISTA no lugar de VALORCAMPO. A função VALORLISTA permite buscar valor selecionado que não é mostrado na tela. Veja um exemplo na imagem a seguir:

 

ed_form_valor_lista

 

A função VALORLISTA possui 3 parâmetros: Identificador da entidade, Identificador do relacionamento (mesmo utilizado nas propriedades do combobox/zoom no formulário) e identificador do atributo. Ao abrir a tela de configuração dos parâmetros da função o sistema preenche automaticamente a entidade de origem do formulário corrente. Basta selecionar o relacionamento e o atributo que se deseja buscar.

 

Como preencher valor no campo via fórmula

Para preencher o valor em um campo via fórmula deve-se usar a mesma função que habilita/desabilita campos. O último parâmetro pode-se informar uma variável que contém o valor a ser preenchido. A imagem a seguir mostra um exemplo:

 

ed_form_valor_campo

 

Como realizar cálculos com valores preenchidos no formulário

Para realizar cálculos deve-se utilizar as funções de matemática: Soma, Multiplicação, etc. Veja mais detalhes nas imagens a seguir:

 

ed_form_func_math_01

ed_form_func_math_02

A

Operações de soma.

B

Operações de multiplicação.

C

Operações de subtração e divisão.

D

Em casos de divisão de número decimal, deve-se multiplicar o valor decimal por 1 e então fazer a divisão.

 

As funções de SOMA e MULTIPLICACAO possuem parâmetros, que são os valores da operação, separados por ponto-e-vírgula (;). Em casos da divisão de número decimal deve-se multiplicar o valor por 1 antes de realizar a divisão. Isso, pois o sistema precisa converter o separador ("," ou ".") das casas decimais para um formato único.

 

Como preencher valor no campo com resultado do cálculo

Para preencher o valor no campo com o resultado do cálculo basta realizar o cálculo e utilizar a função ACAO para definir o valor no campo. A imagem a seguir mostra um exemplo que multiplica dois campos e preenche o valor com o resultado no campo total.

 

ed_form_valor_calculo

 

Como preencher valor no campo com nome do usuário logado

Para este caso também será utilizada a função ACAO. O nome do usuário logado pode ser obtido através da função USUARIOLOGADO. Veja mais detalhes na imagem a seguir:

 

ed_form_usuario_logado

 

Como preencher valor no campo com iniciador do processo

Para este caso também será utilizada a função ACAO. O nome do iniciador do processo pode ser obtido através da função INICIADOR. Veja mais detalhes na imagem a seguir:

 

ed_form_iniciador_processo

 

É importante ressaltar que esta função somente pode ser testada através da execução de um processo no SE Workflow.

 

Como habilitar campos do formulário de acordo com atividade do processo

Para habilitar campos de acordo com a atividade deve-se primeiramente buscar o identificador ou nome da atividade para utilizar nas condições. Para isso utiliza-se a função ATIVIDADE que busca a atividade corrente que o formulário é visualizado. Após isso deve-se criar as condições (SE/SENAO) e utilizar a função ACAO para habilitar/desabilitar campos. A figura a seguir mostra um exemplo.

 

ed_form_habilitar_campos_atvprc

 

Exemplo de preencher matrícula e o sistema buscar o Nome, Idade, etc.

Esse exemplo é utilizado em casos que o usuário digita a matrícula ou código e o sistema busca nas demais entidades o nome, idade, estado civil, etc. Para realizar essa tarefa deve-se seguir o seguinte procedimento:

 

No evento de saída do campo de matrícula criar uma fórmula;

Na fórmula, primeiramente deve-se buscar o valor do campo matrícula (usrregistry) e armazenar em uma variável (usr_registry). Utiliza-se a função VALORCAMPO

Criar um filtro (filter) com o valor da matrícula na entidade que possui os dados de nome, idade, etc. (entidade 'E002 - Employee'). Utiliza-se a função FILTROTABELA.

Buscar o nome e idade na entidade (E002 - Employee) utilizando o filtro criado acima e armazena em variáveis ('var_nm' e 'var_age'). Utiliza-se a função VALORCAMPOFILTRO.

Preencher o nome e idade nos campos do formulário utilizando a função ACAO.

 

ed_form_matric_busca_nome

A

Busca a matrícula (usrregistry) preenchida pelo usuário no formulário

B

Cria um filtro na entidade 'E002 - EMPLOYEE' pelo atributo 'registryid'

C

Busca o nome e a idade na entidade 'E002' utilizando o filtro

D

Preenche os campos nome e idade no formulário com o valor das variáveis

 

Como calcular total de coluna da grid

Não é necessário que a coluna esteja sendo mostrada na grid, pois considera-se uma coluna da entidade. Para calcular deve-se utilizar a função TOTALGRID. Nessa função informa-se o relacionamento, a entidade da grid (mesmos dados informados nas propriedades da grid), o campo que se deseja calcular e a operação (Soma, Média, Máximo, Mínimo, Contador). Após calcular pode-se preencher o resultado em um campo do formulário via função ACAO.

 

ed_form_total_grid

A

Calcula a soma total da coluna (TOTALVL) da grid.

B

Preenche um campo decimal com o resultado.

 

Como desabilitar todos os campos do fieldset

Para aplicar ações em todos os itens posicionados dentro de um fieldset pode-se utilizar a função ACAOGRUPO. Deve-se informar o identificador do fieldset e as ações a serem realizadas. Utilizada em casos que se deseja esconder ou desabilitar várias secções do formulário. Para aplicar a mais de um fieldset basta repetir a linha alterando o identificador para cada fieldset.

 

ed_form_desabilitar_campos_fieldset

 

Como esconder/exibir título/imagem

Para esconder ou exibir campos do tipo título ou imagem deve-se utilizar a função ACAOITEMGRAFICO. Essa função é semelhante à ACAOGRUPO. Precisa-se informar o identificador do item de título ou item de imagem e as ações a serem realizadas.

 

ed_form_exibir_esconder_elemento

 

Como preencher valor no título

Para preencher valor no título utiliza-se a função ACAOITEMGRAFICO. Precisa-se somente informar no último parâmetro a variável com o valor a ser preenchido. A figura a seguir mostra um exemplo.

 

ed_form_preencher_valor_titulo

 

Exemplo de calcular a idade a partir da data de nascimento

Para calcular a idade é necessário utilizar algumas funções do botão de data na barra de ferramentas. A imagem a seguir mostra um exemplo.

 

ed_form_calcular_idade

A

Busca a data de nascimento preenchida no formulário.

B

Busca a data de hoje através da função HOJE().

C

Separa as datas em ano, mês e dia.

D

Calcula a idade através da subtração do ano atual pelo ano de nascimento.

E

Verifica se no ano atual o usuário já fez aniversário. Caso não tenha feito, diminui a idade em um ano.

F

Preenche o valor do campo idade com a idade calculada.

 

Cálculo com campo Hora

É possível calcular a quantas horas entre dois campos do tipo hora. Na imagem a seguir é mostrado um exemplo entre um campo hora e a hora atual.

 

ed_form_calculo_campo_hora

 

Como utilizar as funções ACAO, ACAOGRUPO e ACAOITEMGRAFICO na mesma fórmula

É possível utilizar as funções de ACAO, ACAOGRUPO e ACAOITEMGRAFICO combinadas. Existem casos que se deseja manter somente um item habilitado dentro de um fieldset e os demais desabilitados. Para atender a esse caso pode-se desabilitar todos os itens do fieldset com a função ACAOGRUPO e em seguida habilitar o campo desejado com a função ACAO. A sequência das ações é respeitada. A figura a seguir mostra um exemplo.

 

ed_form_func_acoes

 

A

Desabilita todos os itens dentro do fieldset.

B

Habilita somente o campo total.

 

Cabe ressaltar que não é mais necessário concatenar utilizando ‘|’ (pipe). Também não é mais preciso sempre retornar uma ação.

Ex: A = ACAO(...)

B = ACAO(...)

RETORNO A+’|’+B