Conditions dans les transformations : quand une règle s’exécute

Fonctionnement des conditions de règle : n’importe lequel, égal, supérieur à, contient une sous-chaîne, vide, expression régulière et vérification d’autres noeuds ou colonnes.

Une condition dans une transformation répond à une question : cette règle doit-elle s’exécuter maintenant, ou Eofferix doit-il la passer et continuer avec la règle suivante ? Par exemple : si le prix est supérieur à 100, ajouter une marge ; si le SKU n’est pas vide, ajouter un préfixe ; si la valeur contient USD, supprimer cette sous-chaîne.

Les mêmes vérifications peuvent apparaître dans les transformations et dans les conditions d’export, mais le résultat est différent. Une transformation modifie la valeur d’un champ. Une condition d’export décide si un champ, une ligne, un produit ou un élément XML/JSON apparaît dans le fichier final.

Où La Condition Est Utilisée

Dans une ligne de transformation, la condition se trouve entre la source de la valeur et l’action. Eofferix prend d’abord la valeur depuis la source choisie, vérifie la condition, puis exécute l’action.

  • Source - la valeur actuelle ou un autre noeud, attribut, colonne ou valeur système.
  • Condition - la vérification : n’importe lequel, égal, supérieur à, contient une sous-chaîne, vide, expression régulière et autres options.
  • Valeur de condition - la valeur utilisée pour la comparaison. Les conditions comme "n’importe lequel", "vide" et "non vide" n’en ont pas besoin.
  • Action - ce qu’il faut faire si la condition est vraie : remplacer, supprimer les espaces, augmenter en pourcentage, ne pas charger le champ, etc.

La condition n’est pas obligée d’utiliser le champ actuel. Par exemple, une valeur Disponibilité peut être modifiée selon le noeud voisin stock, et un prix peut être modifié selon la devise ou un indicateur d’activité.

Avant Ou Après Les Transformations

Dans une chaîne de transformations, les règles s’exécutent de haut en bas. Chaque ligne reçoit le résultat de la ligne précédente. Si vous devez d’abord nettoyer un prix des espaces et de la devise, puis le vérifier comme nombre, placez les règles de nettoyage au-dessus de la condition numérique.

Référence Des Conditions

La référence garde seulement les colonnes utiles : nom de la condition, moment d’utilisation et comportement. Une colonne Exemple séparée n’est pas nécessaire ici, car les scénarios pratiques sont présentés plus bas.

ConditionQuand l’utiliserComportement
n’importe lequelLa règle doit toujours s’exécuter.Correspond à n’importe quelle valeur, même vide.
égalUne correspondance exacte est nécessaire.Compare toute la valeur. La casse compte seulement si la sensibilité à la casse est activée.
différent deIl faut traiter toutes les valeurs sauf une.Correspond quand la valeur est différente de la valeur indiquée.
supérieur àIl faut vérifier un nombre : prix, poids, stock, quantité.Les deux côtés de la comparaison sont lus comme des nombres.
inférieur àIl faut trouver les valeurs sous un seuil.Fonctionne comme une vérification numérique.
supérieur ou égal àLe seuil lui-même doit aussi correspondre.Correspond à une valeur égale ou supérieure au seuil.
inférieur ou égal àLe seuil lui-même doit aussi correspondre.Correspond à une valeur égale ou inférieure au seuil.
contient la sous-chaîneIl faut trouver un fragment dans un texte.Correspond si le texte indiqué est trouvé quelque part dans la valeur.
ne contient pas la sous-chaîneIl faut exclure des valeurs contenant un mot, code ou fragment précis.Correspond si le texte indiqué n’est pas présent dans la valeur.
commence parLa première partie de la valeur est importante.Correspond si la valeur commence par le texte indiqué.
se termine parLa dernière partie de la valeur est importante.Correspond si la valeur se termine par le texte indiqué.
videIl faut traiter les champs sans valeur.Une chaîne composée uniquement d’espaces est considérée comme vide.
non videL’action est nécessaire uniquement pour les valeurs remplies.Correspond s’il reste quelque chose après suppression des espaces autour de la valeur.
expression régulièreIl faut vérifier la valeur avec un modèle.Correspond si l’expression régulière trouve une correspondance.
pas une expression régulièreIl faut traiter les valeurs qui ne correspondent pas à un modèle.Correspond si l’expression régulière ne trouve pas de correspondance.

Exemple Pratique

Voici un fragment du snapshot XML et deux variantes de configuration pour ces mêmes noeuds. L’animation montre qu’un clic sur une valeur du snapshot ouvre la fenêtre de transformation du noeud choisi.

<workbook>
  <sheet>
    <row>
      <SKU>37227</SKU>
      <Nom>Arrosoir cache-pot Gardenia, crème, 13,5x10 cm</Nom>
      <Unite>pcs</Unite>
      <Lot>1</Lot>
      <Prix>269</Prix>
      <Stock>3</Stock>
      <CheminCategorie>Décoration / Cache-pots</CheminCategorie>
    </row>
  </sheet>
</workbook>
Animation montrant l’ouverture de la fenêtre de transformation dans un snapshot XML
Un clic sur une valeur du snapshot XML ouvre les paramètres de la valeur, où vous pouvez ajouter une règle de transformation.

Variante 1 : Préparer Le Prix

Dans ce snapshot, le prix est déjà numérique : 269. La règle peut donc vérifier le nombre directement, sans supprimer d’abord devise ou espaces.

  1. Condition supérieur à avec la valeur 100 : augmenter le prix de 10 %.
  2. Condition inférieur ou égal à avec la valeur 100 : remplacer la valeur par 100 comme prix minimum.
Fenêtre de transformation du prix avec les conditions supérieur à et inférieur ou égal à
Les conditions permettent de traiter différemment un prix au-dessus du seuil et un prix inférieur au minimum.
AvantRègles ExécutéesAprès
269supérieur à 100, augmenter de 10 %295.9
80inférieur ou égal à 100, remplacer par 100100

Variante 2 : Convertir Le Stock En Statut

Le noeud de stock contient un nombre. Si le destinataire attend un statut textuel, la valeur peut être remplacée par conditions.

  1. D’abord, une règle avec la condition n’importe lequel définit la valeur de base in_stock.
  2. Si la valeur actuelle est inférieure ou égale à 0, elle est remplacée par out_of_stock.
Fenêtre de transformation du stock en statut de disponibilité
La première règle définit la valeur par défaut ; la seconde la remplace pour un stock nul.
Stock Dans Le SnapshotRésultat
3in_stock
0out_of_stock