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

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

Как в 1С сохранить документы в формате XML

Как сохранить документы 1С в XML: выгрузка через обработку, типовой обмен, универсальный формат EnterpriseData и выгрузка через конфигуратор. Пошаговые инструкции и FAQ.

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

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

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

Определите цель выгрузки и подходящий формат

XML — это только контейнер, а структура данных внутри него бывает разной. В 1С применяются как минимум три подхода к формированию XML, и файл одного типа не загрузится механизмом другого типа.

Первый вариант — выгрузка в формате обмена данными между идентичными конфигурациями. Файл содержит объекты базы «как есть», со ссылками, типами и внутренними идентификаторами. Такой файл подходит только для загрузки в базу с той же версией той же конфигурации.

Второй вариант — универсальный формат EnterpriseData. Это стандартизированный обмен между разными конфигурациями 1С (например, из Управления торговлей в Бухгалтерию) и с некоторыми сторонними системами. Данные сериализуются в понятные бизнес-сущности: «Документ.РеализацияТоваровУслуг», «Контрагент» и т.д.

Третий вариант — произвольная выгрузка программным кодом, когда структуру XML определяет разработчик. Это нужно для интеграции с нестандартными системами, где формат согласуется отдельно.

Маршрут решения

Как выбрать способ выгрузки

Нужно перенести документы в базу с той же конфигурацией и версиейИспользуйте обработку «Выгрузка и загрузка данных XML»
Обмен между разными конфигурациями 1С (УТ → БП и т.п.)Настройте план обмена с форматом EnterpriseData
Файл нужен сторонней системе по согласованной схемеЗакажите разработку произвольной выгрузки через XML-сериализацию
Нужен один документ для архива или расследованияВыгрузите его обработкой с фильтром по ссылке или периоду

Выгрузка через типовую обработку «Выгрузка и загрузка данных XML»

Это самый распространённый способ сохранить документы в XML для переноса между одинаковыми базами. Обработка входит в комплект поставки конфигураций на поддержке и доступна на диске ИТС, а также встроена в некоторые типовые решения в разделе администрирования.

Порядок работы: откройте обработку через «Файл → Открыть», перейдите на закладку «Выгрузка», укажите период выгрузки, отметьте в дереве метаданных нужные виды документов (например, «Реализация товаров и услуг», «Поступление товаров и услуг»), задайте имя файла и нажмите «Выгрузить данные».

Обработка выгружает не только сами документы, но и связанные объекты по ссылкам — контрагентов, номенклатуру, договоры, — если включён режим выгрузки по ссылкам. Это критично: без связанных объектов документы в целевой базе окажутся с пустыми реквизитами.

Результат — один XML-файл, который в целевой базе открывают той же обработкой на закладке «Загрузка». Версии конфигураций источника и приёмника должны совпадать, иначе возможны ошибки при загрузке из-за различий в структуре метаданных.

Порядок действий при выгрузке обработкой
  1. 1
    Сделайте резервную копию базы-источника и базы-приёмника
  2. 2
    Откройте обработку «Выгрузка и загрузка данных XML» через меню «Файл → Открыть»
  3. 3
    На закладке «Выгрузка» укажите период и отметьте нужные виды документов
  4. 4
    Включите выгрузку связанных объектов по ссылкам
  5. 5
    Укажите путь к файлу и запустите выгрузку
  6. 6
    Проверьте размер файла и отсутствие ошибок в протоколе
  7. 7
    В целевой базе выполните загрузку той же обработкой и сверьте количество документов

Выгрузка через планы обмена и формат EnterpriseData

Если документы нужно регулярно передавать в другую конфигурацию, разовая обработка не подходит — настраивают план обмена. В типовых конфигурациях это делается в разделе «Администрирование → Синхронизация данных». При настройке указывается префикс базы, состав передаваемых данных и правила конвертации.

Универсальный формат EnterpriseData описывает документы в виде бизнес-сущностей, поэтому правила конвертации сопоставляют, например, документ «Реализация (акты, накладные)» из Управления торговлей с «Реализацией товаров и услуг» в Бухгалтерии. Сами правила поставляются фирмой «1С» в составе конфигураций и обновляются вместе с релизами.

Файл обмена формируется автоматически при выполнении синхронизации: либо через каталог обмена, либо через веб-сервисы, либо вручную по кнопке «Выполнить обмен». Полученный XML можно сохранить и передать вручную, если прямой связи между базами нет.

Программная выгрузка документов в XML

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

Типовой подход: создаётся внешняя обработка, в которой запросом отбираются документы за период, затем каждый объект сериализуется. Для простых случаев достаточно функции «ЗаписатьJSON»/аналогов сериализации, для сложных — описывается фабрика XDTO с собственными пакетами.

Программный способ даёт полный контроль над составом полей, именами тегов и кодировкой, но требует участия разработчика и тестирования на копии базы. Изменение структуры конфигурации при обновлении может потребовать доработки выгрузки.

Проверка результата и типичные ошибки

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

После загрузки в целевую базу сверьте количество документов по видам за период, проверьте заполненность ключевых реквизитов (контрагент, договор, суммы) и отсутствие «битых ссылок» — записей вида «Объект не найден».

Частая ошибка — выгрузка документов без связанных справочников: в приёмнике реквизиты оказываются пустыми. Вторая типичная проблема — попытка загрузить файл в конфигурацию другой версии: обработка либо откажется загружать, либо загрузит частично. Третья — выгрузка за период с пропуском документов, проведённых задним числом после выгрузки.

Типичные ошибки
01
Выгрузка без связанных объектов — в приёмнике пустые реквизиты и битые ссылки
02
Загрузка в базу другой версии конфигурации — ошибки формата и потеря части данных
03
Не сделана резервная копия перед загрузкой — нет возможности откатить изменения
04
Фильтр по периоду без учёта документов, проведённых задним числом — данные в базах расходятся
05
Передача XML с персональными данными без защиты — риск утечки информации
Контрольные точки

Как проверить результат

Файл выгрузки
Норма

Открывается в редакторе, структура XML корректна, размер соответствует объёму данных

Тревожный признак

Файл пустой, обрезан или не открывается

Количество документов
Норма

Число загруженных документов совпадает с источником за тот же период

Тревожный признак

Часть документов отсутствует

Реквизиты и ссылки
Норма

Контрагенты, договоры и номенклатура заполнены, ссылки открываются

Тревожный признак

Записи «Объект не найден», пустые поля

Проведение и итоги
Норма

Проведённые документы сохранили статус, обороты по регистрам совпадают

Тревожный признак

Документы загружены непроведёнными, итоги расходятся

Практические ограничения и альтернативы

XML-выгрузка — не единственный способ передать документы. Если цель — печатные формы для контрагента, проще сохранить документ в PDF через «Файл → Сохранить копию» из печатной формы. Если нужен аналитический срез — подойдёт выгрузка табличного документа в Excel (MXL, XLSX).

Для обмена юридически значимыми документами (счета-фактуры, УПД) используется не произвольный XML, а утверждённые форматы электронного документооборота через операторов ЭДО — в типовых конфигурациях это подсистема «Обмен электронными документами». Самостоятельно сформированный XML такие документы не заменяет.

Также учитывайте ограничения по объёму: выгрузка сотен тысяч документов одним файлом может занять часы и потребовать значительной памяти. В таких случаях данные делят на порции по периодам или видам документов.

Итог

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

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

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

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

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

Загрузится ли XML из Управления торговлей в Бухгалтерию обработкой выгрузки?

Нет. Обработка «Выгрузка и загрузка данных XML» работает только между идентичными конфигурациями совпадающих версий. Для обмена УТ ↔ БП настраивается синхронизация данных с универсальным форматом EnterpriseData и типовыми правилами конвертации.

Почему после загрузки в документах пустые контрагенты и номенклатура?

При выгрузке не были включены связанные объекты по ссылкам, либо эти элементы справочников отсутствуют в целевой базе. Повторите выгрузку с выгрузкой связанных объектов или сначала перенесите справочники, затем документы.

Как выгрузить документы за большой период, если файл получается огромным?

Разбейте выгрузку на порции: по месяцам или по видам документов. Загружайте порции последовательно в ту же базу. Проверьте также, не выгружаются ли лишние объекты по ссылкам — иногда фильтрация по составу заметно уменьшает файл.

Можно ли открыть и отредактировать XML вручную перед загрузкой?

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

Чем выгрузка в XML отличается от выгрузки базы в файл .dt?

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