Funcions
Aquesta instrucció permet crear un mètode nou que pot ser local (limitat al codi on es declara) o bé global (inserint-lo a Options/Global Functions).
El valor retornat per la funció, com en tot el codi lineal, depèn de la darrera instrucció de la funció (la que hi ha just abans de l'end):
function InitB(initialValue : boolean) do
if initialValue then
"true"
else
"false"
end
end;
var b := InitB(true);
Tipus de paràmetre
Els diferents tipus de paràmetre que es poden declarar són:
text, number, date, datetime, time, timeinterval, appointment, boolean, html, color, icon, email, phone, location, file, user i any.
Fer servir noms de taula com a paràmetres
També es pot declarar un paràmetre el tipus del qual sigui un nom de taula. En aquest cas, el paràmetre es pot fer servir com un registre de la taula:
function total(record : Invoice) do
record.'NET Total'
end;
total(first(select Invoice));
Tractar taules de valors amb funcions
No es pot passar una taula de valors directament a una funció. Tanmateix, podeu fer servir un objecte JSON (any) amb aquesta finalitat:
function myFunction(t : any) do
for i in t.array do
i
end
end;
var myArray := [1, 3, 5, 6];
myFunction({
array: myArray
});
