Каждый разработчик 1С знает, как громоздко выглядит стандартная ЗаписьXML. Код быстро превращается в «спагетти» из сотен строк ЗаписатьНачалоЭлемента(), ЗаписатьКонецЭлемента() и бесконечных Формат(). Ошибиться в такой простыне кода легко, а читать её через полгода — больно.
Решение — обработка ГенераторXML с текучим интерфейсом (Fluent Interface). Она автоматизирует рутину, управляет вложенностью, сама приводит типы и позволяет собирать XML-документы любой сложности одной изящной цепочкой вызовов.
Как работать с этим механизмом
Работа с генератором всегда строится по строгому конвейерному принципу и состоит из 3 понятных шагов:
[Шаг 1: Конфигурация] e32; [Шаг 2: Инициализация потока] e32; [Шаг 3: Конструирование XML] e32; [Результат]
- Конфигурация (Опционально): задаются кодировка, версия или кастомные форматы данных.
- Инициализация потока: вызывается метод определения приемника (в строку или в файл на диск).
- Конструирование XML: с помощью цепочки методов строится тело документа.
- Финализация: вызывается закрывающий метод, который автоматически дописывает все забытые теги и возвращает результат.
Примеры кода и тест-кейсы
Для инициализации генератора используется общий модуль ГенераторXML.
Сведения о поставке
- Тестировалось на платформе 8.3.27 в режиме совместимости с 8.3.19. Скорее всего работать будет и на других версиях платформы, там особо ломаться нечему).
- В архиве конфигурация с внешней обработкой с тестовыми кейсами.
- В конфигурации один общий модуль с методом для инициализации конструктора и одна обработка с функционалом.
Вступайте в нашу телеграмм-группу Инфостарт