SDK
È possibile aggiungere funzioni custom perai popolareprocessi, campiclicca di moduli, form dinamiche, mail, ecc con il seguente metodo:
SDK::setProcessMakerFieldAction($func, $src, $label, $parameters='');$func : nome della funzione$src : percorso file contenente la funzione$label : etichetta della funzione$parameters (optional) : parametri statici (es. riferimento campo fisso)
Esempio di registrazione
SDK::setProcessMakerFieldAction('vte_calculate_percentage','modules/SDK/src/ProcessMaker/Utils.php','Calculate percentage (percentage,total)');
N.B. All’interno delle funzioni registrate sono disponibili alcune variabili globali, le quali devono essere dichiarate: global $engine, $current_process_actionid.Queste contengono rispettivamente l'oggetto contenente tutte le informazioni relative al processo che si sta eseguendo e l'id dell'azione corrente (es. Crea entità, Aggiorna entità, ... )
È possibile inoltre aggiungere funzioni customqui per verificaremaggiori condizioni complesse:dettagli.
SDK::setProcessMakerTaskCondition($func, $src, $label);$func : nome della funzione$src : percorso file contenente la funzione$label : etichetta della funzione
SDK::setProcessMakerTaskCondition('vte_compare_account_bill_ship_street','modules/SDK/src/ProcessMaker/Utils.php','Indirizzi di spedizione e fatturazione uguali [e/n]');
Infine è possibile registrare nuove azioni con il seguente metodo:
SDK::setProcessMakerAction($func, $src, $label);$func : nome della funzione$src : percorso file contenente la funzione$label : etichetta della funzione
SDK::setProcessMakerAction('close_tickets','modules/SDK/src/ProcessMaker/Utils.php','Chiudi Ticket relazionati');
Di seguito dove è possibile richiamare le funzioni SDK sopra citate nei processi:
FieldActionNel valore di default di una campo presente in un blocco di una form dinamica:
TaskConditionAll'interno di una task di condizione:
ActionAlla creazione di una nuova azione:
Inoltre una volta scelta la funzione da richiamare, se nella funzione gestiamo dei parametri di input abbiamo la possibilità di passarli direttamente da interfaccia: