Структура файла сервиса¶
Произвольные JS-сервисы (имя файла = имя сервиса, функции = методы) в этой версии не регистрируются автоматически. Рабочие сценарии:
- отчёт:
ИмяФормы.jsрядом с конфигурацией, либо<ReportScript>/<Report>вReportForm— сервисReportEngine; - песочница: форма «Выполнить скрипт» →
System.ExecuteScript(ScriptCode,ScriptMethod).
Файлы, имя которых начинается с _, не используются как ресурсы отчёта по соглашению (не кладите туда Run).
Пример метода отчёта:
/// <reference path="../Scripts/kayala-report.d.ts" />
function Run(p) {
var start = p.Start;
var end = p.End;
report.build({
template: "ОборотыТоваров.tcr",
query: {
source: "Остатки товаров",
mode: "turnover",
from: start,
to: end,
sums: ["Количество", "Сумма"]
},
columns: {
Приход: "+|Количество",
Расход: "neg(-|Количество)"
}
});
}
Возврат из System.ExecuteScript: значение return попадает в параметр Result. Если вернуть объект-словарь, его поля копируются в контекст формы (кроме ScriptCode / ScriptMethod / Result).
Полный API отчётов: Отчёты: DSL и JavaScript.