A1sCodeбиблиотека 1С

A1sS.ProcessTemplate

Processes template with variable substitution.

Скачать A1sS.bsl →

Сигнатура


Function ProcessTemplate(Template, Variables, Options = Undefined) Export

Как работает

  • Поддерживает итерацию по коллекциям данных и сборку повторяющихся блоков.
  • Обрабатывает условия (в пределах реализованной логики).

Параметры

  • Template — Template string with placeholders.
  • Variables — Variables for substitution (Structure/Map).
  • Options — Processing options (Structure, опционально: True).

Возврат

Возвращает: Строка.

Примеры (по нарастающей)

1) Простой шаблон

Tpl = "Клиент: {{Имя}}, баланс: {{Баланс}} ₽";
Парам = Новый Структура("Имя,Баланс", "Иван", 123.45);
Рез = A1sS.ProcessTemplate(Tpl, Парам);
// "Клиент: Иван, баланс: 123,45 ₽"
2) Повторяющийся блок

Tpl = "Товары: {{Наименование}} ({{Количество}} шт.)";
Товары = Новый Массив;
Товары.Добавить(Новый Структура("Наименование,Количество", "Яблоки", 2));
Товары.Добавить(Новый Структура("Наименование,Количество", "Груши", 3));
Опции = Новый Структура("JoinDelim", "; ");
Рез = A1sS.ProcessTemplate(Tpl, Товары, Опции);
// "Товары: Яблоки (2 шт.); Товары: Груши (3 шт.)"
3) Префикс/суффикс и нормализация

Опции = Новый Структура("Prefix,Suffix,NormalizeWhitespace", "— ", " —", Истина);
Рез = A1sS.ProcessTemplate("  Привет, {{Имя}}  ", Новый Структура("Имя", "Мир"), Опции);
// "— Привет, Мир —"

Нюансы

  • Имена плейсхолдеров в шаблоне должны совпадать с ключами структуры данных.
  • Для сложных сценариев используйте AddTextToTemplate, Subst и GetTemplate.

Рядом