Fluent XML: Генератор XML

28.05.26

Разработка - Инструментарий разработчика

Универсальный фреймворк «ГенераторXML» для 1С. Цель публикации: Презентация и предоставление готового enterprise-инструмента для автоматизации и упрощения процесса создания XML-документов в 1С. Публикация предлагает уйти от стандартного низкоуровневого кода платформы в пользу современной объектной разработки на базе паттерна Fluent Interface (текучий интерфейс). Кому и для чего полезна публикация: 1) Разработчикам интеграций: Поможет в разы быстрее проектировать и сопровождать сложные обмены данными (SOAP, государственные ИС, Честный Знак, СМЭВ). 2) Архитекторам: Предоставляет готовый и отказоустойчивый библиотечный модуль (класс), который можно сразу внедрить как стандарт разработки внутри ИТ-команды. 3) Сторонникам Чистого Кода (Clean Code): Демонстрирует практическое применение паттернов SOLID и Fluent API в реалиях встроенного языка 1С для повышения читаемости и снижения стоимости поддержки кода.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Fluent XML
.zip 22,08Kb ver:1.0.1
1 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Каждый разработчик 1С знает, как громоздко выглядит стандартная ЗаписьXML. Код быстро превращается в «спагетти» из сотен строк ЗаписатьНачалоЭлемента(), ЗаписатьКонецЭлемента() и бесконечных Формат(). Ошибиться в такой простыне кода легко, а читать её через полгода — больно.

Решение — обработка ГенераторXML с текучим интерфейсом (Fluent Interface). Она автоматизирует рутину, управляет вложенностью, сама приводит типы и позволяет собирать XML-документы любой сложности одной изящной цепочкой вызовов.

 

Как работать с этим механизмом

Работа с генератором всегда строится по строгому конвейерному принципу и состоит из 3 понятных шагов:

[Шаг 1: Конфигурация] e32; [Шаг 2: Инициализация потока] e32; [Шаг 3: Конструирование XML] e32; [Результат]

  1. Конфигурация (Опционально): задаются кодировка, версия или кастомные форматы данных.
  2. Инициализация потока: вызывается метод определения приемника (в строку или в файл на диск).
  3. Конструирование XML: с помощью цепочки методов строится тело документа.
  4. Финализация: вызывается закрывающий метод, который автоматически дописывает все забытые теги и возвращает результат.

 
 Основные методы

 

Примеры кода и тест-кейсы

Для инициализации генератора используется общий модуль ГенераторXML.

 
 Кейс 1: Сборка со стандартными типами и автозакрытием тегов
 
 Кейс 2: Сериализация сложных вложенных структур и массивов
 
 Кейс 3: Enterprise-специфика (SOAP, CDATA, кастомные форматы)

 

Сведения о поставке

  • Тестировалось на платформе 8.3.27 в режиме совместимости с 8.3.19. Скорее всего работать будет и на других версиях платформы, там особо ломаться нечему).
  • В архиве конфигурация с внешней обработкой с тестовыми кейсами.
  • В конфигурации один общий модуль с методом для инициализации конструктора и одна обработка с функционалом.

Вступайте в нашу телеграмм-группу Инфостарт

XML Конструктор Генератор Fluent

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

24900 руб.

20.08.2024    69524    364    170    

316

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    260126    1447    421    

1169

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    38564    107    46    

122

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    56463    113    31    

125

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

17000 руб.

10.11.2023    25525    93    46    

102

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    3960    13    1    

18

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки. 1.3.11 Доработан механизм контекстной подсказки по метаданным

9500 руб.

17.05.2024    53262    185    63    

217

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Программист Бизнес-аналитик Руководитель проекта 1С 8.3 Платные (руб)

В крупных внедрениях 1С типовая почти всегда дополнена расширениями, а конфигуратор показывает их раздельно. «Поиск ссылок на объект» в ERP — минуты ожидания, и даже после него неясно: типовое поведение, дополнение из расширения или переопределённый обработчик. Analyzer 1C — веб-инструмент, который парсит выгрузку (основную плюс все расширения) и собирает единый граф знаний в ArangoDB. Любой межсущностный запрос — за доли секунды. Внутри: — Сквозные пометки «Доб.» / «Заимств.» / переопределения во всём UI — Импакт-анализ через подписки, регламентные задания и переопределения — Анализ запросов BSL: кто читает и пишет объект — модули, формы, СКД — Роли: матрица «роль × объект × право», RLS, программные РольДоступна, PRIV — Конструктор профилей, граф функций, обработчики обновления, XDTO, функциональные опции — Мгновенный поиск по конфигурации Разворачивается за минуту через Docker, без интернета. Любая 1С:Предприятие 8.3+.

12200 руб.

17.04.2026    6470    26    28    

41
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. DmitryKlimushkin 28.05.26 16:18 Сейчас в теме
".... Что только не придумают русские, лишь бы не делать хорошие дороги" - подумали немцы, взглянув на автомобиль УАЗ
Sashares; awk; +2 Ответить
2. avbolshakov 29.05.26 12:11 Сейчас в теме
Мне нравится в расте этот флюент интерфейс.

У вас есть метод НачалоЭлемента() который потом сам закроется. Т.е. по факту это скорее ".ДобавитьЭлемент()" или просто Элемент(). Т.е. у меня замечания по поводу нейминга методов. Хотя может я и не прав
3. Kassper 59 29.05.26 12:32 Сейчас в теме
(2) Просто Элемент() уже есть, который сразу закрывается. А НачалоЭлемента предполагает, что его потом закроют, но он автоматически закрывается, если это завершающий тег и после него никаких других тегов нет
4. gybson 13 29.05.26 12:51 Сейчас в теме
Это для тех, кто сам не нашел ДокументDOM ?
DmitryKlimushkin; +1 Ответить
5. Kassper 59 29.05.26 14:06 Сейчас в теме
(4) Ну как минимум, тут архитектурный подход другой. Плюс вряд ли у вас средствами ДокументDOM получится построить сложый XML меньшим количеством строк кода, причем чтобы код был более читабельным и прозрачным
6. DmitryKlimushkin 29.05.26 15:18 Сейчас в теме
(5) А пресловутая Фабрика и ПакетыXDTO - не? Я часто имею дело с XML и я в очень редких случаях использую эти "примитивы" в стиле "ЗаписатьНачалоЭлемента", это как дом из песчинок собирать - нафига такие мучения?
Мне кажется, что предложенная технология, это рефлекторный ответ на создавшуюся бардачную .... не могу назвать это системой, назову - бардачный обиход с применением текстов (именно - текстов!), напоминающих XML.
Хотите работать с XML? Сначала создайте XSD! Внятную, логичную и бесспорную схему! Имея схему в голову не придёт формировать содержимое XML через построчные записи (мазохизм какой-то!)
Уж тем более, когда речь идёт о некоем "сложном XML".
А в вашей системе можно записать объявление XML?
7. hdworker 29.05.26 15:22 Сейчас в теме
(6)
Имея схему в голову не придёт формировать содержимое XML через построчные записи


В смысле..? ФабрикаXDTO ведь именно построчно насыщает структуру данными?
Или вы про 3rd-party решения, тогда любые другие?
8. DmitryKlimushkin 29.05.26 15:34 Сейчас в теме
(7) ".. О сколько нам открытий чудных...." То есть, запись Фабрикой ОбъектаXDTO содержащего множество свойств и списков породит какую-то одну строчку, что ли?
Я сам очень воздерживаюсь от создания избыточно сложных (объёмных!) объектов (был опыт работы с очень крупными XML фалами), но я видел массы примеров, когда коллеги создавали вполне разнообразный объект XDTO и одной строкой кода создавали весть текст XML (конечно, без объявлений, соответствий имён и другой служебной информации в заголовке).
А откуда такое мнение, что Фабрика обречена на построчное заполнение?? Хотя... Могу догадаться)) Использование фабрики без Схемы (НабораСхем), а значит - без типов, это как большая совковая лопата, только без ручки. Потенциал есть, а работать не получается)
Коллега, очень советую посмотреть на сайте ФТС (Таможня РФ) их электронный кабинет. Там выложены образцы их электронного документооборота. Как по мне, это лучший пример - как надо работать с XML. Для каждого документа есть подробная схема XSD, с подробнейшим описанием, комментариями. Вот берешь такую схему, загоняешь её в набор, по этому набору создаёшь собственную(!!) фабрику. И обращаясь к типам из такого набора, можно работать укрупнёнными объектами (или сразу всем объектом!). Никакой построчной записи даже не рассматривается - это факультатив какой-то)
10. Kassper 59 29.05.26 16:04 Сейчас в теме
(6) Каждый выбирает подход наиболее удобный для реализации конкретно поставленных задач. В основе данной публикации - текучий интерфейс с реализацией основного функционала для построения XML файлов. И как бы использование фабрик и пакетов XDTO к данном архетектурному подходу не отностятся, без создания доп. библиотеки.
Поэтому мне непонятно, что конкретно вы пытаетесь донести.

Сейчас объявление записывается по умолчанию, но при желании это исправить небольшой доработкой.
11. DmitryKlimushkin 29.05.26 17:59 Сейчас в теме
(10) Я пытаюсь донести простую мысль. Есть два метода развития почти всего - интенсивный и экстенсивный. Интенсивный предполагает инженерию, повышение производительности труда, качественные технологии и подобное.
Экстенсивный предполагает "А давайте напишем ещё тонны кода, примем на работу шесть человек и поставим два новых сервера".
Это не вопрос "подход наиболее удобный для реализации конкретно поставленных задач". Не, надо быть честным перед собой) Это вопрос смирения перед бардаком и низким качеством протоколов обмена (отсутствием этих протоколов), когда всё XML-содержимое верстается в ручном режиме "на живую нитку" без каких-либо предварительных "инжинирингов" и оформлений.
А Фабрики и XDTO работают только в режиме хоть какой-то проектной и протокольной подготовленности обменов.
В сети куча фоток, как в сельской местности п качестве телеги используют остов старого авто, запрягая его в телегу. И это безусловно тоже "подход наиболее удобный для реализации конкретно поставленных задач") Я бы авто починил, а не лошадь впрягал!
9. gybson 13 29.05.26 15:49 Сейчас в теме
(5) Если кому-то очень захочется захардкодить XML, то еще проще можно сделать - через СтрШаблон
Для отправки сообщения требуется регистрация/авторизация