Ir al contenido

While

Tipo: while  ·  Paquete: Core Activities v1.0.8

Repite un bloque de actividades mientras una condición sea verdadera. La condición se evalúa antes de cada vuelta: si es falsa desde el inicio, el bloque no se ejecuta ni una vez. Úsalo cuando no sabes de antemano cuántas vueltas harán falta — depende de algo que va cambiando: “mientras haya más páginas”, “mientras la cola tenga elementos”, “hasta que el saldo llegue a cero”.

  1. Evalúa la condición.
  2. Si es verdadera, ejecuta las activities y vuelve al paso 1.
  3. Si es falsa, termina y continúa el flujo.

Admite Break (salir de inmediato) y Continue (saltar a la siguiente evaluación). Antes de cada vuelta se revisa si la ejecución se terminó, así que Terminar lo corta entre una vuelta y la siguiente.

La condición se escribe igual que en If: con el constructor visual (columna, operador y valor, combinados con AND/OR) o con una expresión C# booleana. Un constructor visual sin filas cuenta como falso, así que el bucle no entra.

ParámetroTipoPor defectoDescripción
conditionbool—Condición que se evalúa antes de cada vuelta. Constructor visual o expresión booleana. Ej: quedanPaginas.

Ninguno.

Actividades que se ejecutan en cada vuelta mientras la condición sea verdadera.

Esta actividad no devuelve ningún valor.

Procesar una cola hasta vaciarla:

Set Variable name = hayItem value = true
While condition = hayItem
└─ activities:
Queue Get Item queue = "facturas" → output: item
If condition = isNull(item)
├─ then:
│ Set Variable name = hayItem value = false // ya no quedan: corta el bucle
└─ else:
Invoke Playbook path = "procesar.json" input = { factura: item }
MensajeCausa y solución
'activities' es obligatorio.El bucle no tiene lane de actividades. Agrega al menos una actividad dentro.
Value '…' is not numeric.En el constructor visual usaste un operador numérico (mayor que, menor que…) con un campo que no es un número. Convierte el valor con num(...) o usa «igual a».
String '…' was not recognized as a valid Boolean.La expresión devolvió un texto distinto de true/false. Escribe una comparación que dé verdadero o falso (estado == "Pendiente").
El bucle no se ejecuta nuncaLa condición ya era falsa al entrar, o el constructor visual no tiene filas. Verifica el valor inicial de las variables de la condición.
La ejecución se queda colgadaBucle infinito: la condición nunca cambia. Asegura que el cuerpo modifique la condición y añade un tope de seguridad.
  • For Each — recorrer los elementos de una colección.
  • For Loop — repetir un número contado de veces.
  • Break / Continue — controlar el bucle desde dentro.