Campo tipo Autocalculado
Los campos autocalculados se pueden utilizar para calcular valores de forma dinámica en base a otros campos del formulario.
Por ejemplo: Imagina que deseas crear un formulario para registrar tus órdenes de compra. Es probable que incluyas un campo de tipo tabla que muestra los artículos que deseas comprar, la cantidad, el precio unitario y una columna “Total” que calcule el producto entre precio y cantidad. En este caso, puede ser muy útil incluir un campo autocalculado debajo para guardar el valor total de la compra.
Un campo autocalculado permite ahorrar tiempo y evitar errores. Al momento de completar una tarea, los usuarios no podrán modificar el valor del campo autocalculado, ya que se genera automáticamente.
Agrega un nuevo campo al formulario, selecciona el tipo de dato “Autocalculado” y haz clic en “Edita el campo autocalculado aquí”.
Las funciones disponibles son las siguientes:
Suma
Máx
Mín
Count
Mult
Script
Luego de seleccionar la función, debes elegir los campos involucrados. Estos son todos los campos del formulario utilizados para calcular el valor final. Ten en cuenta que para poder configurar el campo autocompletado correctamente, primero tendrás que añadir todos los campos involucrados al formulario. Elige también la máscara “$” si quieres que el símbolo se muestre en el campo autocalculado.
La función Suma permite definir campos involucrados del siguiente tipo: texto (una o múltiples líneas), número entero, número decimal, combo, columnas de otras tablas y/u otros campos autocalculados.
Dada la tabla con las columnas: Item, Precio, Cantidad y Total, podemos calcular primero los valores de la columna Total. Para hacer esto, debes multiplicar la columna “Precio” por la columna “Cantidad” como se muestra en la imagen.
Una vez hecho eso, puedes sumar estos valores en un campo autocalculado llamado “Total compras”.
Importante: Si el usuario ingresa valores no numéricos en alguno de los campos involucrados, para el cálculo de la función valdrán 0. Si el resultado de la suma es inválido, el valor mostrado será 0.
Un campo autocalculado puede tener 4 tipos de visibilidad:
Oculto: no se muestra.
Inactivo: el valor del campo autocalculado no se actualiza, sin importar si los campos involucrados cambian o no. Permite “congelar” el valor del campo.
Activo: el valor del campo se autocalcula en tiempo real a medida que cambia alguno de los campos involucrados.
Obligatorio: el campo está activo.
Ten en cuenta que el campo autocalculado se calcula siempre a partir de campos involucrados visibles. Si la función usa un campo oculto, ese campo sumará 0, por más que en otra etapa se le haya asignado un valor.
Al igual que con los demás campos del formulario, puedes establecer condiciones en el flujo en base al valor de un campo autocalculado e insertar el valor en una Tarea de Envío de Mensaje.
A la hora de colocar scripts en campos autocalculados, es necesario tener en cuenta los siguientes puntos:
La mención a los campos involucrados en la fórmula se realiza en formato Mustache entre {{ y }}.
Ejemplo: {{Fecha de nacimiento}}
Recomendamos que el script contenga la lógica que se quiere ejecutar, sin mucho más preámbulo.
Ejemplo: {{ Area }} * {{ Precio }}
Si la lógica fuera compleja, un workaround puede ser definirla dentro de una función.
Ejemplo:
Para el desarrollo de este tipo de scripts aplican las recomendaciones que mencionamos en el post sobre Desarrollo de scripts en INTEGRADOC, tales como usar parseInt o parseFloat cuando se realizan operaciones matemáticas, o las librerías para el manejo de fechas. Así mismo pueden utilizarse dentro del script las funciones propias de INTEGRADOC como getFieldValue().
No es posible utilizar en este tipo de script las funciones onChange y onInit. No tendrán efecto alguno y pueden generar comportamientos no deseados.
Por ejemplo: Imagina que deseas crear un formulario para registrar tus órdenes de compra. Es probable que incluyas un campo de tipo tabla que muestra los artículos que deseas comprar, la cantidad, el precio unitario y una columna “Total” que calcule el producto entre precio y cantidad. En este caso, puede ser muy útil incluir un campo autocalculado debajo para guardar el valor total de la compra.
Un campo autocalculado permite ahorrar tiempo y evitar errores. Al momento de completar una tarea, los usuarios no podrán modificar el valor del campo autocalculado, ya que se genera automáticamente.
Crear un campo autocalculado
Agrega un nuevo campo al formulario, selecciona el tipo de dato “Autocalculado” y haz clic en “Edita el campo autocalculado aquí”.
Las funciones disponibles son las siguientes:
Suma
Máx
Mín
Count
Mult
Script
Luego de seleccionar la función, debes elegir los campos involucrados. Estos son todos los campos del formulario utilizados para calcular el valor final. Ten en cuenta que para poder configurar el campo autocompletado correctamente, primero tendrás que añadir todos los campos involucrados al formulario. Elige también la máscara “$” si quieres que el símbolo se muestre en el campo autocalculado.
La función Suma permite definir campos involucrados del siguiente tipo: texto (una o múltiples líneas), número entero, número decimal, combo, columnas de otras tablas y/u otros campos autocalculados.
Caso de uso
Dada la tabla con las columnas: Item, Precio, Cantidad y Total, podemos calcular primero los valores de la columna Total. Para hacer esto, debes multiplicar la columna “Precio” por la columna “Cantidad” como se muestra en la imagen.
Una vez hecho eso, puedes sumar estos valores en un campo autocalculado llamado “Total compras”.
Importante: Si el usuario ingresa valores no numéricos en alguno de los campos involucrados, para el cálculo de la función valdrán 0. Si el resultado de la suma es inválido, el valor mostrado será 0.
Visibilidad de un campo autocalculado
Un campo autocalculado puede tener 4 tipos de visibilidad:
Oculto: no se muestra.
Inactivo: el valor del campo autocalculado no se actualiza, sin importar si los campos involucrados cambian o no. Permite “congelar” el valor del campo.
Activo: el valor del campo se autocalcula en tiempo real a medida que cambia alguno de los campos involucrados.
Obligatorio: el campo está activo.
Ten en cuenta que el campo autocalculado se calcula siempre a partir de campos involucrados visibles. Si la función usa un campo oculto, ese campo sumará 0, por más que en otra etapa se le haya asignado un valor.
Al igual que con los demás campos del formulario, puedes establecer condiciones en el flujo en base al valor de un campo autocalculado e insertar el valor en una Tarea de Envío de Mensaje.
Scripts en campos autocalculados
A la hora de colocar scripts en campos autocalculados, es necesario tener en cuenta los siguientes puntos:
La mención a los campos involucrados en la fórmula se realiza en formato Mustache entre {{ y }}.
Ejemplo: {{Fecha de nacimiento}}
Recomendamos que el script contenga la lógica que se quiere ejecutar, sin mucho más preámbulo.
Ejemplo: {{ Area }} * {{ Precio }}
Si la lógica fuera compleja, un workaround puede ser definirla dentro de una función.
Ejemplo:
miFuncion();
function miFuncion() {
... logica ...
}
Para el desarrollo de este tipo de scripts aplican las recomendaciones que mencionamos en el post sobre Desarrollo de scripts en INTEGRADOC, tales como usar parseInt o parseFloat cuando se realizan operaciones matemáticas, o las librerías para el manejo de fechas. Así mismo pueden utilizarse dentro del script las funciones propias de INTEGRADOC como getFieldValue().
No es posible utilizar en este tipo de script las funciones onChange y onInit. No tendrán efecto alguno y pueden generar comportamientos no deseados.
Actualizado el: 07/04/2020
¡Gracias!