Bucle
La acción Bucle permite ejecutar una acción o un conjunto de acciones repetidamente durante un número determinado de veces o hasta que se cumpla una condición.
Realice los siguientes pasos para utilizar la acción Bucle en el flujo de trabajo:
Parte A: configuración de la acción de bucle.
1. Pulse en y arrastre la acción Bucle de Bucle al lienzo. El bloque Bucle se muestra en el lienzo.
2. Coloque el puntero sobre la acción y, a continuación, pulse en o pulse dos veces en la acción. Se abre la ventana Bucle.
3. Si fuera necesario, modifique el valor de Rótulo. Por defecto, el nombre de rótulo es igual que el nombre de acción.
4. En el campo Seleccionar tipo de bucle, seleccione una de las siguientes opciones y realice su tarea correspondiente:
Seleccionar tipo de bucle
Tarea
Veces: permite repetir una o varias tareas hasta que se cumple un recuento específico.
Se recomienda seleccionar esta opción si el flujo de trabajo dentro de la acción Bucle no requiere ninguna entrada de la acción anterior.
Aquí se proporciona un ejemplo del bucle Veces.
En el campo Número de veces, especifique el número de veces que debe ejecutarse el bucle.
Cada elemento: permite repetir una o varias tareas para cada elemento de una matriz o una recopilación.
Aquí se proporciona un ejemplo del bucle Cada elemento.
En el campo Matriz u objeto de origen, asigne la salida de una acción anterior para proporcionar una matriz o un objeto.
Mientras: permite repetir una o varias tareas hasta que se cumple la condición especificada.
Aquí se proporciona un ejemplo del bucle Mientras.
a. En el campo Valor inicial, proporcione el valor inicial para el bucle. Puede ser un número, un booleano, una cadena o un JSON.
Este valor define el valor de $currentItem. Este valor se utiliza solo una vez antes de que comience el bucle.
b. En el campo Condición, proporcione la condición. Si desea utilizar un elemento de Valor inicial, utilice $currentItem en la expresión en línea. Por ejemplo: {{$CurrentItem}} < 5.
Esta condición se evalúa cada vez antes de que se ejecute un bucle. Si el resultado de esta condición se evalúa en true, el bucle continúa. De lo contrario, el bucle se rompe. Si Condición se define en 0, falso (sin distinción entre mayúsculas y minúsculas) o se deja vacío, la condición se evalúa en falso y se rompe el bucle.
* 
Si la condición es verdadera infinitamente, el bucle se ejecuta hasta que el flujo de trabajo agota el tiempo de espera. El tiempo de espera por defecto del flujo de trabajo es 3 minutos.
c. En el campo Valor actualizado, proporcione el valor actualizado. Puede ser un número, un booleano, una cadena o un JSON.
Este valor actualiza el valor de $currentItem. Esta expresión se evalúa una vez después de cada ciclo de bucle.
* 
Para el campo Valor actualizado, se puede utilizar la salida de cualquier acción dentro del bucle. Sin embargo, dado que no se muestra la salida de las acciones dentro del bucle, es necesario asignar manualmente la salida haciendo referencia al índice de la acción.
Para Valor inicial y Condición, si se utiliza la salida de cualquier acción dentro del bucle, Condición se evalúa como sin definir y Bucle falla.
5. Pulse en Terminado.
6. Además, pase el puntero sobre el bloque Bucle para realizar las siguientes tareas:
Pulse en para maximizar o minimizar el bloque Bucle.
Pulse en para quitar el bloque Bucle del lienzo.
Parte B: adición de acciones fuera del bloque de bucle
1. En el lado derecho del editor de flujos de trabajo, en el panel Acciones, arrastre las acciones al lienzo fuera del bloque Bucle.
Puede haber una o más acciones antes y después del bloque Bucle.
2. Conecte la acción anterior al bloque Bucle a .
3. Conecte la acción que sigue al bloque Bucle a .
4. Configure las acciones según sus necesidades.
Parte C: adición de acciones al bloque de bucle
1. En el lado derecho del editor de flujos de trabajo, en el panel Acciones, arrastre una acción hasta el bloque Bucle. El bloque Bucle se realza cuando la acción se encuentra en el bloque Bucle. Después de soltar la acción en el bloque Bucle y si es la primera acción del bloque, la acción se conecta automáticamente a .
Se puede añadir una sola acción o varias acciones al bloque Bucle.
Una vez que se haya arrastrado una acción al lienzo fuera del bloque Bucle, no se podrá arrastrar dentro del bloque Bucle.
2. Añada varias acciones al bloque Bucle y conéctelas una tras otra. Si lo desea, puede tener solo una acción dentro del bloque Bucle.
3. Conecte la última acción del bloque Bucle a .
4. Configure las acciones del bloque Bucle según las necesidades.
Ejecución
Cuando se ejecuta un flujo de trabajo, este se inicia con la primera acción del flujo de trabajo, ejecuta todas las acciones del bloque de bucle repetidamente hasta que se cumple la condición o el recuento definidos y luego continúa con las siguientes acciones.
Esquema de salida
Para el bucle Veces:
currentIndex: el índice o posición de la iteración actual, comenzando por 1.
currentKey: el índice o la posición de la iteración actual, comenzando por 0.
currentItem, currentValue: el valor actual de la iteración.
totalLength: el número de veces que se itera el bucle..
Para el bucle Cada elemento:
currentIndex: el índice o la posición de la iteración actual, comenzando por 0.
currentItem: si el origen es un objeto, la propiedad devuelve el valor que corresponde a currentIndex. Si el origen es una matriz, esta propiedad devuelve el objeto actual de cada iteración.
currentKey: si el origen es un objeto, esta propiedad devuelve las claves del objeto. Si el origen es una matriz, se devuelve el índice de cada elemento.
currentValue: si el origen es un objeto, esta propiedad devuelve los valores del objeto. Si el origen es una matriz, se devuelven todos los elementos de la matriz, incluidos los objetos, si hay alguno dentro de ella. Para recuperar el valor de una clave o propiedad determinada, especifique {{$ActionID.currentValue.<PropertyName>}}
totalLength: el recuento total de todos los objetos de una matriz de objetos o el recuento total de todos los elementos de una matriz.
Para el bucle While:
currentIndex, currentKey: el índice o la posición de la iteración actual, comenzando por 0.
currentItem, currentValue: permite devolver el valor actual de la iteración.
totalLength: sin definir.
¿Fue esto útil?