Правила обработки шаблонов
Правила обработки шаблонов задают набор правил, по которым будет формироваться текст заданный шаблоном. Правила настраиваются в специальном редакторе Конструктора. Блоки алгоритма, поддерживающие шаблоны, имеют кнопки для перехода в редактор правил.
В редакторе правила настраиваются независимо для Полей и Блоков, но имеют общие принципы работы.
Общие принципы работы правил
1. Тегу может быть задано любое количество правил
То есть одно правило, несколько правил, или не заданы правила вообще. В случае если тегу не задано ни одно правило - тег не обрабатывается шаблонизатором (остается в тексте прям в форме тега, замены не происходит).
2. Правилу можно задать условие при котором оно применяется
Правилу опционально можно задать условие срабатывания. Если условие не задано - правило срабатывает всегда. Если условие задано, правило применяется когда вычисление условие дает значение "истина". Пример условия: для вопроса "Какой у вас пол?", выбран ответ "мужской". Условие будет истинным когда пользователь выбирает ответ "мужской", правило будет применяться в данном случае и не будет при выборе ответа "женский".
3. Правила применяются последовательно
Правила применяются последовательно в соответствии с порядком в котором они заданы в редакторе. Если у правила задано условие, происходит проверка условия. Если условие не выполнилось - правило пропускается, обработка правил при этом не останавливается.
Результат применения нескольких правил определяется логикой работы конкретного правила и тега к которому оно применяется. Например в случае правила показа блока результат определяет только последнее правило показа, предыдущие будут перекрываться. В случае подстановки данных в поле подставятся все данные заданные правилом. А вот применение к полю правила форматирования повторно скорее всего приведет к ошибке. По этому поведение при применении нескольких правил нужно рассматривать в контексте конкретной ситуации.
Правила для Полей
- Подставить - подставляет значение в поле (в форме текста), которое может быть взято из поля блока алгоритма, или быть задано статически
- Добавить - добавляет какой-то текст, к значениям подставляемым в поле правилом Подставить
- Форматировать - задает форматирование для значений подставляемых в поле правилом Подставить
- Преобразовать - выполняет различные преобразования (например смену регистра) для значений подставляемых в поле правилом Подставить
- Объединить - объединяет в одну строку несколько значений подставляемые в поле правилом Подставить
Правила для Блоков
- Показать - определяет скрыть или показать блок
- Повторить - копирует блок заданное количество раз (количество повторений задается как статически, так и на основе данных алгоритма)