- Introducción
- Primeros pasos
- Crear en cualquier lienzo
- Crear con caso
- Referencia
- Definir claves de caso (de sistema o externo)
- Establecer contratos de entrada/salida y de escritura diferida de tareas
- Modelar las etapas principal y secundaria
- Iniciar un caso desde Data Fabric
- Implementar perfiles y permisos a nivel de etapa
- Establecer SLA y reglas de escalado automatizadas
- Configurar un bucle de reprocesamiento (reingreso)
- Configurar y probar el agente de Case Manager (vista previa)
- Crear con flujo
- Crear con BPMN
- En funcionamiento
- Supervisión
- Optimizando
- Información de referencia
Flujo de control
Controla los nodos de flujo que se ramifican (Decisión, Switch), iteran (Bucle) y combinan rutas para gestionar el orden de ejecución del proceso.
Qué es
El flujo de control determina cómo tu proceso decide qué ejecutar y en qué orden. Cada proceso comienza como una línea recta de nodos, pero el trabajo real requiere decisiones, repetición y reunificación. Flow proporciona cuatro nodos de flujo de control (Decisión, Switch, Bucle y Fusionar) que te permiten ramificar, iterar y converger sin salir del lienzo.
Ramificación
La ramificación divide un proceso en rutas independientes para que se ejecuten diferentes nodos dependiendo de una condición.
Decisión: dos rutas
El nodo de decisión evalúa una sola expresión de JavaScript y la enruta a una de dos salidas: verdadero o falso. Se ajusta a sí/no, pasa/falla o cualquier comprobación binaria.
$vars.httpRequest1.output.statusCode === 200
$vars.httpRequest1.output.statusCode === 200
La expresión anterior envía respuestas correctas por la rama verdadera y todo lo demás por la rama falsa.
Consulta la referencia del nodo de decisión para ver la configuración completa.
Conmutador: tres o más rutas
El nodo Switch evalúa una lista ordenada de expresiones de casos y toma la primera coincidencia. Añade hasta diez casos más una rama predeterminada opcional para cualquier cosa que no coincida.
El conmutador ajusta el enrutamiento por categoría, estado o cualquier valor con más de dos resultados posibles.
Consulta la referencia del nodo Switch para ver la configuración completa.
Bucles
Los bucles repiten una secuencia de nodos varias veces. Flow ofrece dos nodos de bucle para diferentes situaciones.
Bucle (para cada uno)
El nodo Bucle itera sobre una colección (una matriz) y ejecuta su cuerpo una vez por elemento. Expone tres variables dentro del cuerpo del bucle:
currentItem: el elemento para la iteración actualcurrentIndex: un índice de base cero que rastrea qué iteración se está ejecutandocollection— la matriz completa que se está iterando
Una vez completadas todas las iteraciones, el bucle produce una matriz output que agrega los resultados de cada iteración. La ejecución continúa desde el identificador de éxito .
La expresión de colección de un nodo de bucle apunta a la matriz sobre la que itera, como $vars.script1.output. La opción Paralelo ejecuta todas las iteraciones al mismo tiempo en lugar de secuencialmente. Los nodos conectados al identificador de salida del bucle forman el cuerpo del bucle, y el nodo conectado al identificador de éxito se ejecuta después de que se completen todas las iteraciones.
Salir de un bucle antes de tiempo
Un nodo de bucle ofrece dos formas de detenerse antes de llegar al final de la colección:
- La condición de interrupción es una expresión que el bucle comprueba después de que se complete cada iteración. Cuando es
true, el bucle se detiene y el proceso continúa después del bucle. Como la comprobación se produce después de cada iteración en orden, solo funciona en bucles secuenciales. - El controlador de interrupción aparece dentro del bucle cuando Mostrar controlador de interrupción está activado. Cuando una ruta en el cuerpo del bucle llega a él, el bucle deja de iterar. El controlador de interrupción está disponible tanto en bucles secuenciales como en paralelo. Úsalo cuando un nodo del cuerpo tome la decisión, por ejemplo, una Decisión que encuentre el elemento que estás buscando.
Bucle describe ambas configuraciones, con un ejemplo.
Fusionar ramas
Después de que una Decisión o Switch divida tu proceso, utiliza un nodo Fusionar cuando los nodos posteriores deban ejecutarse independientemente de la rama que se haya tomado.
El nodo Fusionar acepta varios bordes entrantes en su único controlador de entrada y produce una salida. El último nodo de cada rama se conecta a la fusión y el proceso continúa desde el controlador de salida de la fusión.
Combinar espera a la rama que realmente se ejecutó: no espera a todos los bordes entrantes. Solo pasa la rama que recibió datos durante la ejecución actual.
Ejemplo práctico
Considera un proceso que obtiene una lista de tickets de soporte, recorre cada uno de ellos y enruta los tickets de alta prioridad de forma diferente al resto.
El proceso conecta cinco nodos:
- Un nodo de solicitud HTTP llama a una API de ticket y devuelve una matriz de objetos de ticket.
- Un nodo de bucle itera sobre
$vars.httpRequest1.output.body.tickets. - Dentro del cuerpo del bucle, un nodo Decisión evalúa
$vars.loop1.currentItem.priority === "high". La rama verdadera se conecta a un nodo Enviar correo electrónico que alerta al equipo de guardia; la rama falsa se conecta a un nodo de Script que registra el ticket para su revisión posterior. - Un nodo Fusionar conecta ambas ramas para que la iteración se complete limpiamente independientemente de la ruta que se ejecute.
- La fusión se conecta de nuevo a la entrada loopBack del bucle, y el controlador de éxito del bucle continúa con el resto del proceso.
Este patrón (obtener, repetir, ramificar, fusionar) cubre una gran parte de los escenarios de automatización del mundo real.
Páginas relacionadas
- Nodo de decisión : referencia de configuración completa para la ramificación de dos rutas
- Nodo de conmutación : referencia de configuración completa para la ramificación de rutas múltiples
- Variables y flujo de datos : cómo funcionan las expresiones
$varsy las salidas del nodo - Gestión de errores : gestión de fallos, que es distinto de la ramificación condicional
- El lienzo : navegar y crear procesos visualmente