Кто сталкивался с созданием HTML из 1С, знают, какая это боль. Но если обратиться к веб программированию, то там схожую проблему решили созданиям шаблонизаторов, которые с легкостью позволяют выдавать HTML код, на основе красивых, человекочитаемых шаблонов. Помимо 1С я очень много работаю с JS и в частности с фронтенд фреймворками (Angular например), после которых задача создания HTML в 1С заставила меня плакать от того, как здесь все плохо. Вдохновившись и погуглив я нашел решение //infostart.ru/public/352812/ , но все же это не то, что я хотел, и в итоге родилась эта обработка, которая с лекостью генерирует HTML, особо не заморачиваясь с созданием шаблонов для генерации.
Разработка пригодится тем, кто генерирует любой html из 1Ски, будь то красиво оформленные почтовые сообщения или вывод страницы через http сервис, границы применения ее очень широки. Ее же я использую для создания оформленных в корпоративном стиле pdf документов, т.е. сначала получаем html, а потом конвертируем в pdf и отправляем клиенту.
Вывод данных.
Для того, чтобы вывести значение переменной в HTML, достаточно написать примерно такой шаблон
<h1> Добрый день! Сегодня, {{ ТекущаяДата() }} <h1>
Что приведет к
<h1> Добрый день! Сегодня, 19.08.2016 14:52:32 <h1>
Так можно выводить абсолютно любую информацию, любые глобальные переменные и тд, а для сосбтвенных переменных нужно в функцию - компилятор шаблона передать структуру параметров, например
Параметры = Новый Структура("МояПеременная", 1);
Теперь если создать шаблон
У меня {{ МояПеременная }} яблоко.
На выходе будет
У меня 1 яблоко.
Циклы
{% Для й = 0 ПО 2 Цикл %}
Итерация №{{й}}
{% КонецЦикла; %}
Выведет
Итерация №0
Итерация №1
Итерация №2
Условия
{% Если Истина Тогда %}
<h1> Истина </h1>
{% Иначе %}
<h1> Ложь</h1>
{% КонецЕсли; %}
Выведет
<h1> Истина </h1>
В целом, между тегами {% %} можно исполнять любой код будь-то присвоение переменной или еще что-нибуть, например
{% a = 1; %}
{{a}}
Выведет
1