Empêcher les enregistrements en double en fonction de plusieurs champs dans Salesforce2 minutes de lecture
Sans commentaires sur le scénario de déclenchement: empêcher les enregistrements en double en fonction de plusieurs champs dans Salesforce
Déclenchement pour empêcher les contacts en double à l’aide d’un e-mail ou d’un numéro de téléphone
Nous avons vérifié dans un article précédent comment éviter de créer des enregistrements en double si un champ est le même. Maintenant, en cas de vérification de plusieurs champs ci-dessous, c’est la solution:
déclencher PreventDuplicateContacts on Contact (avant insertion) {
// Configurer pour stocker les identifiants de messagerie
Ensemble
// Configurer pour stocker les numéros de téléphone
Ensemble
// Parcourez chaque contact et ajoutez son adresse e-mail et son numéro de téléphone à leurs ensembles respectifs
for (contact con: trigger.new) {
emailSet.add (con.email);
phoneSet.add (con.phone);
}
// Nouvelle liste pour stocker l’e-mail ou les numéros de téléphone trouvés
liste
// Remplissage de la liste avec SOQL
liste de contacts = [SELECT email,phone FROM Contact WHERE email IN :emailSet OR phone IN :phoneSet];
// Itération dans chaque enregistrement de contact pour voir si le même e-mail ou téléphone a été trouvé
for (contact con: trigger.new) {
Si (contactList.size ()> 0) {
// Affichage de l’erreur
con.email.adderror (‘Contact en double trouvé. Utiliser un contact existant.’);
}
}
}
1 2 3 4 5 6 sept 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | déclencheur PreventDuplicateContacts sur Contact (avant insérer) { // Configurer pour stocker les identifiants de messagerie Ensemble Chaîne> emailSet = Nouveau EnsembleChaîne>(); // Configurer pour stocker les numéros de téléphone Ensemble Chaîne> phoneSet = Nouveau EnsembleChaîne>(); // Parcourez chaque contact et ajoutez son adresse e-mail et son numéro de téléphone à leurs ensembles respectifs pour (contact con:déclencheur.Nouveau) { emailSet.ajouter(con.email); phoneSet.ajouter(con.téléphone); } // Nouvelle liste pour stocker l’e-mail ou les numéros de téléphone trouvés liste Contact> liste de contacts = Nouveau listeContact>(); // Remplissage de la liste avec SOQL liste de contacts = [[SÉLECTIONNER email,téléphone DE Contact OÙ email DANS :emailSet OU téléphone DANS :phoneSet]; // Itération dans chaque enregistrement de contact pour voir si le même e-mail ou téléphone a été trouvé pour (contact con:déclencheur.Nouveau) { Si (liste de contacts.Taille() > 0) { // Affichage de l’erreur con.email.adderror( «Contact en double trouvé. Utiliser un contact existant. ‘ ); } } } |