Calcul de valeurs dans les variables et les formules
Objectifs de formation
Une fois cette unité terminée, vous pourrez :
- Concaténer deux valeurs de texte dans un flux
- Réaliser des additions et des soustractions à l’aide de valeurs numériques et de date dans un flux
- Créer une formule permettant de calculer des valeurs dynamiques dans un flux
- Expliquer la raison pour laquelle vous pourriez utiliser une formule dans un flux
Manipulation de données à l’aide de l’élément Assignment (Attribution)
L’élément Assignment (Attribution) peut également modifier des données de variable existantes au lieu de les remplacer complètement.
Combinaison de texte
Lorsque le type de données d’une variable est Text (Texte), vous pouvez sélectionner Add (Ajouter) en tant qu’opérateur de l’élément Assignment (Attribution). L’opérateur Add (Ajouter) vous permet d’ajouter du texte à la fin de la valeur actuelle.
Le flux Set Shipping Address (Définir l’adresse de livraison) fonctionne plutôt bien, mais Flo souhaite désormais savoir si l’adresse de livraison est à jour. Dans l’élément d’attribution Copy Address (Copier l’adresse), ajoutons une ligne qui ajoute, au champ Description du compte, une note indiquant la date à laquelle l’adresse de livraison a été ajoutée au compte. Nous ne voulons pas remplacer ce qui se trouve déjà dans le champ Description, mais simplement ajouter une note à la fin de son contenu. Toutefois, gardez à l’esprit que Salesforce ne peut pas combiner des variables textuelles avec des ressources non textuelles, telles que des variables de date ou des champs numériques. Pour ajouter des données non textuelles, créez une formule qui utilise la fonction TEXT() pour convertir la valeur non textuelle en texte.
Commençons par créer une formule contenant le texte ajouté.
- Cliquez sur
pour afficher la boîte à outils.
- Cliquez sur Nouvelle ressource.
- Pour Resource Type (Type de ressource), sélectionnez Formula (Formule).
- Pour API Name (Nom d’API), saisissez
frmChangeDateNote
. - Pour Type de données, sélectionnez Texte. (Même si nous ajoutons une date, le résultat final doit présenter le type de données Text [Texte] afin que nous puissions l’ajouter à un champ de texte.)
- Saisissez le texte suivant dans le champ Formula (Formule) :
" Shipping Address added on " & TEXT()
(" Adresse de livraison ajoutée le " & TEXT()) - Placez le curseur entre les parenthèses ( ).
- Dans le champ Insert a resource… (Insérez une ressource…), sélectionnez $Flow > Current Date (Date actuelle).
- Cliquez sur Check Syntax (Vérifier la syntaxe).
Le vérificateur de syntaxe est particulièrement utile pour détecter les erreurs dans les formules longues et complexes comportant des fonctions imbriquées.
- Cliquez sur Done (Terminé).
Avant de passer à l’étape suivante, examinons quelques éléments de cette formule.
" Shipping Address added on " & TEXT({!$Flow.CurrentDate})
(" Adresse de livraison ajoutée le " & TEXT[{!$Flow.CurrentDate}])
- Notez les espaces placées au début et à la fin de la phrase entre guillemets. Les espaces séparent la nouvelle phrase du texte déjà présent dans le champ Description et de la date qui suit. Par exemple, sans espace à la fin, le flux définirait la description comme suit : « Shipping Address added on03-02-2023. » (Adresse de livraison ajoutée le02-03-2023).
- Le symbole
&
indique à la formule de combiner le texte situé avant et après lui, de la même manière que nous le faisons avec l’opérateur Add (Ajouter) de l’attribution. - La fonction
TEXT()
convertit son contenu en texte afin qu’il puisse être utilisé dans un champ de texte.
Maintenant, ajoutez la ligne d’ajout de texte à l’attribution Copy Billing Address (Copier l’adresse de facturation).
- Cliquez sur l’élément Copy Billing Address (Copier l’adresse de facturation) et sélectionnez Edit Element (Modifier l’élément).
- Cliquez sur + Add Assignment (Ajouter une attribution).
- Dans le champ Variable, sélectionnez Account from Get_Account_Data (Compte provenant de Obtenir_les_données_du_compte), puis sélectionnez Description. Nous spécifions ici le champ Description de la variable du compte, car il s’agit de la variable qui est modifiée.
- Dans le champ Operator (Opérateur), sélectionnez Add (Ajouter).
- Dans le champ Value (Valeur), sélectionnez frmChangeDateNote. Nous sélectionnons ici la formule, car elle contient la valeur de texte que nous ajoutons à la description.
- Enregistrez le flux.
Désormais, lorsque l’élément Update Records (Mettre à jour les enregistrements) met à jour le compte, la mise à jour inclut la description modifiée.
Réalisation de calculs simples
Vous pouvez également utiliser l’opérateur Add (Ajouter) pour ajouter une valeur à une variable dont le type de données est Number (Nombre) ou Currency (Devise). Cependant, cela effectue de véritables calculs : si vous combinez les valeurs numériques 4 et 2, vous obtenez 6 et non 42. Vous pouvez également utiliser l’opérateur Subtract (Soustraire) pour soustraire des valeurs à des variables dont le type de données est Number (Nombre) ou Currency (Devise).
Par exemple, cet élément Assignment (Attribution) soustrait une remise du montant d’une opportunité. Le montant de la variable de l’opportunité est placé dans le champ Variable, car il s’agit de la valeur qui est modifiée. Le champ Operator (Opérateur) est défini sur Subtract (Soustraire). Enfin, la variable représentant le montant de la remise est placée dans le champ Value (Valeur).
Toutefois, regardez la deuxième ligne : elle représente une addition concernant un champ de date. Vous pouvez également utiliser les opérateurs Add (Ajouter) et Subtract (Soustraire) pour ajouter ou soustraire des jours à une valeur de date. Cet élément Assignment (Attribution) ajoute 2 jours à la date de clôture de l’opportunité.
Calcul automatique des modifications à l’aide de formules
Lorsque vous avez créé la formule frmChangeDateNote, le symbole &
combinait deux textes, de la même manière que l’opérateur Add (Ajouter) dans une attribution. Alors, pourquoi n’avons-nous pas utilisé le symbole &
pour associer la date directement au champ Description ? Il se trouve que le symbole & ne fonctionne que dans des formules, or le champ Description est un champ de texte long. Dans les formules de flux, Salesforce n’autorise pas les champs de texte longs, car ils peuvent facilement dépasser la limite de calcul d’une formule.
Cette restriction est un exemple des limites et des complications liées aux formules dans les flux. Les formules de flux ont un temps de calcul limité et un nombre restreint de caractères, ce qui rend l’utilisation de formules complexes intrinsèquement risquée. De plus, contrairement aux variables, les formules ne peuvent pas être modifiées alors qu’un flux est en cours d’exécution. Alors, à quel moment est-il pertinent d’utiliser une formule ?
Vous pouvez considérer les formules comme étant semblables aux tournevis très particuliers qui font partie de votre trousse à outils, ceux dont les pointes ont des formes que vous n’avez jamais vues auparavant. Vous ne les utilisez peut-être pas beaucoup, mais lorsque vous finissez par tomber sur une vis à laquelle correspond l’une de ces pointes, vous êtes heureux d’avoir ces outils en votre possession ! En d’autres termes, en règle générale, les formules doivent être employées dans les situations où elles constituent la seule solution viable.
La formule frmChangeDateNote est un excellent exemple de cette règle. Nous ne pouvons pas utiliser simplement un élément Assignment (Attribution) pour associer la date à la description, car la date doit d’abord être convertie en valeur de texte. Nous avons besoin de la fonction TEXT() de la formule pour effectuer la conversion.