Funkcje
Ta instrukcja pozwala utworzyć nową metodę, która może być lokalna (dostępna tylko w kodzie, w którym została zadeklarowana) albo globalna (po umieszczeniu jej w Options/Global Functions).
Wartość zwracana przez funkcję, jak w każdym kodzie liniowym, zależy od ostatniej instrukcji funkcji (tej tuż przed end):
function InitB(initialValue : boolean) do
if initialValue then
"true"
else
"false"
end
end;
var b := InitB(true);
Typy parametrów
Można zadeklarować następujące typy parametrów:
text, number, date, datetime, time, timeinterval, appointment, boolean, html, color, icon, email, phone, location, file, user oraz any.
Nazwy tabel jako typy parametrów
Można też zadeklarować parametr, którego typem jest nazwa tabeli. Parametr taki służy wtedy jako rekord tej tabeli:
function total(record : Invoice) do
record.'NET Total'
end;
total(first(select Invoice));
Obsługa tablic w funkcjach
Nie da się przekazać tablicy bezpośrednio do funkcji. Można jednak posłużyć się w tym celu obiektem 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
});
