Condition (Si)
Compare deux valeurs et envoie l'appel vers Vrai ou vers Faux. C'est ainsi qu'un plan décide à partir d'une donnée récupérée plus tôt.
En bref
| Sorties | true (Vrai) et false (Faux) |
| Champs | Opérande gauche, Opérateur, Opérande droite |
| Opérateurs | onze, de l'égalité au test d'appartenance à un tableau |
| Opérateur par défaut | = (égal) |
| Variables | {{variable}} acceptée des deux côtés |
| Si la sortie retenue n'est reliée à rien | l'appel est raccroché |
Comment ça marche
La fenêtre le résume : « Compare deux valeurs. Utilise {{variable}} pour référencer une variable. »
Les deux opérandes sont d'abord résolus. Un champ qui ne contient que {{nom}} rend la valeur telle quelle, tableau compris. Un champ qui mêle du texte et des variables rend du texte, où chaque variable a été remplacée par sa valeur, et un tableau par ses éléments séparés par des virgules. La comparaison est ensuite faite selon l'opérateur retenu, et l'appel part par true ou par false.
C'est ainsi qu'on route selon une donnée : si le client trouvé dans Odoo a le statut premium, on l'envoie sur la file prioritaire.
Si la sortie retenue n'est reliée à rien, l'appel est raccroché sur place. Les deux branches doivent être reliées, même celle qui vous semble improbable : c'est toujours elle qui est empruntée le jour où la donnée manque.
Les onze opérateurs
| Opérateur | Ce qu'il teste |
|---|---|
= (égal) | l'égalité, en texte ; deux tableaux sont égaux s'ils ont le même contenu dans le même ordre |
≠ (différent) | le contraire de l'égalité |
< (inférieur), > (supérieur), ≤, ≥ | une comparaison numérique : les deux côtés sont lus comme des nombres, et ce qui n'en est pas un vaut zéro |
contient (texte/tableau) | que l'opérande droite se trouve dans la gauche : un morceau de texte, ou un élément du tableau |
est dans (tableau) | que l'opérande gauche figure dans la droite ; une droite écrite en clair est découpée sur les virgules |
pas dans (tableau) | le contraire du précédent |
correspond (regex) | que l'expression régulière écrite à droite se retrouve dans la valeur de gauche, n'importe où |
est vide | que l'opérande gauche est un texte vide ou un tableau sans élément ; l'opérande droite est ignorée |
Ce qu'il faut saisir
| Champ | Ce qui est attendu | Si vous le laissez vide |
|---|---|---|
| Opérande gauche | la valeur à tester, en général une {{variable}} seule | du vide est comparé, ce qui rend false pour presque tous les opérateurs, et true pour est vide |
| Opérateur | le test à appliquer | = (égal) est proposé d'office |
| Opérande droite | la valeur de référence : du texte, une {{variable}}, ou une liste séparée par des virgules | la comparaison se fait contre du vide ; le champ est de toute façon ignoré par est vide |
La marche à suivre
- Placez avant lui le module qui pose la donnée : Variable, Saisie DTMF, Odoo, Résolution contact ou Requête API.
- Posez le module Condition (Si) et reliez le nœud précédent à son entrée.
- Ouvrez-le. Dans Opérande gauche, écrivez la variable sous la forme
{{nom}}. Le champ propose la liste des variables du plan. - Choisissez l'Opérateur, puis renseignez l'Opérande droite.
- Fermez la fenêtre, puis reliez les deux sorties,
trueetfalse. - Cliquez sur Appliquer les modifications.
- Appelez une première fois dans les conditions qui doivent donner
true, puis une seconde fois dans celles qui doivent donnerfalse, et vérifiez les deux parcours.
Si ça ne marche pas
Tous les appels partent par false. La variable testée n'existe pas à cet endroit du plan et vaut du vide. Vérifiez son orthographe et assurez-vous que le module qui la pose se trouve bien avant celui-ci dans le parcours.
Une comparaison de nombres donne un résultat inattendu. < (inférieur), > (supérieur), ≤ et ≥ lisent les deux côtés comme des nombres. Un texte qui n'est pas un nombre vaut zéro, si bien que deux textes se retrouvent égaux sans qu'on l'ait voulu.
est dans (tableau) ne trouve rien. Une opérande droite écrite en clair est découpée sur les virgules, sans retirer les espaces. 200, 201 produit donc « 200 » et « 201 » précédé d'une espace, qui ne correspond à rien. Écrivez 200,201, sans espace.
correspond (regex) accepte trop de valeurs. L'expression est cherchée n'importe où dans la valeur de gauche, pas du premier au dernier caractère. Encadrez-la de ^ et de $ pour exiger la valeur entière.
L'appel est raccroché sur l'une des deux branches. Cette sortie n'est reliée à rien. Reliez true et false, y compris la branche que vous jugez improbable.
Comment le plan d'appel se construit, expliqué en images
Voir la page Plans de numérotation