Ir al contenido

If / Elseif / Else

Tipo: if  ·  Paquete: Core Activities v1.0.8

Toma una decisión: evalúa una condición y, según sea verdadera o falsa, ejecuta un grupo de actividades u otro. Es la base de la lógica de cualquier automatización — “si el total supera el límite, pedir aprobación; si no, continuar”.

Admite varias condiciones encadenadas: la principal (if), una o más intermedias (elseif) y una por defecto (else).

  1. Evalúa la condición principal. Si es verdadera, ejecuta la rama then y termina.
  2. Si es falsa, evalúa en orden cada condición elseif. La primera que sea verdadera ejecuta su rama y termina.
  3. Si ninguna se cumple, ejecuta la rama else (si existe). Sin else, el flujo simplemente sigue.

Solo se ejecuta una rama: la primera cuya condición sea verdadera. Las condiciones de las ramas siguientes ni siquiera se evalúan.

La condición admite dos formas:

  • Constructor visual: una o varias filas columna · operador · valor, combinadas con AND (todas deben cumplirse) u OR (basta una). La columna se lee como expresión (por ejemplo total o fila["Estado"]); el valor es el dato con el que se compara. Un grupo sin filas cuenta como falso.
  • Expresión libre: cualquier expresión C# que devuelva verdadero o falso (ej. intentos < 3 && !exito). Un valor vacío (null) cuenta como falso; un texto debe ser true o false; un número distinto de 0 cuenta como verdadero.

Operadores del constructor visual:

OperadorSe cumple cuando…
equals / not-equalsLos valores son iguales / distintos. Si ambos parecen números, se comparan como números; si no, como texto sin distinguir mayúsculas.
contains / starts-with / ends-withEl texto contiene / empieza por / termina en el valor, sin distinguir mayúsculas.
greater-than / less-than / greater-or-equal / less-or-equalComparación numérica. Ambos lados deben ser números; si no, la actividad falla.
is-empty / is-not-emptyEl campo está vacío (o solo tiene espacios) / tiene contenido. No usan valor.
ParámetroTipoPor defectoDescripción
conditionbool—Condición a evaluar: constructor visual o expresión booleana. Ej: total > 1000.

Ninguno.

Estos parámetros son bloques de actividades que se configuran como lanes en el canvas, no como texto.

Actividades que se ejecutan cuando la condición es verdadera.

Lista de ramas intermedias, cada una con su propia condition y su then, evaluadas en orden cuando la condición principal es falsa. No se editan en el panel de propiedades: el lienzo las muestra como lanes («elseif 1», «elseif 2»…) cuando el playbook las tiene. Para encadenar condiciones desde el lienzo, la forma más directa es anidar otro If dentro de else.

Actividades que se ejecutan cuando ninguna condición se cumplió.

Esta actividad no devuelve ningún valor.

Clasificar una factura según su monto:

If condition = num(fila["Total"]) > 1000000
├─ then:
│ Log level = warning message = "Factura alta: requiere aprobación"
│ Set Variable name = requiereAprobacion value = true
└─ else:
Log level = info message = "Factura dentro del límite"
MensajeCausa y solución
Value '…' is not numeric. / Comparison value '…' is not numeric.Un operador numérico del constructor visual recibió un texto (el campo o el valor). Convierte con num(...) o usa equals.
String '…' was not recognized as a valid Boolean.La expresión devolvió un texto distinto de true/false. Escribe una comparación (estado == "Pendiente").
La condición siempre va al elseComparaste celdas de tabla con == directo. Envuelve en str(...)/num(...) o usa eq(a,b).
  • While — repetir mientras una condición sea verdadera.
  • Try / Catch — ramificar según si algo falla, no según una condición.
  • Expresiones — escribir la condición.