Funzioni
Questa istruzione permette di creare un nuovo metodo, che può essere locale (limitato al codice in cui è dichiarato) oppure globale (inserendolo in Options/Global Functions).
Il valore restituito dalla funzione, come per ogni codice lineare, dipende dall'ultima istruzione della funzione (quella che precede immediatamente end):
function InitB(initialValue : boolean) do
if initialValue then
"true"
else
"false"
end
end;
var b := InitB(true);
Tipi di parametro
I diversi tipi di parametro dichiarabili sono:
text, number, date, datetime, time, timeinterval, appointment, boolean, html, color, icon, email, phone, location, file, user e any.
Usare i nomi di tabella come parametri
È anche possibile dichiarare un parametro il cui tipo è un nome di tabella. In tal caso il parametro può essere usato come un record della tabella:
function total(record : Invoice) do
record.'NET Total'
end;
total(first(select Invoice));
Gestire gli array con le funzioni
Non è possibile passare direttamente un array a una funzione. Potete però usare a questo scopo un oggetto JSON (any):
function myFunction(t : any) do
for i in t.array do
i
end
end;
var myArray := [1, 3, 5, 6];
myFunction({
array: myArray
});
