Formulário |
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.
Parâmetros da funçãoO 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.
Regra para habilitar/desabilitar campos do formulárioEm 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:
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:
Como utilizar variáveisVariá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.
Como utilizar condições (se/senão) para habilitar campos de acordo com valor de outro campoCondiçõ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:
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:
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órmulaPara 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:
Como realizar cálculos com valores preenchidos no formulárioPara realizar cálculos deve-se utilizar as funções de matemática: Soma, Multiplicação, etc. Veja mais detalhes nas imagens a seguir:
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álculoPara 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.
Como preencher valor no campo com nome do usuário logadoPara 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:
Como preencher valor no campo com iniciador do processoPara 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:
Como habilitar campos do formulário de acordo com atividade do processoPara 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.
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.
Como calcular total de coluna da gridNã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.
Como desabilitar todos os campos do fieldsetPara 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.
Como esconder/exibir título/imagemPara 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.
Como preencher valor no títuloPara 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.
Exemplo de calcular a idade a partir da data de nascimentoPara 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.
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.
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.
|