Centro de Consultores
Consultor
0 • Menú de la plataforma
0 • Menú de la plataforma
1 • Organización
1 • Organización
2 • Operaciones
2 • Operaciones
3 • Áreas de operación
3 • Áreas de operación
4 • Usuarios
4 • Usuarios
5 • Perfil de usuarios
5 • Perfil de usuarios
6 • Actores
6 • Actores
7 • Eventos
7 • Eventos
8 • Fichas de actores
8 • Fichas de actores
9 • Flujos de trabajo o proceso
9 • Flujos de trabajo o proceso
10 • Formularios
10 • Formularios
11 • Configuración de datos
11 • Configuración de datos
12 • Carga masiva de datos
12 • Carga masiva de datos
13 • Hojas de cálculo
13 • Hojas de cálculo
14 • Reportes PDF de Flujos y Formularios
14 • Reportes PDF de Flujos y Formularios
15 • Dashboards dinámicos
15 • Dashboards dinámicos
16 • Gestor documental
16 • Gestor documental
17 • Notificaciones
17 • Notificaciones
Opciones avanzadas
1. Looptimes
La configuración de Looptime permite que una acción en el flujo se ejecute varias veces, por ejemplo, insertando múltiples registros en una tabla con una sola acción.
Funcionamiento del Looptime
El Looptime se configura en acciones de flujo de tipo Evento (
"type": "event"
). Se añade junto a los objetos id
, type
y data
en la acción, como se muestra en el siguiente ejemplo:{ "text": "Registra Rechazo - Máquinas y Herramientas - interno", "id": "A4", "type": "event", "loopTimes": "_TRIGGER.control.procesos_probados", "data": {...} }
El valor de
loopTimes
corresponde a un campo tipo CHECKBOX
en el formulario y le indica al programa cuántas veces ejecutar la acción, basado en el número de opciones seleccionadas en el checkbox.Consideraciones Importantes
ElloopTimes
no puede quedar vacío. Si no se usa, no debe agregarse en el código.
loopTimes
determina cuántas veces se repetirá la acción o método.
- Si no se establece, se asume una sola iteración.
- Si el valor proviene de un dato del formulario, debe ir entre
##
.
- Si el valor es numérico, se utiliza ese valor para iterar.
- Si el valor no es numérico y contiene tag (
#seccion.campo#
), se utiliza el valor de la variable.
- Si el valor no es numérico y no contiene tag, se asume que es el nombre de un objeto
MULTIPLE
,CHECKBOX
oTABLE
, iterando sobre sus valores hasta la propiedad.size
.
- No es necesario añadir
.size
al final del dato cuando el campo del formulario es de tipoMULTIPLE
,CHECKBOX
oTABLE
; se añade automáticamente.
2. QueryClones
Es una propiedad que permite en los Formularios mostrar X cantidad de campos dependiendo de X selecciones en algún campo tipo
MULTIPLE
, MULTIPLE_REORDER
, CHECKBOX
o TABLE
.Para su correcto funcionamiento se debe configurar en el Formulario y en el Flujo de trabajo correspondiente.
La key de los campos clones creados deben tener la siguiente forma:
clone_<indice>_<key_del_campo_madre>
por ejemplo: “clone_0_INCL_CRE”.Para insertar los valores en la BD utilizando la acción del flujo de
type
: event
se debe seguir la siguiente estructura:{ "key": "INCL_CRE", "value": "#_TRIGGER.componentes.clone_@index@_INCL_CRE#" },
El
@index@
se ejecutará la cantidad de veces que el “loopTimes”
indique. Ejemplo
En este caso el campo COMPS_RECE es de tipo
CHECKBOX
."loopTimes": "_TRIGGER.general.COMPS_RECE.size",
Para insertar valores en la BD usando los valores de los clones operados matemáticamente puede hacerse de la siguiente manera:
{ "key": "CONS_HR_CRE", "value": "js(#_TRIGGER.general.KG_HORA_RECE# * #_TRIGGER.componentes.clone_@index@_INCL_CRE#)" }, { "key": "KG_X_BATCH_CRE", "value": "js(#_TRIGGER.general.VOL_BATCH_RECE# * #_TRIGGER.componentes.clone_@index@_INCL_CRE#)" }, { "key": "KG_COMP_VACA_CRE", "value": "js(#_TRIGGER.general.KG_V_D_RECE# * #_TRIGGER.componentes.clone_@index@_INCL_CRE#)" },