Dans Salesforce, valider les données avant / après l'insertion est très importante et doit être prise en considération. Dans la plupart des scénarios, après avoir entré les données dans l'objet Salesforce, certaines manipulations de données doivent se produire et les insertions / suppressions incorrectes. Pour y parvenir, Salesforce a introduit un script Apex qui est connu sous le nom de «déclencheur». Plongez rapidement dans le guide qui traite des événements de déclenchement, des variables de contexte, des types et des scénarios avec des exemples en temps réel.
Déclencheur apex
Dans Salesforce, Trigger est un code Apex (.apxt) qui tire avant ou après les instances de manipulation des données. Sur la base de l'événement spécifié dans le déclencheur, il tire sur des objets spécifiés dans Salesforce. Nous pouvons également spécifier les contextes qui nous aident à accéder aux contextes d'exécution. Cela nous aide à empêcher les actions indésirables / inutiles sur des objets dans Salesforce. Disons que, dans l'objet du compte, nous devons mettre à jour le téléphone uniquement lorsque «l'industrie» est «l'agriculture».
Déclencher des événements
Comme nous l'avons déjà discuté, un déclencheur se déclenche avant ou après les opérations DML se produisent. Il y a trois opérations DML qui se produisent sur l'objet Salesforce.
Un autre événement de déclenchement qui peut être licencié après la sous-prédiction est «après un peu de suppression».
Types de déclenchement
Fondamentalement, il existe deux types de déclencheurs: le déclencheur «avant» et le déclencheur «après».
Déclencher des variables de contexte
Il est important de voir quel scénario de déclenchement est tiré. Nous devons suivre le contexte du déclencheur le déclencheur est-il tiré. Toutes les variables de contexte de déclenchement reviennent vrai si le déclencheur est licencié à cause de cet événement. Regardons-les un par un.
1. isinsert: Si la gâchette est tirée en raison d'un événement DML insert, Isinsert devient vrai.
Exemple: Créer un contact lorsque le «compte» est créé.
2. isupdate: Si le déclencheur est licencié en raison d'un événement DML à mise à jour, l'isupdate devient vrai.
Exemple: Si le «nom de compte» n'est pas nul, peuplez les «revenus annuels».
3. isdelete: Si la gâchette est tirée en raison d'un événement de suppression de DML, Isdelete devient vrai.
Exemple: Les enregistrements du compte ne sont pas en mesure de supprimer si la «note du compte» est «chaude».
4. iSundelete: Si la gâchette est tirée en raison d'un événement DML non supprimé, Isundelete devient vrai.
Exemple: Les enregistrements du compte sont récupérés du bac de recyclage Salesforce.
Syntaxe de déclenchement:
Nous pouvons créer un script APEX qui tire sur la base des instances DML à l'aide du mot-clé «Trigger» suivi du nom de déclenchement. Il demande quel objet Salesforce le déclencheur devrait se produire lors de la création du script Apex lui-même. Tous les événements de déclenchement sont spécifiés après l'objet Salesforce.
Trigger Trigger_name sur Salesforce_Object_API (Trigger_events)Configuration de l'environnement
1. Accédez à la «console du développeur» et accédez au fichier «Select New». Ensuite, choisissez "Apex Trigger".
2. Il demande le nom du script et l'objet Salesforce de telle sorte que le déclencheur est tiré sur cet objet. Cliquez sur «Soumettre» pour créer un nouveau déclencheur Apex.
Scénario 1: avant d'insérer
Lorsque le compte est créé avec l'industrie de «l'éducation», nous licencions un déclencheur qui attribue le champ «Type» au «partenaire technologique» [compte-objet].
déclencher avant_insert sur le compte (avant d'insérer)«Premièrement, nous itrérons les enregistrements du compte et vérifions si l'industrie est« éducation »ou non. S'il s'agit de «l'éducation», nous attribuons le «partenaire technologique» au domaine du «type».
Cas de test:
Accédez à l'onglet «Comptes» du lanceur d'applications et créez un compte avec l'industrie comme «éducation». Vérifiez si le champ «Type» est rempli de «partenaire technologique» ou non.
En cliquant sur «Enregistrer», vous pouvez voir que «type» est créé avec «partenaire technologique».
Scénario 2: après insert et après la mise à jour
Lorsque le compte est créé avec la note «chaleureuse», nous licencions un déclencheur qui crée un contact avec «Contact Lastname» comme «Linuxhint-Account», «Title» en tant que «gestionnaire» et «Département» comme «Ventes» [objet » - Compte].
déclencher après_insert_trigger sur le compte (après insert, après la mise à jour)Tout d'abord, nous créons une liste de type «contact» et itérons l'objet «compte». À l'intérieur de la boucle «pour», nous vérifions si la «note de compte» est «chaude» ou non. S'il est «chaud», nous créons «contact» et attribuons trois champs avec les valeurs et ajoutons cet objet à la liste de contacts (déclarée précédemment). Enfin, nous insérons ces trois champs dans l'objet «Contact» en utilisant l'insert DML.
Cas de test:
Accédez à l'onglet «Comptes» du lanceur d'applications et créez un compte avec la «note» comme «chaleureuse». Vérifiez si l'enregistrement de contact est créé avec trois champs spécifiés.
En cliquant sur «Enregistrer», vous pouvez voir que «Contact» est créé avec trois champs. Accédez à l'onglet «Contacts».
Nous pouvons voir que trois champs sont créés. Accédez à l'onglet «Détails» pour afficher les champs.
Scénario 3: avant la mise à jour
Lorsque la campagne est mise à jour avec le type «conférence», nous licencions un déclencheur qui met à jour le champ «Statut» vers «Terminé» [Objet - Campagne].
déclencher avant_Update_trigger sur la campagne (avant la mise à jour)Tout d'abord, nous itré des dossiers de la campagne et vérifions si le «type» est «conférence» ou non. S'il s'agit de «conférence», nous mettons à jour le champ «Statut» pour «terminer».
Cas de test:
Accédez à l'onglet «campagnes» du lanceur d'applications et ouvrez tout enregistrement existant.
Ce dossier est de type «webinaire» et son statut est «planifié». Maintenant, modifiez cet enregistrement en mettant à jour le type de «Conférence».
Nous pouvons voir que le «statut» est mis à jour pour «terminer».
Scénario 4: Supprimer (avant)
Lorsque nous essayons de supprimer les enregistrements de l'objet de campagne lorsque le statut est «terminé» ou que le type est «conférence», nous lancerons une erreur telle que nous ne pourrons pas supprimer les enregistrements. Nous affichons l'erreur à l'aide de la méthode adderror () [objet - campagne].
déclencher delete_trigger sur la campagne (avant de supprimer)Cas de test:
Accédez à l'onglet «campagnes» du lanceur d'applications et ouvrez tout enregistrement existant avec le statut «terminé» ou avec le type «Conférence».
Cliquez sur «Supprimer» dans la liste déroulante à droite.
Nous pouvons voir que l'erreur est lancée et elle n'est pas supprimée.
Conclusion
Trigger est un script APEX qui tire avant ou après les instances de manipulation de données. Sur la base de l'événement spécifié dans le déclencheur, il tire sur des objets spécifiés dans Salesforce. Nous avons appris les quatre scénarios différents pour tirer le déclencheur lors de l'insertion, de la mise à jour et de la suppression avec différents exemples sur différents objets. Ici, nous avons utilisé le compte, le contact et les objets de campagne pour la démonstration. Vous pouvez suivre les mêmes exemples sur vos objets personnalisés.