Articles

Ordre d’exécution (Règles, Déclencheurs, etc.) dans Salesforce & Debug Log

Salesforce a un tas de règles qui peuvent être définies sur les objets et les champs. Par exemple, vous pouvez définir des règles de validation, des règles de workflow, un générateur de processus, des flux, des règles d’affectation, des règles d’escalade, des règles de réponse automatique, des déclencheurs, etc.

Que vous soyez administrateur, consultant, développeur ou architecte, il est important que vous compreniez l’ordre dans lequel ces règles et déclencheurs sont exécutés.

L’image suivante représente visuellement l’ordre d’exécution. (Pour plus de détails, veuillez vous référer à l’URL du Guide du développeur Apex mentionnée dans la section « Références & URL utiles » ci-dessous).

Maintenant, parfois, les choses ne fonctionneront pas comme vous l’attendez. Votre système peut se comporter comme un ivrogne (ou du moins vous le penseriez). Dans de tels cas, la fonctionnalité « Journaux de débogage » de Salesforce viendra à votre secours.

Disons que nous avons configuré ce qui suit sur l’objet Lead

  1. Il existe une règle de validation sur l’objet lead qui indique que si l’évaluation du lead est chaude, l’e-mail ne peut pas être vide
  2. Alors nous avons configuré des règles en double dans Salesforce pour nous assurer que le lead en cours de création n’existe pas déjà
  3. Alors il est une règle d’attribution de leads définie dans Salesforce qui attribue tous les leads  » chauds  » à l’utilisateur  » Nick Admas « .
  4. Ensuite, il existe une règle de flux de travail avec une action de mise à jour de champ définie qui définit le champ de liste de sélection de l’industrie sur « Technologie » si la ville est San Francisco.
  5. Ensuite, il existe un Générateur de processus avec des critères si le statut du Lead est « Visite du site », un enregistrement de visite du site doit être créé automatiquement en mappant les valeurs du Lead.

Si vous utilisez une combinaison de fonctionnalités différentes dans Salesforce et que vous rencontrez des problèmes où le système ne se comporte pas comme vous l’attendez, la meilleure façon de diagnostiquer et de dépanner sera d’activer le débogage (Setup-> Journaux de débogage), d’exécuter la transaction, puis de vérifier le journal de débogage. Sur la base de l’exemple donné ci-dessus, voici ce que vous verrez dans le journal de débogage (survolez ces images pour les agrandir).

Debugging Order of Execution in Salesforce
Debugging Order of Execution in Salesforce

Keep this sequence in mind while designing your solution and your app will behave properly.

(Au fait, si vous vous préparez à la certification de développeur de plate–forme, il y a quelques questions sur l’ordre d’exécution)

Référence &URL utiles
  1. Déclencheurs et ordre d’exécution – Guide du développeur Apex (15 minutes) – https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_triggers_order_of_execution.htm
  2. 20 Outils de surveillance différents&Outils d’audit dans Salesforce – Article de blog (20 minutes) – https://www.asagarwal.com/monitoring-and-auditing-tools-in-salesforce/
Journal des modifications des articles de blog
  1. Août 2015 – Première publication
  2. Août 2019 – Mise à jour pour inclure les règles en double, les constructeurs de processus &flux
  3. Novembre 2020 – Mise à jour selon la version d’hiver 21 pour inclure les flux déclenchés par enregistrement