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), aquesto pattoperché chealcune nelazioni processostandard siasono giàlimitate coinvoltasolamente un'atraalle istanzaistanze dellodei stesso modulo.moduli.
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 l'idil (crmid)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() cheper vienela attualmentegestione sfruttatodell'azienda nelesistente 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, l'idil 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 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)
Figura 3 (cliccare sull'immagine per una risoluzione grafica maggiore)
Come secondo parametro è stato passato il contenuto del campo di relazionare contenente l'azienda esistente (Figura 4)
Figura 4 (cliccare sull'immagine per una risoluzione grafica maggiore)