For Each

La herramienta For Each permite procesar cada elemento en una colección, uno a la vez. Esto es importante para operaciones en lote donde varios elementos necesitan manipulación similar.

Automatizar el procesamiento de varios elementos reduce la intervención manual, aumentando así la eficiencia y la consistencia en el procesamiento de datos.

Imagine que usted tiene una plataforma de E-commerce que recibe pedidos de clientes. Cada pedido puede tener varios artículos (productos) y, después de la compra, cada artículo del pedido debe ser procesado individualmente para realizar acciones como verificar el inventario, calcular impuestos y generar una factura consolidada, por ejemplo.

En este caso, usted podría usar un For Each para iterar sobre los artículos del pedido y realizar una serie de acciones para cada uno de esos artículos de manera independiente.

Mire cómo quedaría el flujo descrito arriba:

for each new order example

A continuación, aprende a añadir el For Each al canvas y a configurar su formulario.

Añade el For Each al canvas

  1. Haga clic en el icono icono de herramienta con signo más en el menú de edición de la izquierda.

  2. Seleccione el For Each para añadirlo al canvas. Puede utilizar la barra de búsqueda search steps icon para encontrarlo.

  3. Arrastre al cuadro del For Each los steps (excepto gatillos) que serán iterados (repetidos).

Para remover los steps de dentro de For Each sin eliminarlos del canvas, hay dos botones:

  • Detach: desvincula un único step. Seleccione el step que desea desvincular y haga clic en el tercer botón de la derecha.

  • Ungroup: desagrupa todos los steps y deja el cuadro de For Each vacío. Seleccione el cuadro de For Each y haga clic en el tercer botón de la derecha.

Para eliminar el For Each del canvas, selecciónelo y haga clic en el botón icono papelera. Se eliminarán todos los steps dentro del For Each y las conexiones.

Solo puede tener un subflujo dentro del For Each, es decir, no es posible ejecutar subflujos paralelos dentro del For Each. Si hay steps inactivos, verá un ícono de alerta amarillo yellow alert icon en el step, indicando que está inactivo y que requiere una conexión para ser ejecutado.

El icono de alerta icono alerta del cuadro sólo desaparecerá si lo hay:

  • Al menos un step dentro del For Each;

  • La conexión de entrada, a la izquierda;

  • La conexión de salida, a la derecha.

alerta for each

Configure el formulario

  1. Seleccione el For Each en el canvas.

  2. Haga clic en el icono de edición icono de lápiz.

  3. Rellene los siguientes campos del formulario:

    • Name: inserte un nombre único para el step For Each. Este es un campo alfanumérico que permite caracteres especiales y espacios en blanco, con un límite de 20 caracteres.

    • Variable List: inserte la lista de variables a ejecutar, es decir, la lista que contiene los elementos que deben ser ejecutados individualmente. Los valores deben ser un array (lista). Este es un campo alfanumérico que permite caracteres especiales y espacios en blanco, con un límite de 1024 caracteres.

      Al hacer clic en el ícono de Properties icono de una lista a la derecha, usted puede:

      1. Seleccionar variables previamente registradas.

      2. Seleccionar payloads de entrada o salida de steps anteriores.

      3. Crear expresiones usando el Expression Builder.

      A continuación, demostramos la selección de una lista (array) de elementos (desde Properties ícono de una lista) que serán procesados por la herramienta For Each.

      for each select variable list

    • Iteration Element: nombre de la estructura que identifica los elementos que serán repetidos dentro del For Each. Este es un campo alfanumérico que permite caracteres especiales y espacios en blanco, con un límite de 250 caracteres.

      Podrá visualizar el nombre del elemento a iterar en Properties o en el Data Mapping (FROM/TO) de los steps que están dentro del For Each.
      El número de iteraciones se determina por el número de elementos del array (lista).
  4. Configure el botón Ignore Errors: por defecto, el botón está desactivado y puede activarlo.

    Activado switch Desactivado switch off

    La ejecución continúa, incluso si hay errores en el proceso.

    La ejecución se detendrá inmediatamente.

    Los logs muestran el step con un error.

    Los logs muestran la ejecución hasta la última iteración.

    Se ejecutarán los steps posteriores al For Each.

    No se ejecutará ningún step después del For Each.

  5. Haga clic en SAVE.

formulario for each
Consulte un ejemplo de integración con CRM y For Each.

For Each dentro de otro For Each

Se puede añadir un For Each dentro de otro For Each. De esta manera, su flujo de integración procesará datos en estructuras con loops anidados.

Considere el ejemplo anterior de un flujo con un pedido que contiene varios artículos (productos). Imagine que cada artículo está sujeto al pago de dos impuestos.

  • El For Each externo itera sobre la lista de artículos.

  • El For Each interno itera sobre la lista de impuestos de cada artículo.

De esta manera, tenemos una lista (array) dentro de otra lista:

  • Nuevo pedido (new order):

    • Artículo 1

      • Impuesto (tax) 1

      • Impuesto (tax) 2

    • Artículo 2

      • Impuesto (tax) 1

      • Impuesto (tax) 2

    • Artículo 3

    • Artículo 4

El flujo descrito quedaría de esta manera:

for each within for each

Para mover un step entre dos cuadros de For Each, usted debe desvincularlo del For Each inicial. Para ello, haga clic en X y arrástrelo hasta el nuevo For Each.

Ignorando errores

Cuando un flujo contiene un For Each dentro de un For Each, se aplican las siguientes reglas al botón Ignore Errors:

"Ignore Errors" en For Each externo "Ignore Errors" en For Each interno Resultado

Deshabilitado

Deshabilitado

El flujo se interrumpirá cuando ocurra un error.

Habilitado

Habilitado

El flujo NO se interrumpirá cuando ocurra un error.

Habilitado

Deshabilitado

Ocorrerá la ejecución de toda la iteración del For Each externo

Deshabilitado

Habilitado

El flujo NO se interrumpirá cuando ocurra un error.

Expression Builder

El componente Expression Builder le permite crear expresiones con parámetros y variables mediante funciones y condiciones disponibles dentro del componente. Así, puede ajustar la expresión según lo requieran sus necesidades.

Siga los pasos a continuación para acceder a la pantalla de Expression Builder:

  1. Haga clic en el icono Properties icono de lista, a la derecha del campo Variable List.

  2. A continuación, haga clic en el icono icono de expresion de la esquina superior derecha.

expression builder for each

La pantalla de Expression Builder contiene las siguientes secciones:

  • Properties: muestra los datos de los steps anteriores y de las variables de entorno. Puede filtrar los atributos utilizando el campo de búsqueda situado en la parte superior de la sección y haciendo clic en icono lupa. Puede seleccionar más de un atributo. Al seleccionarlo, el atributo aparece en el campo Expression.

  • Expression: campo para insertar los atributos de entrada o crear una expresión haciendo clic en el botón boton fx a la derecha. Solo la función Concat está disponible para crear la expresión.

Al seleccionar dos o más atributos en el campo Properties, la creación de una expresión será obligatoria.

Para guardar la información, haga clic en CONFIRM.

Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]