Переменные и шаблоны Scriban делают документы динамическими: один шаблон порождает семейство отчётов, а значения подставляются в конфигурацию блоков и запросы.
Движок Scriban
Шаблонизация построена на движке Scriban: выражения вида {{ variable }} подставляются в заголовки, содержимое блоков и тексты запросов. Движок кэширует шаблоны для производительности.
Переменные в путях
Путь документа может содержать переменные: шаблон regions/{{ region }}/sales.json порождает отдельный отчёт для каждого региона — без дублирования JSON.
Переменные в содержимом
- определения переменных задаются в JSON документа в поле
variables; - значения подставляются в конфигурацию блоков и тексты SQL-запросов;
- заголовок документа тоже может быть шаблоном — имя отчёта меняется вместе с данными;
- пустое имя переменной ловится валидатором (
EMPTY_VARIABLE_NAME).
Селекторы
settings.rangeSelector— селектор диапазона дат в хлебных крошках отчёта;settings.timeframeSelector— селектор временного интервала (гранулярности);- выбранные значения доступны запросам — отчёт пересчитывается под выбранный период.
Безопасность шаблонов
TemplateSecurityService ограничивает исполнение шаблонов: произвольный код через Scriban не исполнить — доступны только разрешённые объекты и функции.