Funciones
Esta instrucción permite crear un método nuevo, que puede ser local (limitado al código donde se declara) o global (si se inserta en Options/Global Functions).
El valor devuelto por la función, como en todo código lineal, depende de la última instrucción de la función (la que precede inmediatamente al end):
function InitB(initialValue : boolean) do
if initialValue then
"true"
else
"false"
end
end;
var b := InitB(true);
Tipos de parámetro
Los distintos tipos de parámetro que se pueden declarar son:
text, number, date, datetime, time, timeinterval, appointment, boolean, html, color, icon, email, phone, location, file, user y any.
Usar nombres de tabla como parámetros
También se puede declarar un parámetro cuyo tipo sea un nombre de tabla. En ese caso, el parámetro se puede usar como un registro de la tabla:
function total(record : Invoice) do
record.'NET Total'
end;
total(first(select Invoice));
Tratar arrays con funciones
No es posible pasar un array directamente a una función. Sin embargo, puede usar para ello un objeto 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
});
