A1sS.ProcessTemplate
Processes template with variable substitution.
Сигнатура
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.