Переменные и шаблоны

Переменные и шаблоны Scriban делают документы динамическими: один шаблон порождает семейство отчётов, а значения подставляются в конфигурацию блоков и запросы.

Движок Scriban

Шаблонизация построена на движке Scriban: выражения вида {{ variable }} подставляются в заголовки, содержимое блоков и тексты запросов. Движок кэширует шаблоны для производительности.

Переменные в путях

Путь документа может содержать переменные: шаблон regions/{{ region }}/sales.json порождает отдельный отчёт для каждого региона — без дублирования JSON.

Переменные в содержимом

  • определения переменных задаются в JSON документа в поле variables;
  • значения подставляются в конфигурацию блоков и тексты SQL-запросов;
  • заголовок документа тоже может быть шаблоном — имя отчёта меняется вместе с данными;
  • пустое имя переменной ловится валидатором (EMPTY_VARIABLE_NAME).

Селекторы

  • settings.rangeSelector — селектор диапазона дат в хлебных крошках отчёта;
  • settings.timeframeSelector — селектор временного интервала (гранулярности);
  • выбранные значения доступны запросам — отчёт пересчитывается под выбранный период.

Безопасность шаблонов

TemplateSecurityService ограничивает исполнение шаблонов: произвольный код через Scriban не исполнить — доступны только разрешённые объекты и функции.

← Оглавление документации