Правила обработки шаблонов

Правила обработки шаблонов задают набор правил, по которым будет формироваться текст заданный шаблоном. Правила настраиваются в специальном редакторе Конструктора. Блоки алгоритма, поддерживающие шаблоны, имеют кнопки для перехода в редактор правил.

Кнопки перехода в редактор правил имеют иконку

В редакторе правила настраиваются независимо для Полей и Блоков, но имеют общие принципы работы.

Общие принципы работы правил

1. Тегу может быть задано любое количество правил

То есть одно правило, несколько правил, или не заданы правила вообще. В случае если тегу не задано ни одно правило - тег не обрабатывается шаблонизатором (остается в тексте прям в форме тега, замены не происходит).

2. Правилу можно задать условие при котором оно применяется

Правилу опционально можно задать условие срабатывания. Если условие не задано - правило срабатывает всегда. Если условие задано, правило применяется когда вычисление условие дает значение "истина". Пример условия: для вопроса "Какой у вас пол?", выбран ответ "мужской". Условие будет истинным когда пользователь выбирает ответ "мужской", правило будет применяться в данном случае и не будет при выборе ответа "женский".

3. Правила применяются последовательно

Правила применяются последовательно в соответствии с порядком в котором они заданы в редакторе. Если у правила задано условие, происходит проверка условия. Если условие не выполнилось - правило пропускается, обработка правил при этом не останавливается.

Результат применения нескольких правил определяется логикой работы конкретного правила и тега к которому оно применяется. Например в случае правила показа блока результат определяет только последнее правило показа, предыдущие будут перекрываться. В случае подстановки данных в поле подставятся все данные заданные правилом. А вот применение к полю правила форматирования повторно скорее всего приведет к ошибке. По этому поведение при применении нескольких правил нужно рассматривать в контексте конкретной ситуации.

Правила для Полей

  • Подставить - подставляет значение в поле (в форме текста), которое может быть взято из поля блока алгоритма, или быть задано статически
  • Добавить - добавляет какой-то текст, к значениям подставляемым в поле правилом Подставить
  • Форматировать - задает форматирование для значений подставляемых в поле правилом Подставить
  • Преобразовать - выполняет различные преобразования (например смену регистра) для значений подставляемых в поле правилом Подставить
  • Объединить - объединяет в одну строку несколько значений подставляемые в поле правилом Подставить

Правила для Блоков

  • Показать - определяет скрыть или показать блок
  • Повторить - копирует блок заданное количество раз (количество повторений задается как статически, так и на основе данных алгоритма)