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
});