Spécification et modification de valeurs de variable
Objectifs de formation
Une fois cette unité terminée, vous pourrez :
- Modifier la valeur d’une variable de flux
- Utiliser une variable pour accepter des données provenant de plusieurs sources
- Créer plusieurs chemins avec des éléments Assignment (Attribution) individuels
Le pouvoir du changement
À chaque fois que vous stockez des données dans un flux, celles-ci sont pratiquement parfaites et n’ont jamais besoin d’être modifiées d’aucune manière, n’est-ce pas ? En réalité, vous admettrez que c’est assez rare. Souvent, vous récupérez des données d’enregistrement dans un flux, y effectuez des ajouts, des suppressions ou des modifications d’une manière ou d’une autre, puis les renvoyez à l’enregistrement d’où elles proviennent.
Les équipes de marketing et d’activation de Pyroclastic souhaitent commencer à utiliser les adresses de livraison dans le cadre de leurs communications. Pour de nombreux comptes, l’adresse de facturation requise est renseignée, mais aucune adresse de livraison n’est indiquée. Flo vous demande de créer un flux qui demande aux utilisateurs s’ils souhaitent copier l’adresse de facturation ou saisir manuellement une adresse de livraison, puis qui met à jour les champs d’adresse de livraison en conséquence.
Il pourrait s’agir d’un simple flux déclenché par un enregistrement comportant un seul élément Update Records (Mettre à jour les enregistrements), mais il y a un problème. Vous souvenez-vous de la fois où vous avez mis à jour la priorité des requêtes en définissant la valeur du champ Priority (Priorité) ? Vous n’aviez alors qu’une seule valeur pour le champ Priority (Priorité).
Dans le scénario relatif aux adresses de livraison, l’adresse de livraison peut provenir de l’adresse de facturation ou être saisie par l’utilisateur. Théoriquement, l’élément Update Records (Mettre à jour les enregistrements) ressemblerait à ceci :
Une telle configuration n’est pas viable. Le champ Value (Valeur) ne peut avoir qu’une seule source de données. Il ne peut pas utiliser soit l’adresse de facturation, soit la saisie de l’utilisateur : il est nécessaire de définir une source précise.
Vous avez donc besoin d’un réceptacle intermédiaire (une variable) qui peut accepter une adresse de livraison provenant soit de l’adresse de facturation, soit de la saisie de l’utilisateur.
Vous devez également disposer d’un moyen de déterminer si l’utilisateur a choisi de copier l’adresse de facturation ou de saisir manuellement une adresse, et d’agir en conséquence. Pour ce faire, vous pouvez utiliser un élément Decision (Décision).
Ensuite, vous pouvez configurer l’élément Update Records (Mettre à jour les enregistrements) de sorte qu’il définisse les valeurs Shipping Address (Adresse de livraison) à partir de la variable. Toutefois, comment faut-il procéder pour définir la valeur de la variable ?
C’est là qu’intervient l’élément Assignment (Attribution). L’élément Assignment (Attribution) attribue l’adresse souhaitée par l’utilisateur à la variable, afin que la valeur de la variable puisse être utilisée pour mettre à jour les champs Shipping Address (Adresse de livraison).
L’élément Assignment (Attribution)
Pour attribuer une valeur à une variable, il vous faut utiliser l’élément Assignment (Attribution). Dans le scénario relatif aux adresses de livraison, vous modifiez la valeur d’une variable pour mettre à jour un champ dans un enregistrement, mais l’élément Assignment (Attribution) peut faire bien plus que cela.
Une variable est semblable à une boîte repas. Tout comme une boîte repas peut contenir différents aliments, une variable peut stocker diverses valeurs.
Pour définir la valeur d’une variable, vous lui attribuez une valeur. Par exemple : Priority equals Sev 0 (Priorité égale à Grav 0).
Dans l’élément Assignment (Attribution), vous définissez la valeur d’une variable en spécifiant la variable et sa valeur. Chaque instruction d’attribution comprend également un opérateur qui contrôle la manière dont la variable est mise à jour. Prenons l’exemple suivant.
Dans cet exemple, l’opérateur Equals (Égal à) remplace la valeur actuelle de la variable par la valeur spécifiée. Par conséquent, la variable Priority (Priorité) stocke Sev 0 (Grav 0) comme valeur.
Élaboration d’un flux avec des éléments Assignment (Attribution)
Pour revenir au flux d’adresses de livraison demandé par Flo, créons un flux d’écran que Flo peut intégrer sur la page Lightning Account (Compte) et masquer si les champs Shipping Address (Adresse de livraison) sont remplis.
Commencez par appliquer ce que vous avez appris avec ce badge et le badge Données et actions dans les flux pour créer un flux d’écran.
Création d’un flux d’écran et d’une variable de texte
- Créez un flux et sélectionnez le type Screen Flow (Flux d’écran).
- Créez une variable de texte pour recevoir l’ID de l’enregistrement actuel :
- API Name (Nom d’API) :
recordId
- Type de données : Texte
- Available for input (Disponible pour l’entrée) : cochez la case associée
Création d’éléments Get Records (Obtenir des enregistrements), Screen (Écran) et Decision (Décision)
- Ajoutez un élément Get Records (Obtenir des enregistrements) pour récupérer les détails de l’enregistrement actuel et les stocker dans une variable d’enregistrement.
- Étiquette :
Get Account Data
(Obtenir les données du compte) - Objet : Compte
- Filter Condition Requirement (Exigences de condition de filtrage) :
- Champ : Id
- Opérateur : Égal à
- Value (Valeur) : recordId
- Champ : Id
- How Many Records to Store (Nombre d’enregistrements à stocker) : Uniquement le premier enregistrement
- How to Store Record Data (Comment stocker les données d’enregistrement) : Stocker automatiquement tous les champs
- Ajoutez un élément Screen (Écran) qui invite l’utilisateur à copier l’adresse de facturation ou à saisir une adresse de livraison.
- Sur la zone de dessin, après l’élément Get Account Data (Obtenir les données du compte), cliquez sur .
- Sélectionnez Screen (Écran).
- Pour Label (Étiquette), saisissez
Email Address
(Adresse e-mail).
- Depuis le panneau Components (Composants), faites glisser un composant Checkbox (Case à cocher) vers la zone de texte de l’écran.
- Pour Label (Étiquette), saisissez
Use the billing address for the shipping address
(Utiliser l’adresse de facturation comme adresse de livraison).
- Pour API Name (Nom d’API), raccourcissez le nom par défaut en
Use_the_billing_address
(Utiliser_l_adresse_de_facturation).
- Faites glisser un composant Address (Adresse) vers la zone de dessin de l’écran, sous la case à cocher.
- Pour API Name (Nom d’API), saisissez
ScreenShipping
.
- Pour Label (Étiquette), saisissez
Shipping Address
(Adresse de livraison).
La zone de dessin de l’écran devrait ressembler à ceci.
- Cliquez sur Done (Terminé).
- Ajoutez un élément Decision (Décision) pour créer différents chemins en fonction du choix de l’utilisateur.
- Étiquette :
Use Billing Address?
(Utiliser l’adresse de facturation ?) - Outcome 1 Label (Étiquette du résultat 1) :
Selected
(Sélectionné) - Outcome 1 Condition Requirement (Exigence de condition du résultat 1) :
- Ressource : Enter Address (Saisissez une adresse) > Use the Billing Address… (Utiliser l’adresse de facturation…)
- Opérateur : Égal à
- Valeur : Vrai
- Ressource : Enter Address (Saisissez une adresse) > Use the Billing Address… (Utiliser l’adresse de facturation…)
- Default Outcome Label (Étiquette du résultat par défaut) :
Not Selected
(Non sélectionné) - Cliquez sur pour fermer le panneau latéral.
- Enregistrez le flux. Pour Flow Label (Étiquette du flux), saisissez
Set Shipping Address
(Définir l’adresse de livraison).
Votre flux doit ressembler à ce qui suit :
Vous disposez désormais d’un flux d’écran qui permet à l’utilisateur de copier l’adresse de facturation ou de la saisir manuellement. Quelle que soit la source choisie par l’utilisateur, vous devez copier l’adresse de livraison dans la variable d’enregistrement Get Account Data (Obtenir les données du compte).
- Si l’utilisateur a choisi d’utiliser l’adresse de facturation, le flux attribue à ses champs d’adresse de livraison les valeurs issues des champs d’adresse de facturation de la variable d’enregistrement.
- Si l’utilisateur a choisi de saisir l’adresse de livraison manuellement, le flux attribue aux champs d’adresse de livraison de la variable d’enregistrement les valeurs saisies dans l’écran Enter Address (Saisir l’adresse).
Ensuite, vous devez mettre à jour les données dans la variable d’enregistrement Account from Get Account Data (Compte provenant de Obtenir les données du compte) de l’élément Get Account Data (Obtenir les données du compte). Vous allez créer deux éléments Assignment (Attribution) pour définir les valeurs de champ dans cette variable d’enregistrement : le premier servira à copier l’adresse de facturation (dans le chemin Selected [Sélectionné]) et le second servira à copier les données issues de l’élément d’écran Enter Address (Saisir l’adresse) dans le chemin Not Selected (Non sélectionné).
Ajout d’un élément Assignment (Attribution) au chemin Selected (Sélectionné)
- Dans le chemin Selected (Sélectionné), cliquez sur .
- Faites défiler l’écran jusqu’à la section Logic (Logique) et sélectionnez Assignment (Attribution).
- Pour Label (Étiquette), saisissez
Copy Billing Address
(Copier l’adresse de facturation).
- Pour Variable, sélectionnez Account from Get Account Data (Compte provenant de Obtenir les données du compte), puis Shipping City (Ville d’expédition).
- Pour Value (Valeur), sélectionnez Account from Get Account Data (Compte provenant de Obtenir les données du compte), puis sélectionnez Billing City (Ville de facturation).
- Cliquez quatre fois sur +Add Assignment (Ajouter des attributions) pour avoir un total de cinq lignes.
Comme vous devez définir chaque champ Address (Adresse) individuellement, vous avez besoin d’une ligne d’attribution pour chacun des cinq champs d’adresse.
- Sélectionnez les valeurs suivantes dans les lignes d’attribution ajoutées :
-
Account from Get Account Data (Compte provenant de Obtenir les données du compte)> Shipping Country (Pays d’expédition) est égal à Account from Get Account Data (Compte provenant de Obtenir les données du compte)> Billing Country (Pays de facturation)
-
Account from Get Account Data (Compte provenant de Obtenir les données du compte)> Shipping Zip/Postal Code (Expédition - Code postal) est égal à Account from Get Account Data (Compte provenant de Obtenir les données du compte)> Billing Zip/Postal Code (Code postal de facturation)
-
Account from Get Account Data (Compte provenant de Obtenir les données du compte) > Shipping State/Province (Expédition - Région/Province) est égal à Account from Get Account Data (Compte provenant de Obtenir les données du compte)> Billing State/Province (Région/Province de facturation)
-
Account from Get Account Data (Compte provenant de Obtenir les données du compte) > Shipping Street (Rue d’expédition) est égal à Account from Get Account Data (Compte provenant de Obtenir les données du compte) > Billing Street (Rue d’expédition)
- Cliquez sur pour fermer le panneau latéral.
- Enregistrez le flux.
Ajout d’un élément Assignment (Attribution) au chemin Not Selected (Non sélectionné)
- Dans le chemin Not Selected (Non sélectionné), cliquez sur .
- Faites défiler l’écran jusqu’à la section Logic (Logique) et sélectionnez Assignment (Attribution).
- Pour Label (Étiquette), saisissez
Set Address from Screen
(Définir l’adresse à partir de l’écran).
- Cliquez quatre fois sur +Add Assignment (Ajouter des attributions) pour avoir un total de cinq lignes.
- Sélectionnez les valeurs suivantes dans les lignes d’attribution :
-
Account from Get Account Data (Compte provenant de Obtenir les données du compte)> Shipping City (Ville d’expédition) est égal à Enter Address (Saisissez une adresse) > ScreenShipping > City Value (Valeur Ville)
-
Account from Get Account Data (Compte provenant de Obtenir les données du compte)> Shipping Country (Pays d’expédition) est égal à Enter Address (Saisissez une adresse) > ScreenShipping > Country Value (Valeur Pays)
-
Account from Get Account Data (Compte provenant de Obtenir les données du compte)> Shipping Zip/Postal Code (Expédition - Code postal) est égal à Enter Address (Saisissez une adresse) > ScreenShipping > Postal Code Value (Valeur Code postal)
-
Account from Get Account Data (Compte provenant de Obtenir les données du compte) > Shipping State/Province (Expédition - Région/Province) est égal à Enter Address (Saisissez une adresse) > ScreenShipping > State or Province Value (Valeur de région ou province)
-
Account from Get Account Data (Compte provenant de Obtenir les données du compte) > Shipping Street (Rue d’expédition) est égal à Enter Address (Saisissez une adresse) > ScreenShipping > Street Value (Valeur Rue)
- Cliquez sur pour fermer le panneau latéral.
- Enregistrez le flux.
Le flux attribue désormais des valeurs aux champs d’adresse de livraison de la variable d’enregistrement. Toutefois, il vous reste encore à consigner cette adresse de livraison dans l’enregistrement de compte. L’élément Assignment (Attribution) n’enregistre pas réellement les nouvelles valeurs dans l’enregistrement. Pour mettre cela en œuvre, vous avez besoin d’un élément Update Records (Mettre à jour les enregistrements). Créez un élément Update Records (Mettre à jour les enregistrements) après la convergence des chemins Selected (Sélectionné) et Not Selected (Non sélectionné).
Mise à jour de l’enregistrement de compte
- Après les deux éléments Assignment (Attribution) sur la zone de dessin du flux, ajoutez un élément Update Records (Mettre à jour les enregistrements).
- Pour Label (Étiquette), saisissez
Update Account
(Mettre à jour le compte).
- Pour How to Find Records to Update and Set Their Values (Comment rechercher des enregistrements pour mettre à jour et définir leur valeur), conservez Use the IDs and all field values from a record or record collection (Utiliser les ID et toutes les valeurs de champ d’un enregistrement ou d’une collection d’enregistrements).
Sur l’élément Update Records (Mettre à jour les enregistrements), ce paramètre met à jour l’enregistrement à partir d’une variable d’enregistrement. L’élément utilise le champ ID de la variable d’enregistrement pour déterminer quel enregistrement mettre à jour et met à jour les champs de cet enregistrement pour qu’ils correspondent aux champs de la variable.
- Pour Record or Record Collection (Enregistrement ou collection d’enregistrements), sélectionnez Account (Compte) dans Get Account Data (Obtenir les données du compte).
- Enregistrez le flux.
Nous avons terminé ! Vous avez créé un flux qui utilise cinq types d’éléments.
- L’élément Get Records (Obtenir des enregistrements) (nommé Get Account Data [Obtenir les données du compte]) obtient les valeurs de champ de l’enregistrement du compte actuel.
- L’élément Screen (Écran) (nommé Enter Address [Saisir l’adresse]) invite l’utilisateur à saisir une adresse de livraison ou à copier l’adresse de facturation.
- L’élément Decision (Décision) (nommé Use Billing Address? [Utiliser l’adresse de facturation ?]) détermine ce que l’utilisateur a choisi et crée un chemin pour chaque possibilité.
- Les deux éléments Assignment (Attribution) apportent des modifications aux champs d’adresse de livraison dans la variable d’enregistrement Get Account Data (Obtenir les données du compte), soit en copiant l’adresse de facturation vers l’adresse de livraison (élément Copy Billing Address [Copier l’adresse de facturation]) ou en copiant les informations saisies manuellement vers l’adresse de livraison (élément Set Address from Screen [Définir l’adresse à partir de l’écran]).
- Enfin, l’élément Update Records (Mettre à jour les enregistrements) (nommé Update Account [Mettre à jour le compte]) met à jour l’enregistrement de compte actuel avec les valeurs modifiées de la variable d’enregistrement.
Pour en savoir plus sur les autres fonctionnalités des éléments Assignment (Attribution), poursuivez votre lecture.
Ressources
- Trailhead : Concepts de base de Flow Builder (En savoir plus sur les variables de flux)
- Documentation : Élément de flux : Attribution