SDK Field Action
SDK FIELD ACTIONE’ unaQuesta tipologia di funzione cheviene accettanormalmente utilizzata per valorizzare i campi di un record, form dinamica, ecc. con dei valori calcolati utilizzando 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 comestatici argomento(es. eriferimento restituiscecampo un risultato.fisso)
NonQueste èfunzioni obbligatorio passare dei parametri in quanto potrebbe non essere necessario.Possonopossono essere richiamate dalle sezioni apposite “Funzioni SDK” e disponibili nel menù a tendina “Selezione opzione” situato in alto a destra di ogni singolo campo.
N.B: Tutte le funzioni custom registrate verranno sempre inserite nella sezione “Funzioni SDK”, la sezione “Funzioni data” viene utilizzata esclusivamente per contenere le funzione php disponibili a standard che riguardano I campi data.
Un esempio concreto di funzione SDK di questa tipologia è la funzione “sum()” che restituisce la somma dei parametri (statici o dinamici) passati.
E’ possibile memorizzare il risultato in un campo di una form dinamica di un Process helper inserendo la funzione come valore di default, oppure inserirlo direttamente in campo di un modulo sfruttando le azioni standard di crea o aggiorna entità.
Esempio
Registro una funzione per il calcolo della percentuale che avrà bisogno dei parametri in ingresso percentuale e totale.
SDK::setProcessMakerFieldAction('vte_calculate_percentage','modules/SDK/src/ProcessMaker/Utils.php','Calculate percentage (percentage,total)');
Nella funzione implementata indicherò quindi i 2 parametri e ritornerò il risultato dell'operazione.
function vte_calculate_percentage($percentage, $total) {
global $engine, $current_process_actionid;
$value = ($percentage / 100) * $total;
return $value;
}
N.B. All’interno delle funzioni registrate sono disponibili le variabili globali $engine e $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à, ... )