Перейти к содержанию

Структура файла сервиса

Произвольные 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.