Non riesco a ottenere la soluzione alternativa per il funzionamento del bug Process Builder - Duplicate Management
C'è questo bug incredibilmente frustrante relativo a un conflitto tra Process Builder e Duplicate Management.
Alcune persone hanno suggerito una soluzione alternativa, ma non riesco a farlo funzionare, il conflitto è ancora in corso per me.
Questa è la soluzione alternativa, grazie a Yi-Hs Tsai e 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.
Qualcun altro (Daniel DeAguilar) ha avuto qualcosa in più su questo:
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
Nel registro di debug posso vedere che il processo è in esecuzione e successivamente viene eseguito il rilevamento duplicati e tutto è OK, il nuovo campo personalizzato ha il valore corretto e il rilevamento viene impedito.
Ma dopo l'ulteriore elaborazione continua e il rilevamento duplicato viene eseguito ancora una volta e questa volta il nuovo campo personalizzato ha il suo valore predefinito, quindi non impedisce il rilevamento e si ottiene l'errore DUPLICATES_DETECTED che il processo non è in grado di gestire.
La cosa più sconcertante per me è dove/come deve essere aggiornato esattamente il campo "Consenti duplicati". Il generatore di processi non dispone di un comando/opzione di aggiornamento espliciti.
Ecco uno screenshot della mia configurazione del generatore di processi:

Risposte
Guardando più in basso nei commenti su quell'idea per vedere il commento / soluzione originale di Manu Devaraju lo spiega molto meglio. Di seguito sono riportati i passaggi copiati/incollati.
Creare un nuovo campo elenco di selezione 'Sovrascrivi duplicato' (Sì/No) sull'oggetto Contatto
Crea una regola di corrispondenza per la combinazione di nome, cognome e numero di telefono
Crea una regola duplicata con una regola di corrispondenza creata nel passaggio precedente a. Nella regola di duplicazione, cerca la sezione sottostante e nei criteri aggiungi il campo "Sostituisci duplicato" e il valore come "No" b. La condizione precedente indica che si desidera eseguire la regola di duplicazione solo se il valore del campo "Sovrascrivi duplicato" è "No" Condizioni Facoltativamente, specificare le condizioni che un record deve soddisfare affinché la regola venga eseguita.
Nel builder/flusso di processo, quando si tenta di creare un nuovo record o di aggiornare un record esistente, impostare questo campo aggiuntivo 'Override Duplicate' come 'Yes' - ciò significa che si sta tentando di ignorare esplicitamente le regole di duplicazione nei flussi in modo che i flussi NON genereranno alcun messaggio di errore
Utilizzare le regole del flusso di lavoro e gli aggiornamenti dei campi per annullare l'impostazione del flag "Override" su "No" subito dopo che Process Builder lo ha aggiornato su "Sì" Nome aggiornamento campo: WFU non impostato Ignora flag duplicato Campo da aggiornare: Ignora flag duplicato Valore: No
La chiave sembra essere che WF esegua l'aggiornamento finale per reimpostare il flag su False . Questo non si imbatte nel bug (che è specifico di PB).