К статье
Практический материал

Администрирование · 9 мин

Для каких объектов в 1С применяется формат XML

Разбираем, для каких объектов в 1С применяется формат XML: выгрузка данных, обмен между базами, печатные формы, отчеты и конфигурации.

XML — один из базовых форматов, на которых построена платформа 1С:Предприятие. Через XML сериализуются объекты конфигурации, выгружаются базы в файл dt-подобных механизмов обмена, передаются данные между информационными базами и внешними системами, формируются электронные документы для контролирующих органов. Понимание того, какие именно объекты используют XML, помогает администратору и разработчику правильно выбирать инструмент выгрузки, диагностировать ошибки обмена и не путать внутренние механизмы платформы с прикладными форматами.

Важно различать два уровня применения XML. Первый — уровень платформы: внутреннее представление объектов при сериализации, планы обмена, выгрузка конфигурации в файлы. Второй — прикладной уровень: электронные счета-фактуры, отчетность в ФНС и ПФР, обмен с банками и торговыми площадками. На обоих уровнях формат один, но назначение и состав данных принципиально разные.

Сериализация объектов конфигурации в XML

На уровне платформы практически любой объект 1С может быть представлен в XML. Встроенный язык предоставляет объекты ЗаписьXML и ЧтениеXML, а также функции глобального контекста ЗначениеВСтрокуXML и ЗначениеИзСтрокиXML. Через них в XML преобразуются ссылки и объекты справочников, документов, планов видов характеристик, планов счетов, наборы записей регистров сведений и накопления.

Сериализация использует механизм XDTO — объектную модель работы с XML-документами по схеме. Платформа автоматически сопоставляет типы данных 1С (строка, число, дата, ссылка, булево) с типами схемы XML. Благодаря этому разработчику не нужно вручную описывать структуру элемента справочника: достаточно вызвать запись объекта, и платформа сформирует корректный XML с учетом всех реквизитов, табличных частей и движений.

Практическое ограничение: сериализация объекта в XML не переносит контекст базы — права, связи с другими базами, служебные настройки. Если выгрузить документ в XML и загрузить в другую базу, где отсутствует связанный контрагент, получите либо битую ссылку, либо ошибку при проведении. Поэтому XML-выгрузка отдельных объектов подходит для переноса данных между идентичными конфигурациями либо как промежуточный формат с последующей обработкой.

Планы обмена и универсальный формат EnterpriseData

Планы обмена — штатный механизм синхронизации между базами 1С, и их транспортный формат исторически основан на XML. При регистрации изменений в узле плана обмена платформа формирует сообщение обмена: XML-файл с заголовком, сведениями об отправителе и получателе и блоками данных по каждому измененному объекту. При загрузке сообщение разбирается, объекты записываются в базу-приемник.

Современные типовые конфигурации для синхронизации используют универсальный формат EnterpriseData — это тоже XML, но с открытой схемой, ориентированной на прикладные сущности: контрагенты, номенклатура, счета, заказы, отгрузки. Формат не привязан к структуре конкретной конфигурации, поэтому через него обмениваются, например, «Управление торговлей» и «Бухгалтерия предприятия», у которых разные составы справочников.

Выгрузка конфигурации и данных через XML-файлы

Конфигуратор позволяет выгрузить конфигурацию в XML-файлы через меню «Конфигурация — Выгрузить конфигурацию в файлы». В результате каждый объект метаданных — справочник, документ, регистр, модуль, форма, макет — сохраняется как отдельный XML-файл в иерархии каталогов. Такой формат выгрузки используется для хранения конфигурации в системах контроля версий (Git), сравнения версий на уровне текста и автоматизированной сборки.

Отдельный сценарий — штатная обработка «Выгрузка и загрузка данных XML», которая входит в состав дистрибутивов типовых конфигураций и доступна на диске ИТС. Она выгружает данные информационной базы (все или выбранные виды объектов) в XML-файл и загружает обратно. Обработка работает только между идентичными конфигурациями: версии объектов метаданных в источнике и приемнике должны совпадать, иначе загрузка завершится с ошибками несоответствия типов.

Электронная отчетность и документооборот с государственными органами

Регламентированная отчетность в 1С формируется и выгружается в XML по утвержденным форматам ФНС, ПФР, ФСС и Росстата. Декларации по налогу на прибыль, НДС, расчеты по страховым взносам, персонифицированные сведения — все это выгружается в XML-файлы строго заданной структуры, где каждый элемент и атрибут соответствует показателю формы. При отправке через оператора связи файл дополнительно подписывается и шифруется, но его основа остается XML.

Электронные документы при обмене с контрагентами — универсальные передаточные документы, счета-фактуры, акты, накладные — также передаются в XML по форматам, утвержденным приказами ФНС. В типовых конфигурациях за это отвечает подсистема обмена электронными документами: она формирует XML на основе учетного документа, отправляет через оператора ЭДО и загружает входящие документы обратно в учетную систему.

Интеграция с внешними системами

Веб-сервисы 1С по протоколу SOAP обмениваются XML-сообщениями: запрос и ответ формируются по WSDL-описанию, а данные передаются в теле XML-документа. При публикации веб-сервиса на веб-сервере платформа автоматически сериализует параметры и возвращаемые значения в XML, поэтому внешняя система видит стандартный SOAP-интерфейс.

HTTP-сервисы и произвольные интеграции с сайтами, CRM, маркетплейсами и банками часто используют XML как формат запросов и ответов, хотя в новых проектах его вытесняет JSON. Тем не менее обмен с банками по зарплатным проектам, выгрузка выписок, обмен с торговыми площадками и транспортными системами во многих решениях по-прежнему построены на XML, и 1С обрабатывает их через ЧтениеXML или XDTO-пакеты.

Сравнение вариантов обмена

XML через XDTO / ЗаписьXML

Подходит для интеграций со строгой схемой, ЭДО и отчетности. Ограничение — громоздкие файлы и обязательная валидация по схеме.

JSON

Удобен для легковесных HTTP-интеграций и веб-приложений. Ограничение — нет строгой типизации дат и ссылок, схему контролирует разработчик.

Планы обмена (XML-сообщения)

Штатная синхронизация между базами 1С с регистрацией изменений. Ограничение — привязка к конфигурации и сложность обмена со сторонними системами.

Как самостоятельно выгрузить объект в XML и проверить результат

Для разовой выгрузки отдельного объекта проще всего использовать небольшую процедуру во внешней обработке или консоли кода. Типовая последовательность: получить объект по ссылке, создать объект ЗаписьXML, вызвать сериализацию через СериализаторXDTO и сохранить результат в файл. Для загрузки используется обратная пара — ЧтениеXML и чтение значения с проверкой типа.

Порядок выгрузки объекта в XML
  1. 1
    Откройте консоль кода или создайте внешнюю обработку в режиме толстого или тонкого клиента
  2. 2
    Получите ссылку на нужный объект справочника или документа
  3. 3
    Создайте объект ЗаписьXML и укажите путь к файлу выгрузки
  4. 4
    Выполните сериализацию через СериализаторXDTO.ЗаписатьXML
  5. 5
    Откройте полученный файл в текстовом редакторе и убедитесь, что присутствуют все реквизиты и табличные части
  6. 6
    Выполните тестовую загрузку в копию базы и сверьте данные объекта с оригиналом

Проверка результата обязательна: XML-файл может быть сформирован без ошибок синтаксиса, но содержать неполные данные — например, пустые табличные части из-за отсутствия прав на чтение связанных объектов. Откройте файл и убедитесь, что в нем есть ожидаемые узлы: реквизиты шапки, строки табличных частей, движения по регистрам, если они выгружались.

Типичные ошибки
01
Загрузка XML-данных в базу с другой версией конфигурации — потеря реквизитов и битые ссылки
02
Выгрузка без прав на связанные объекты — в файле оказываются пустые или обрезанные данные
03
Ручное редактирование XML отчетности перед отправкой — файл перестает проходить форматный контроль ФНС
04
Использование плана обмена для разового переноса данных вместо обработки выгрузки/загрузки — лишняя сложность и регистрация ненужных изменений
05
Игнорирование кодировки файла — XML в неверной кодировке не читается приемником

Частые вопросы

Можно ли перенести данные между разными конфигурациями через XML?

Напрямую через штатную выгрузку/загрузку — нет, она требует идентичных конфигураций. Для разных конфигураций используют «Конвертацию данных» с правилами обмена или универсальный формат EnterpriseData, где структура привязана к прикладным сущностям, а не к метаданным.

Чем XML-сообщение плана обмена отличается от файла выгрузки данных?

Сообщение плана обмена содержит служебный заголовок с номерами отправленного и принятого сообщений и предназначено для регулярной синхронизации с учетом регистрации изменений. Файл выгрузки данных — разовый снимок выбранных объектов без механизма отслеживания изменений.

Почему XML-файл отчетности не принимает ФНС?

Чаще всего причины — устаревшая версия формата в конфигурации, ручное редактирование файла, ошибки в реквизитах (ИНН, КПП, коды) или неверная кодировка. Обновите релиз конфигурации и формируйте файл заново штатными средствами, не редактируя его вручную.

Можно ли выгрузить в XML движения документа по регистрам?

Да, при сериализации объекта документа через XDTO наборы записей движений включаются в XML, если это предусмотрено механизмом выгрузки. В штатной обработке выгрузки/загрузки данных движения выгружаются вместе с документом.

Что выбрать для новой интеграции — XML или JSON?

Если интеграция требует строгой схемы, валидации и совместимости с ЭДО или госсистемами — XML. Для легковесного обмена с веб-приложениями и мобильными клиентами обычно удобнее JSON, который платформа также поддерживает штатно.

Где посмотреть структуру XML, которую формирует 1С?

Схемы XDTO-пакетов доступны в конфигураторе в ветке «XDTO-пакеты», а форматы отчетности и электронных документов публикуются ФНС. Для прикладных файлов проще всего сформировать тестовую выгрузку и изучить полученный XML в редакторе.

Итог

Что важно запомнить

XML в 1С применяется на двух уровнях: платформа сериализует в него любые объекты и строит на нем планы обмена и выгрузку конфигурации, а прикладные решения используют его для отчетности, ЭДО и интеграций. Главные правила безопасной работы — совпадение версий конфигураций при загрузке данных, резервная копия перед переносом и запрет на ручное редактирование регламентированных XML-файлов.