Циклы for и while
Цикл for позволяет выполнять код и/или возвращать массив значений. Тип возвращаемого массива соответствует типу последней инструкции между do и end.
Цикл For
Перебор диапазона чисел:
for i from 1 to 10 do
i;
end;
Перебор массива:
var myArray := [1, 3, 5, 7];
for i in myArray do
i;
end;
Перебор ключей и значений объекта JSON:
var config := {
sep: ",",
qut: """",
lf: "%0D%0A",
numberFormat: "point",
dateFormat: "locale",
header: true,
sepHeader: false,
encoding: "utf8"
};
for key, value in config do
key + " = " + value;
end;
О работе с переменными JSON в Ninox см. Особые переменные / JSON.
То же самое можно сделать и с записью, но для превращения записи (nid) в JSON понадобится NativeJS из Ninext:
var rec := (first(select Customer));
"Transforming a record into a JSON object"
var config := #{:any return rec}#;
for fieldName, value in config do
fieldName + " = " + value;
end;
Такой подход бывает полезен при экспорте всех полей таблицы в форматы вроде CSV.
Цикл While
Циклы While просты и ничего не возвращают. Они служат только для повторяющихся действий и не годятся для построения массивов.
Пример:
var a := 1;
while a < 10 do
a := a + 1;
end;
