12.12 SDK Action: Set entity reference
Questa funzione SDK permette di forzare un determinato record all'interno di un'entità (dello stesso modulo) coinvolta nel processo.
Viene utilizzata, principalmente, per poter eseguire una qualsiasi tipo di azione standard anche sui record che sono stati inseriti all'interno di campi "Testo" o "Relazionato a" di una form dinamica.
Come primo parametro va passato il metaid (l'id che identifica univocamente l'istanza di un modulo all'interno di un processo) dell'istanza sulla quale si vuole forzare il record.
Invece, come secondo parametro, va passato il crmid del record da forzare.
ESEMPIO DI UTILIZZO
Per comprenderne al meglio il funzionamento, qui di seguito viene riportato l'esempio di utilizzo della funzione SDK Set entity reference() per la gestione dell'azienda esistente all'interno del processo BPMN standard di conversione del lead.
Nella form dinamica del process helper (configurata nella User Task "Request details"), viene data la possibilità all'utente di creare una nuova azienda oppure di selezionarne una esistente.
Nello specifico, il crmid dell'azienda esistente viene storicizzato in un campo di tipo "Relazionato a" presente all'interno della form dinamica (Figura 1)
Figura 1 (cliccare sull'immagine per una risoluzione grafica maggiore)
Questa tipologia di campo non stabilisce una vera e propria relazione, di conseguenza non viene visto come un'istanza completa del modulo Aziende.
Infatti, non possiede alcun metaid (ossia l'id che identifica univocamente l'istanza di un modulo all'interno di un processo).
Per questo, le azioni eseguibili sul record contenuto nel campo di relazione sono limitate.
Al contrario, l'entità istanziata dall'azione di Crea entità (configurata nella Action Task "Create account") possiede un proprio metaid (ovvero 61), questo perché è stata coinvolta a tutti gli effetti all'interno del processo (Figura 2)
Figura 2
Nel caso del processo di conversione del lead, non è possibile coinvolgere all'interno dell'azione standard "Trasferisci relazioni" l'azienda contenuta all'interno del campo di relazione.
Per risolvere questo problema, è possibile ricorrere all'utilizzo della funzione SDK Set entity reference() per forzare il record dell'azienda esistente (presente nel campo di relazione) all'interno dell'istanza del modulo Azienda coinvolta tramite l'azione di Crea entità (quindi dell'azienda creata direttamente nel processo).
In questo modo, potranno essere eseguite tutte le azioni necessarie senza limitazioni.
Quindi, all'interno dell'Action Task "Use existing account" è stata configurata un'azione di tipo "Funzioni SDK" nella quale è stata richiamata l'SDK Set entity reference().
Come primo parametro è stato passato il metaid dell'istanza dell'azienda creata, ovvero 61 (Figura 3)
Figura 3 (cliccare sull'immagine per una risoluzione grafica maggiore)
Come secondo parametro è stato passato il contenuto del campo di relazione contenente l'azienda esistente (Figura 4)
Figura 4 (cliccare sull'immagine per una risoluzione grafica maggiore)
In questo modo, per entrambe le casistiche (azienda creata o esistente), nell'Action Task "Transfer relations to account" è stato sufficiente configurare un'unica azione di Trasferisci relazioni. (Figura 5)
Figura 5 (cliccare sull'immagine per una risoluzione grafica maggiore)