Procesador de listas
El Procesador de listas (o Iterador de listas) es un componente contenedor diseñado para recorrer colecciones de datos estructuradas en formato JSON de forma secuencial, segura y controlada. Su función principal es ejecutar un flujo de trabajo por cada elemento de una lista de entrada, y consolidar automáticamente los resultados en un atributo global.
El procesador de listas admite como máximo una sola actividad dentro del contenedor por iteración y funciona de manera exclusiva sobre estructuras de datos en formato JSON (listas simples o listas de objetos).
1. Actividades Permitidas
El contenedor admite una sola actividad embebida.
Las actividades internas admitidas son:
-
Actividad Automática
-
Actividad de Usuario
-
Agente de IA
-
Llamada a subproceso con inicio por API
2. Integración con Subprocesos
-
Solo pueden seleccionarse subprocesos que tengan configurado un tipo de Inicio Directo por API.
-
Cuando la actividad interna es una invocación a un subproceso, la arquitectura de BModeler aplica un principio de desacoplamiento total:
-
Garantía de aislamiento: El proceso padre no puede acceder ni modificar las variables internas o el estado del subproceso hijo, ni el hijo tiene visibilidad del entorno global del padre.
-
Contrato de Entrada/Salida: Toda transferencia de información entre ambos procesos se realiza formalmente a través de un contrato de parámetros:
-
Entrada: El proceso padre mapea y envía únicamente los datos requeridos como parámetros de inicio del subproceso hijo.
-
Salida: El subproceso hijo ejecuta su flujo interno de forma independiente y, al finalizar, devuelve una estructura estandarizada que el procesador de listas toma para anexar al atributo de respuesta consolidada.
-
-
Importante: Si se incluye una Actividad de usuario / manual dentro del contenedor y no se le configura un plazo de vencimiento (timeout) mediante un temporizador, el diagramador mostrará una advertencia visual en el diseño para prevenir que un hilo de ejecución quede bloqueado de manera indefinida esperando la respuesta de un usuario.
3. Configuración
-
Nombre del procesador: Identificador descriptivo del elemento dentro del diagrama del proceso.
-
Lista a recorrer: Atributo de origen que contiene la colección a iterar. Debe ser obligatoriamente de tipo JSON.
-
Tratamiento de fallos: Define el comportamiento del motor del proceso ante un error en una iteración individual:
-
Pausar y marcar el hilo como fallido: Detiene la ejecución en la iteración afectada y marca el hilo en estado fallido. Esto permite reintentar la ejecución desde ese punto específico sin necesidad de reiniciar todo el proceso. Esta opción se encuentra seleccionada por defecto.
-
Ignorar el error y continuar: Omite la iteración que presentó el fallo, registra la novedad en la auditoría del caso y avanza automáticamente a la siguiente iteración.
-
-
Guardar respuesta en: Este campo no es obligatorio. Si se deja en blanco, el procesador de listas recorrerá la colección y ejecutará la actividad configurada por cada elemento, pero no guardará una lista de respuestas en una variable global al finalizar el ciclo. Resulta útil cuando las iteraciones realizan acciones directas (como enviar notificaciones o actualizar registros externos) donde no se requiere retornar datos al proceso padre. Ofrece las siguientes opciones:
-
Crear un nuevo atributo
-
Seleccionar un atributo existente: Permite elegir un atributo del proceso.
-
-
Luego se configura la actividad que se requiere procesar por cada elemento de la lista (en la imagen se arrastro una actividad de usuario).


