Je ne parviens pas à résoudre le problème du bogue Process Builder - Duplicate Management
Il y a ce bogue incroyablement frustrant concernant un conflit entre le générateur de processus et la gestion des doublons.
Certaines personnes ont suggéré une solution de contournement, mais je n'arrive pas à le faire fonctionner, le conflit se produit toujours pour moi.
Voici la solution de contournement, merci à Yi-Hs Tsai et Manu Devaraju :
For those looking for a work around to this very annoying problem, here's a solution that I've found works:
Create a checkbox field on the object called "Allow duplicates?" with default set to false.
In your Duplicate rule definition, include this new field under the "Conditions" section.
In your flow or process builder, BEFORE you update the record, first do an update where you set the "Allow duplicates?" field to true. Then perform the update you want.
Since "Allow duplicates?" is checked and the update no longer meets the rule conditions, so shouldn't trigger the duplicate rule.
If you want the duplicate rule to run in the future for this record, you can do another record update to uncheck the "Allow duplicates?" field.
For instance, I have a duplicate rule on Contacts that has a whole bunch of matching criteria. Following the steps I:
Create a field on the Contact object called "Allow Duplicates?" with default unchecked.
In my duplicate rule (Setup -> quickfind -> Duplicate Rules), I set a condition: "Contact: Allow Duplicates? EQUALS False"
In my flow, I have a step where I set Allow Duplicates? = true and update my record.
In my flow, then I perform the update on the email, phone, etc., that ordinarily would trigger the rule because of the my matching criteria.
In my flow, when I'm all done, I set the Allow Duplicates? back to false.
Quelqu'un d'autre (Daniel DeAguilar) en avait plus à ce sujet :
So what i did was created the allow duplicates checkbox Yi-Hs mentions on my Account object (default unchecked), and in process builder did the following steps:
Under 'Choose Object and Specify When to Start the Process' i had recursion enabled (this was key)
1st node in process was looking for whenever my parent account field was changed
Immediate action in 1st node was changing duplicate checkbox to 'checked/true'
instead of stop i had 'evaluate next criteria' and go to 2nd node'
2nd node looked for when duplicate checkbox = true/checked
immediate action #1 to set parent account lookup to parent account id field (enabling lookup related lists)
immediate action #2 to set duplicate checkbox = false/unchecked
Dans le journal de débogage, je peux voir que le processus est en cours d'exécution et après cela, la détection des doublons s'exécute et tout va bien, le nouveau champ personnalisé a la valeur appropriée et la détection est empêchée.
Mais après cela, un traitement supplémentaire se poursuit et la détection des doublons s'exécute une fois de plus et cette fois, le nouveau champ personnalisé a sa valeur par défaut, il n'empêche donc pas la détection et vous obtenez l'erreur DUPLICATES_DETECTED que le processus ne peut pas gérer.
Le plus déroutant pour moi est de savoir où et comment exactement le champ "Autoriser les doublons" doit être mis à jour. Le générateur de processus n'a pas de commande/option de mise à jour explicite.
Voici une capture d'écran de ma configuration de générateur de processus :

Réponses
En regardant plus loin dans les commentaires sur cette idée, vous verrez que le commentaire original / la solution de contournement de Manu Devaraju explique cela beaucoup mieux. Ci-dessous les étapes copiées/collées.
Créer un nouveau champ de liste de sélection "Remplacer le doublon" (Oui/Non) sur l'objet Contact
Créer une règle de correspondance pour la combinaison du prénom, du nom et du numéro de téléphone
Créez une règle de duplication avec une règle de correspondance créée à l'étape a ci-dessus. Dans la règle de duplication, recherchez la section ci-dessous et dans les critères, ajoutez le champ « Remplacer le doublon » et la valeur « Non » b. La condition ci-dessus signifie que vous souhaitez exécuter la règle de duplication uniquement si la valeur du champ "Remplacer le doublon" est "Non" Conditions Si vous le souhaitez, spécifiez les conditions qu'un enregistrement doit remplir pour que la règle s'exécute.
Dans le générateur de processus/flux, lorsque vous essayez de créer un nouvel enregistrement ou de mettre à jour un enregistrement existant, définissez ce champ supplémentaire "Remplacer le doublon" sur "Oui" - cela signifie que vous essayez de contourner explicitement les règles de duplication dans les flux afin ce flux ne lancera PAS de message d'erreur
Utilisez les règles de workflow et les mises à jour de champ pour désactiver l'indicateur de remplacement sur "Non" immédiatement après que le générateur de processus l'a mis à jour sur "Oui". Nom de la mise à jour du champ : WFU Non défini Remplacer l'indicateur en double Champ à mettre à jour : Remplacer la valeur de l'indicateur en double : Non
La clé semble être que WF fasse la mise à jour finale pour remettre l'indicateur sur False . Cela ne se heurte pas au bogue (qui est spécifique à PB).