BPM

Formulário ECM - Campos calculados

634 views 02/08/2019 14/09/2020 adriner-andrade 0

Conceito

Em determinados momentos é necessário que existam campos que seu valor seja o resultado de operações lógicas ou matemáticas baseado em valores de outros campos. Imagine um cenário em que seja necessário exibir um feedback relacionado a qual seria o valor do salário após um determinado reajuste, ou qual a proporção (do salário) frente ao teto de uma determinada categoria. Os campos calculados surgem para auxiliar na resolução de necessidades como essas.

Os campos calculados trabalham com uma expressão, o retorno é a fonte de alimentação do campo.

Configurando campo calculado

Na própria configuração do campo é possível definir uma expressão que realizará o cálculo. Ela é executada em JavaScript. Selecione o tipo do campo, e caso o tipo suportar, aparecerá um checkbox que indica que o campo será calculado. Marque ele e informe a expressão. Para acessar o valor de um campo dentro da expressão, basta utilizar a notação do placeholder ${<nome_do_campo>}, já presente em diversos pontos da aplicação, como nas regras. Como exemplo, temos a imagem abaixo.

Na execução do formulário, temos então o seguinte comportamento:

A expressão não necessariamente precisa conter outros campos. É possível definir expressões em que seu valor seja constante. Ao inicializar o formulário, esse valor já será resolvido.

Tipos que suportam cálculos:

  • Texto
  • Texto longo
  • Inteiro
  • Decimal
  • Data
  • Booleano

Trabalhando com Datas

Quando trabalhamos com datas em expressões é necessário ter em mente que o formato é milliseconds. Neste caso, para alimentar um campo calculado do tipo Data, é necessário sempre instanciar e retornar um objeto do tipo Date. Vamos partir para um cenário, que possuímos uma determinada data que possua X dias de tolerância e gostaríamos de apresentar ao usuário qual seria a data limite para a operação. Primeiramente, temos dois campos já definidos, um sendo a data inicial e o outro a tolerância em dias. Para o campo calculado teremos a seguinte configuração:

E assim, na execução:

Pontos importantes

  • Campos calculados sempre estarão desabilitados, pois o seu valor resulta de uma operação, e para mantê-lo consistente não é permitido sua edição;
  • Um campo calculado só terá valor quando todos os campos presentes em sua expressão forem satisfeitos (ou seja, não nulos). Caso um ou mais campos não possuam valor, o mesmo será assumido como sendo vazio;
  • A atualização dos valores (cálculo) ocorrerá sempre ao sair do campo;
  • Alterações em campos calculados não resultam na geração de uma nova versão do formulário.

Este artigo foi útil para você?