Récupérer des informations personnalisées des produits d'opportunités

Prev Next

Candace, la commerciale, renseigne des informations additionnelles dans un champ texte personnalisé sur le produit d'opportunité.
Ces informations personnalisées aident le client à comprendre les produits achetés en plus de leur description officielle.
Un jour, un client appelle Candace ne comprenant pas sa facture. A son grand désarroi, Candace découvre alors que l'information n'est pas affichée sur le PDF de Facture.
Elle se tourne alors vers Linda pour voir ce qui serait possible de faire pour afficher cette information.
 

Linda enquête et découvre que le champ "description additionnelle" a bien été créé sur Ligne de facture mais qu'il n'est jamais renseigné. Elle cherche donc à mettre en place un automatisme pour récupérer les informations du produit d'opportunité.
Malheureusement elle se heurte à une limitation de la plateforme Salesforce : il est impossible de créer un champ référence (lookup) vers les produits d'opportunités.
Heureusement, Frisbii a anticipé ce problème et a renseigné dans un champ texte l'ID du produit d'opportunité dont est originaire la ligne de facture.

Linda ne peut pas faire un simple processus car celui-ci ne gère pas les ID sous format texte.
Linda rassure Candace, se remonte les manches et ouvre sa configuration pour mettre en place un flux.

Pré-requis

Il faut connaître le champ dont les valeurs sont à copier de Produit d'opportunité vers Ligne de facture.
Il faut créer un champ du même type avec les mêmes caractéristiques (longueur, valeurs de liste de sélection, nombre de décimales...) sur la Ligne de facture que sur la Produit d'opportunité.

Mise en place du flux

Linda se lance dans la création d'un flux. Suite aux unités Trailhead qu'elle a fait à ce sujet, elle est confiante de réussir du premier coup.

Procédure :

1. Allez dans l'accueil de la configuration.
2. Recherchez flux dans la barre de recherche en haut à gauche.
3. Cliquez sur Flux dans Configuration > Automatisation des processus > Flux.

4. Cliquez sur Nouveau flux en haut à droite.

5. Choisissez Flux d'enregistrement modifié.

6. Cliquez sur Modifier dans le bloc en haut à gauche.

7. Choisissez Avant la sauvegarde de l'enregistrement.

8. Cliquez sur Choisir un objet.
9. Cherchez ligne dans le champ Objet.
10. Sélectionnez Ligne de facture.

11. Cliquez-glissez l'élément Obtention d'enregistrements de la boite à outil dans un espace vide à droite.
12. Saisissez l'étiquette de cet élément. Par exemple Obtenir produit d'opportunité. Si vous avez des ambitions internationales ou que votre org est configurée en anglais, nous vous recommandons de remplir ces informations en anglais.
13. Saisissez une description qui permettra à quiconque de comprendre ce que fait cet élément. Par exemple : Récupère le produit d'opportunité associé à la ligne de facture.
14. Cherchez "produit d'op" dans le champ Objet.
15. Sélectionnez Produit d'opportunité.

16. Désormais les conditions sont disponibles. Choisissez dans Champ Id et conservez l'opérateur à Égal à.
17. Cliquez sur le champ Valeur pour le mettre en surbrillance.
18. Cliquez sur $Record en bas de la liste.

19. Saisissez opp pour faire apparaître le choix sofactoapp__OppLineItemId__c qui est le champ qui porte l'id du produit d'opportunité dont est originaire la ligne de facture.
20. Sélectionnez ce choix.

Attention : Si ce champ est vide le flux bloquera. Ce flux est à compléter si l'intégralité de vos lignes de factures ne sont pas issues ou liées à un produit d'opportunité. C'est par exemple le cas si vous effectuez des factures ex-nihilo ou que vous n'utilisez jamais les opportunités.

21. Conservez les autres valeurs par défaut et cliquez sur Terminé en bas à droite.

22. Cliquez-glissez l'élément Attribution de la boite à outil dans un espace vide à droite.
23. Saisissez l'étiquette de cet élément. Par exemple Renseigne les champs personnalisés sur Ligne de Facture.

Attention : N'oubliez pas de corriger le nom API en remplaçant les "_" par les lettres accentuées manquantes, ainsi il faut corriger "personnalis_s" en "personnalises".

24. Saisissez une description qui permettra à quiconque de comprendre ce que fait cet élément. Par exemple : "Cette attribution permet de renseigner les champs miroir sur Ligne des factures avec les valeurs des champs sur Produit d'opportunité.".
25. Cliquez sur le champ Variable.
26.  Choisissez $Record.

27. Recherchez le champ à renseigner, ici Description additionnelle et sélectionnez-le. Laissez l'opérateur tel quel.
28. Cliquez sur le champ Valeur à droite pour le mettre en surbrillance.
29. Choisissez Produit d'opportunité de Obtenir.

30. Choisissez le champ source sur Produit d'opportunité, ici Description additionnelle.

31. Si vous en avez d'autres à synchroniser, vous pouvez cliquer sur + Ajouter une attribution et répéter les étapes 25 à 30, sinon cliquez sur Terminé.

32. Connectez les éléments entre eux dans l'ordre suivant : Début > Obtenir des enregistrements > Attribution.
Pour ce faire, cliquez sur le cercle en bas d'un élément et effectuez un cliquer-glisser jusqu'à l'élément suivant.
33. Cliquez sur Enregistrer en haut à droite.

34. Renseignez l'étiquette du flux. Nous vous conseillons d'avoir toujours la même nomenclature.
Ici, nous commençons par décrire le type d'automatisation (flux) puis l'objet sur lequel il est basé (Ligne de facture) et enfin son mode de déclenchement (before insert).
Ce qui par exemple ici nous donne : Flux - Ligne de facture - before insert.
35. Renseignez également la description. Par exemple ici : Ce flux en before insert (avant insertion de l'enregistrement en base de donnée) récupère les informations custom du produit d'opportunité et les renseigne dans la ligne de facture.
36. Cliquez sur Terminé.

37. Enfin, cliquez sur Activer en haut à droite de l'écran pour rendre le flux actif.

Tester le bon fonctionnement du flux

Linda et Candace ont hâte de tester le flux de Linda. Regardons comment elles procèdent.

Procédure

1. Rendez-vous sur un enregistrement d'opportunité.
2. Cliquez sur un enregistrement de produit dans la liste associée.

3. Renseignez une valeur dans le champ ou les champs à récupérer. Ici Description additionnelle.
4. a) Cliquez sur Enregistrer.

4. b) Puis retournez dans l'opportunité parente et cliquez sur le bouton Facturer et valider sur la page de confirmation intermédiaire.

5. Vous devez désormais être sur un enregistrement de Facture. Rendez-vous dans la ligne de facture associée au produit d'opportunité où vous aviez renseigné une valeur, ici Sneackers Winter 20.

6. Les informations doivent être correctement présentes sur la ligne de facture. Ici le champ Description additionnelle est bien rempli avec la valeur précédemment saisie sur le produit d'opportunité.

Annexe : si des lignes de factures sont sans produit d'opportunité

Ce flux ne gère pas le cas où la ligne de facture n'est pas issue (directement ou indirectement) d'un produit d'opportunité. Ci-dessous la procédure pour ajouter un contrôle.

Procédure

0. Ré-ouvrez le flux.
1. Cliquez-glisser un élément Décision depuis la boîte à outils.
2. Renseignez une étiquette explicite.
3. Renseignez une description.
4. Renseignez une étiquette explicite pour le détails du résultat.
5. Renseignez la ressource en choisissant $Record et le champ OppLineItemId.
6. Changez l'opérateur et choisissez Est nul.
7. Renseignez la valeur par la constante globale False.
8. Cliquez sur Terminé.

9. Cliquez sur la flèche qui connecte l'élément Début et Obtenir des enregistrements pour la mettre en surbrillance.

10. Tapez sur la touche Suppr ou Retour arrière pour supprimer cette connexion.

11. Connectez le début et la décision à obtenir des enregistrements. Choisissez le résultat Oui - il y a un produit d'opportunité et cliquez sur Terminé lors de la connexion de la décision avec Obtenir des enregistrements.
12. Cliquez sur Enregistrer sous.

13. Laissez tel quel ou complétez la description et cliquez sur Enregistrer.

14. Finalement, activez cette nouvelle version.

 

Mise en garde performance

Un flux en before insert est celui qui assurera la meilleure performance à l'automatisme.
Cependant, cela ne signifie pas que cela soit suffisant en cas de création en masse de lignes de facture.
Par exemple : génération d'échéancier de facturation en même temps sur plusieurs abonnements issus d'opportunité.
Veuillez tester que cet automatisme n'impacte pas négativement votre org par l'atteinte de limites.

Ce flux ne gère pas de synchronisation.
Une modification sur le produit d'opportunité ne sera ainsi pas réparti sur les lignes de facture brouillons associées.
Pour ce faire, vous devrez mettre en place une automatisation par flux ou code sur Produit d'opportunité pour venir mettre à jour toutes les lignes de facture.