10.1 Formularios

Formularios


 
Los formularios son pasos de un flujo de proceso, cada paso recopila información. A nivel de usuario los formularios se ven al ir al Menú: Tareas.
Tienen la función de recoger información por parte del usuario, existen varios tipos de formularios, dependiendo de su ubicación y función dentro del flujo definidos en el JSON de flujos. Los formularios deben tener Códigos o IDs únicos, y deben asociarse al Código o ID del flujo al que pertenecen.

Tipos de formularios

Tipo formularios
Descripción
FINDING
Corresponde al formulario que está de primero en en flujo, con el cual se acciona un flujo, al cual se le denomina TRIGGER de una acción. Además es el que a nivel de usuario se ve en las Tareas que se configuran para un cliente (Imagen C).
TASK
Corresponden a los formularios que vienen a continuación de un FINDING en un flujo, se recomienda enumerar de forma consecutiva. Además también se usa para los formularios que se asocian a la carta Gantt para informar avance de la tarea.
PARALLEL
Un formulario tipo PARALLEL es similar a un formulario tipo TRIGGER, pero se usa para crear nuevos flujos a partir de la ejecución de una acción de un flujo existente. En esencia, un PARALLEL inicia un nuevo flujo basado en una acción de otro flujo, por lo tanto proviene de un flujo padre.
💡
Los dos formularios más comunes son el FINDING y TASK. El formulario PARALLEL se usa en casos específicos.
 

Formulario Tipo PARALLEL

Un formulario tipo PARALLEL es similar a un formulario tipo TRIGGER, pero se usa para crear nuevos flujos a partir de la ejecución de una acción de un flujo existente. En esencia, un PARALLEL inicia un nuevo flujo basado en una acción de otro flujo, por lo tanto proviene de un flujo padre.
En el diagrama de ejemplo, la acción A2, del primer flujo “Trigger Control de calidad (zapallo) ID 137”, crea un flujo paralelo que inicia con el “PARALLEL Retiro sustrato (zapallo) ID222”.
 
Diagrama de flujo de proceso de Control de calidad de zapallo.
Diagrama de flujo de proceso de Control de calidad de zapallo.
 
Entre las características de este tipo de formularios se encuentran los siguientes:
  • Herencia de Datos: Permite traer datos del flujo padre. El PARALLEL se completa automáticamente con estos datos, según su configuración.
  • Tareas Iniciales: La primera tarea del flujo hijo siempre será T1, no el PARALLEL. Una vez creado, no puede editarse.
 

a. Funcionamiento del PARALLEL

Para configurar un flujo PARALLEL, se debe configurar:
  1. El formulario PARALLEL
  1. La acción del flujo que lo creará.
Configuración del Formulario: Cambia el valor del objeto "type" a "PARALLEL". Este flujo es independiente del anterior y debe tener su propia configuración y ID.
{ "id": 812, "userId": 316, "name": "Retiro sustrato", "operationId": 11, "type": "PARALLEL", "duration": 260000, "flowTemplateId": 122, "operationAreasTrigger": [45], "template": {...} }
 
Configuración de la Acción del Flujo: Se configura como cualquier otra acción, pero debe tener los siguientes objetos y valores:
  • "type" es "flowTrigger" .
  • "totalFlows" indica cuántos flujos paralelos se crearán.
  • "sectionPatronKey" guía la recuperación de datos del flujo padre.
  • "triggerFormId" es el ID del formulario PARALLEL que iniciará los flujos hijos.
{ "type": "flowTrigger", "text": "Crea flujos de retiro de muestras dañadas (comienza form id 391)", "totalFlows": "1", "sectionPatronKey": "", "triggerFormId": 812, "id": "A2" },
 

b. Herencia de Datos

El siguiente ejemplo muestra cómo los flujos hijos heredan datos del flujo padre. El objeto "totalFlows" busca un dato específico y le indica al programa cuántos flujos paralelos crear. "sectionPatronKey" permite iterar sobre las secciones del flujo padre de forma secuencial.
{ "type": "flowTrigger", "text": "Crea flujos de recepción plaga para Cyrpto en cada sala (repite form id 237)", "totalFlows": "#_TASK.T1.sust_repa.cant_salas_dist.id#", "sectionPatronKey":"#_TASK.T1.sala_@index@#", "triggerFormId": 237, "id": "A3" },
 
El siguiente ejemplo muestra otra forma de heredar datos específicos de las secciones del flujo padre. El dato heredado lo trae de la tarea TASK.T1 del flujo padre, se anota la sección desde donde lo trae, usando la configuración del sectionPatronKey de la acción que es sala@index@. Entonces lo que sucederá es que los datos de cada sección sala_1, sala_2, etc., del TASK.T1 del flujo padre serán heredados por cada nuevo flujo hijo creado. Así, el primer flujo creado tendrá los datos de la sección sala_1, el segundo flujo creado tendrá los datos de la sección sala_2, y así sucesivamente.
{ "visible": true, "max": "", "errortext": "", "query": "", "update": "", "label": "Sala", "type": "LABEL", "callRefresh": false, "regex": "", "min": "", "defaultColor": "", "activeColor": "", "renderCondition": "", "helptext": "Sala donde se envió el zapallo", "decimals": "", "options": [], "formulla": "", "id": 3, "value": "#_TASK.T1.sala_@index@.sala.label#", "key": "sala", "validate": false },
 

c. Rescate de Datos en el PARALLEL

En general, los campos de un PARALLEL serán de tipo LABEL, mostrando información traída del flujo padre. También se pueden usar campos tipo HIDDEN para datos de apoyo.
En el ejemplo se muestra un campo de apoyo de tipo HIDDEN que trae un dato numérico desde el formulario TRIGGER del flujo padre, sección reti_plag, campo cant_lotes_dist, específicamente su id.
{ "visible": true, "max": "", "errortext": "", "query": "", "update": "", "label": "cantidad de lotes retirados", "type": "HIDDEN", "callRefresh": false, "regex": "", "min": "", "defaultColor": "", "activeColor": "", "renderCondition": "", "helptext": "", "decimals": "", "options": [], "formulla": "", "id": 66, "value": "#_TRIGGER.reti_plag.cant_lotes_dist.id#", "key": "total_lotes_reti", "validate": false },