Condiciones en transformaciones: cuándo se ejecuta una regla

Cómo funcionan las condiciones de reglas: cualquiera, igual, mayor que, contiene subcadena, vacío, expresión regular y comprobaciones con otros nodos o columnas.

Una condición en una transformación responde a una pregunta: ¿debe ejecutarse esta regla ahora o Eofferix debe omitirla y continuar con la siguiente? Por ejemplo: si el precio es mayor que 100, añadir margen; si el SKU no está vacío, añadir un prefijo; si el valor contiene USD, eliminar esa subcadena.

Las mismas comprobaciones pueden aparecer en transformaciones y en condiciones de exportación, pero el resultado es distinto. Una transformación cambia el valor de un campo. Una condición de exportación decide si un campo, fila, producto o elemento XML/JSON aparece en el archivo final.

Dónde Se Usa La Condición

En una fila de transformación, la condición está entre la fuente del valor y la acción. Eofferix toma primero el valor de la fuente seleccionada, comprueba la condición y solo después ejecuta la acción.

  • Fuente - el valor actual u otro nodo, atributo, columna o valor del sistema.
  • Condición - la comprobación: cualquiera, igual, mayor que, contiene subcadena, vacío, expresión regular y otras opciones.
  • Valor de condición - el valor usado para comparar. Condiciones como "cualquiera", "vacío" y "no vacío" no lo necesitan.
  • Acción - qué hacer si la condición se cumple: reemplazar, eliminar espacios, aumentar en porcentaje, no cargar el campo, etc.

La condición no tiene que usar el campo actual. Por ejemplo, el valor Disponibilidad puede cambiar según el nodo vecino stock, y el precio puede cambiar según la moneda o una marca de actividad.

Antes O Después De Las Transformaciones

Dentro de una cadena de transformaciones, las reglas se ejecutan de arriba abajo. Cada fila recibe el resultado de la fila anterior. Si necesitas limpiar primero un precio de espacios y moneda y luego comprobarlo como número, coloca las reglas de limpieza por encima de la condición numérica.

Referencia De Condiciones

La referencia deja solo las columnas útiles: nombre de la condición, cuándo usarla y cómo se comporta. No hace falta una columna separada de Ejemplo porque los escenarios prácticos están más abajo.

CondiciónCuándo usarComportamiento
cualquieraLa regla debe ejecutarse siempre.Coincide con cualquier valor, incluso vacío.
igualNecesitas una coincidencia exacta.Compara el valor completo. Las mayúsculas importan solo si se activa la sensibilidad a mayúsculas.
no igualNecesitas procesar todos los valores excepto uno.Coincide cuando el valor es distinto del indicado.
mayor queNecesitas comprobar un número: precio, peso, stock, cantidad.Ambos lados de la comparación se leen como números.
menor queNecesitas encontrar valores por debajo de un umbral.Funciona como comprobación numérica.
mayor o igual queEl propio umbral también debe coincidir.Coincide con un valor igual o superior al umbral.
menor o igual queEl propio umbral también debe coincidir.Coincide con un valor igual o inferior al umbral.
contiene subcadenaNecesitas encontrar un fragmento dentro del texto.Coincide si el texto indicado aparece en cualquier parte del valor.
no contiene subcadenaNecesitas excluir valores con una palabra, código o fragmento concreto.Coincide si el texto indicado no aparece en el valor.
empieza porImporta la primera parte del valor.Coincide si el valor empieza por el texto indicado.
termina enImporta la última parte del valor.Coincide si el valor termina con el texto indicado.
vacíoNecesitas procesar campos sin valor.Una cadena formada solo por espacios se considera vacía.
no vacíoLa acción solo se necesita para valores rellenados.Coincide cuando queda algo después de quitar espacios alrededor del valor.
expresión regularNecesitas comprobar el valor con un patrón.Coincide si la expresión regular encuentra una coincidencia.
no expresión regularNecesitas procesar valores que no encajan con un patrón.Coincide si la expresión regular no encuentra una coincidencia.

Ejemplo Práctico

Abajo hay un fragmento del snapshot XML y dos variantes de configuración para esos mismos nodos. La animación muestra que al hacer clic en un valor del snapshot se abre la ventana de transformaciones del nodo seleccionado.

<workbook>
  <sheet>
    <row>
      <SKU>37227</SKU>
      <Nombre>Macetero regadera Gardenia, crema, 13,5x10 cm</Nombre>
      <Unidad>uds</Unidad>
      <Paquete>1</Paquete>
      <Precio>269</Precio>
      <Stock>3</Stock>
      <RutaCategoria>Decoración / Maceteros</RutaCategoria>
    </row>
  </sheet>
</workbook>
Animación para abrir la ventana de transformaciones en un snapshot XML
Al hacer clic en un valor del snapshot XML se abren los ajustes del valor, donde se puede añadir una regla de transformación.

Variante 1: Preparar El Precio

En este snapshot, el precio ya es numérico: 269. La regla puede comprobar el número directamente, sin limpiar antes moneda ni espacios.

  1. Condición mayor que con valor 100: aumentar el precio un 10%.
  2. Condición menor o igual que con valor 100: reemplazar el valor por 100 como precio mínimo.
Ventana de transformación del precio con condiciones mayor que y menor o igual que
Las condiciones permiten procesar de forma distinta un precio por encima del umbral y un precio por debajo del mínimo.
AntesReglas EjecutadasDespués
269mayor que 100, aumentar un 10%295.9
80menor o igual que 100, reemplazar por 100100

Variante 2: Convertir Stock En Estado

El nodo de stock contiene un número. Si el receptor necesita un estado textual, el valor puede reemplazarse mediante condiciones.

  1. Primero, una regla con condición cualquiera define el valor base in_stock.
  2. Si el valor actual es menor o igual que 0, se reemplaza por out_of_stock.
Ventana de transformación de stock a estado de disponibilidad
La primera regla define el valor predeterminado; la segunda lo sobrescribe para stock cero.
Stock En SnapshotResultado
3in_stock
0out_of_stock