Skip to main content

12.12 SDK Action: Set entity reference

Questa funzione SDK permette di istanziare uno specifico record all'interno di un'istanza dello stesso modulo coinvolta all'interno del processo.

Viene utilizzata principalmente nel caso in cui si debbano eseguire determinate azioni su un record che è stato inserito dall'esterno (utente) in un campo di una form dinamica (Testo o Relazionato a), a patto che nel processo sia già coinvolta un'atra istanza dello stesso modulo.

Come primo parametro va passato il metaid dell'istanza sulla quale si vuole forzare il record.

Invece, come secondo parametro, va passato l'id (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() che viene attualmente sfruttato nel processo BPMN standard di conversione del lead.

Nella form dinamica del process helper (configurata nell'Actionnella User Task "Request details") viene data la possibilità all'utente di creare una nuova azienda oppure di selezionarne una esistente.
Nello specifico, l'id dell'azienda esistente viene storicizzato in un campo di tipo "Relazionato a" presente all'interno della form dinamica.dinamica (Figura 1)

Screenshot 2024-10-16 121523.png

Figura 1

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,metaid (ovvero 61), questo perché è stata coinvolta a tutti gli effetti all'interno del processo.processo (Figura 2)

image.png

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 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 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)

Screenshot 2024-10-16 122811.png

Figura 3

Come secondo parametro è stato passato il contenuto del campo di relazionare contenente l'azienda esistente (Figura 4)

Screenshot 2024-10-16 122811_2.png

Figura 4