Администрирование · 10 мин
Как в 1С сохранить документы в формате XML
Как сохранить документы 1С в XML: выгрузка через обработку, типовой обмен, универсальный формат EnterpriseData и выгрузка через конфигуратор. Пошаговые инструкции и FAQ.
Выгрузка документов из 1С в формате XML нужна в нескольких типовых ситуациях: перенос данных между базами с одинаковой конфигурацией, обмен с другими учётными системами, отправка первички контрагентам в электронном виде и резервное сохранение отдельных документов перед рискованными операциями. В зависимости от цели используются разные механизмы — от типовой обработки «Выгрузка и загрузка данных XML» до универсального формата EnterpriseData.
Важно понимать: кнопки «Сохранить как XML» в форме обычного документа в типовых конфигурациях нет. XML-файл формируется либо специальной обработкой, либо планом обмена, либо программным кодом. Поэтому первый шаг — определить, зачем нужен файл: для загрузки в другую базу 1С, для передачи в стороннюю систему или для архива. От этого зависит выбор инструмента и состав выгружаемых данных.
Ниже разобраны основные способы, их ограничения, проверка результата и типичные ошибки. Все действия описаны для управляемых форм (1С:Предприятие 8.3), в обычном приложении логика аналогична, но расположение пунктов меню отличается.
Определите цель выгрузки и подходящий формат
XML — это только контейнер, а структура данных внутри него бывает разной. В 1С применяются как минимум три подхода к формированию XML, и файл одного типа не загрузится механизмом другого типа.
Первый вариант — выгрузка в формате обмена данными между идентичными конфигурациями. Файл содержит объекты базы «как есть», со ссылками, типами и внутренними идентификаторами. Такой файл подходит только для загрузки в базу с той же версией той же конфигурации.
Второй вариант — универсальный формат EnterpriseData. Это стандартизированный обмен между разными конфигурациями 1С (например, из Управления торговлей в Бухгалтерию) и с некоторыми сторонними системами. Данные сериализуются в понятные бизнес-сущности: «Документ.РеализацияТоваровУслуг», «Контрагент» и т.д.
Третий вариант — произвольная выгрузка программным кодом, когда структуру XML определяет разработчик. Это нужно для интеграции с нестандартными системами, где формат согласуется отдельно.
Как выбрать способ выгрузки
Выгрузка через типовую обработку «Выгрузка и загрузка данных XML»
Это самый распространённый способ сохранить документы в XML для переноса между одинаковыми базами. Обработка входит в комплект поставки конфигураций на поддержке и доступна на диске ИТС, а также встроена в некоторые типовые решения в разделе администрирования.
Порядок работы: откройте обработку через «Файл → Открыть», перейдите на закладку «Выгрузка», укажите период выгрузки, отметьте в дереве метаданных нужные виды документов (например, «Реализация товаров и услуг», «Поступление товаров и услуг»), задайте имя файла и нажмите «Выгрузить данные».
Обработка выгружает не только сами документы, но и связанные объекты по ссылкам — контрагентов, номенклатуру, договоры, — если включён режим выгрузки по ссылкам. Это критично: без связанных объектов документы в целевой базе окажутся с пустыми реквизитами.
Результат — один XML-файл, который в целевой базе открывают той же обработкой на закладке «Загрузка». Версии конфигураций источника и приёмника должны совпадать, иначе возможны ошибки при загрузке из-за различий в структуре метаданных.
- 1Сделайте резервную копию базы-источника и базы-приёмника
- 2Откройте обработку «Выгрузка и загрузка данных XML» через меню «Файл → Открыть»
- 3На закладке «Выгрузка» укажите период и отметьте нужные виды документов
- 4Включите выгрузку связанных объектов по ссылкам
- 5Укажите путь к файлу и запустите выгрузку
- 6Проверьте размер файла и отсутствие ошибок в протоколе
- 7В целевой базе выполните загрузку той же обработкой и сверьте количество документов
Выгрузка через планы обмена и формат EnterpriseData
Если документы нужно регулярно передавать в другую конфигурацию, разовая обработка не подходит — настраивают план обмена. В типовых конфигурациях это делается в разделе «Администрирование → Синхронизация данных». При настройке указывается префикс базы, состав передаваемых данных и правила конвертации.
Универсальный формат EnterpriseData описывает документы в виде бизнес-сущностей, поэтому правила конвертации сопоставляют, например, документ «Реализация (акты, накладные)» из Управления торговлей с «Реализацией товаров и услуг» в Бухгалтерии. Сами правила поставляются фирмой «1С» в составе конфигураций и обновляются вместе с релизами.
Файл обмена формируется автоматически при выполнении синхронизации: либо через каталог обмена, либо через веб-сервисы, либо вручную по кнопке «Выполнить обмен». Полученный XML можно сохранить и передать вручную, если прямой связи между базами нет.
Программная выгрузка документов в XML
Когда типовые механизмы не закрывают задачу — например, сторонняя система требует XML строго определённой структуры — документы выгружают кодом на встроенном языке. Используются объекты «ЗаписьXML» для потоковой записи файла и средства XDTO-сериализации для преобразования объектов базы.
Типовой подход: создаётся внешняя обработка, в которой запросом отбираются документы за период, затем каждый объект сериализуется. Для простых случаев достаточно функции «ЗаписатьJSON»/аналогов сериализации, для сложных — описывается фабрика XDTO с собственными пакетами.
Программный способ даёт полный контроль над составом полей, именами тегов и кодировкой, но требует участия разработчика и тестирования на копии базы. Изменение структуры конфигурации при обновлении может потребовать доработки выгрузки.
Проверка результата и типичные ошибки
После выгрузки убедитесь, что файл сформирован корректно: откройте его в текстовом редакторе или браузере — XML должен начинаться с декларации и иметь корректную вложенную структуру. Файл нулевого размера или обрыв на середине означает, что выгрузка прервалась.
После загрузки в целевую базу сверьте количество документов по видам за период, проверьте заполненность ключевых реквизитов (контрагент, договор, суммы) и отсутствие «битых ссылок» — записей вида «Объект не найден».
Частая ошибка — выгрузка документов без связанных справочников: в приёмнике реквизиты оказываются пустыми. Вторая типичная проблема — попытка загрузить файл в конфигурацию другой версии: обработка либо откажется загружать, либо загрузит частично. Третья — выгрузка за период с пропуском документов, проведённых задним числом после выгрузки.
Как проверить результат
Открывается в редакторе, структура XML корректна, размер соответствует объёму данных
Файл пустой, обрезан или не открывается
Число загруженных документов совпадает с источником за тот же период
Часть документов отсутствует
Контрагенты, договоры и номенклатура заполнены, ссылки открываются
Записи «Объект не найден», пустые поля
Проведённые документы сохранили статус, обороты по регистрам совпадают
Документы загружены непроведёнными, итоги расходятся
Практические ограничения и альтернативы
XML-выгрузка — не единственный способ передать документы. Если цель — печатные формы для контрагента, проще сохранить документ в PDF через «Файл → Сохранить копию» из печатной формы. Если нужен аналитический срез — подойдёт выгрузка табличного документа в Excel (MXL, XLSX).
Для обмена юридически значимыми документами (счета-фактуры, УПД) используется не произвольный XML, а утверждённые форматы электронного документооборота через операторов ЭДО — в типовых конфигурациях это подсистема «Обмен электронными документами». Самостоятельно сформированный XML такие документы не заменяет.
Также учитывайте ограничения по объёму: выгрузка сотен тысяч документов одним файлом может занять часы и потребовать значительной памяти. В таких случаях данные делят на порции по периодам или видам документов.
Что важно запомнить
Способ выгрузки выбирается под задачу: обработка «Выгрузка и загрузка данных XML» — для одинаковых конфигураций, план обмена с EnterpriseData — для разных, программная выгрузка — для сторонних систем. Всегда делайте копию базы, выгружайте связанные объекты и сверяйте результат после загрузки.
Частые вопросы
Можно ли сохранить один документ в XML прямо из его формы?
В типовых конфигурациях кнопки «Сохранить в XML» в форме документа нет. Для одиночного документа используют обработку выгрузки с отбором по ссылке или периоду, либо сохраняют печатную форму в PDF, если нужен именно визуальный вид документа.
Загрузится ли XML из Управления торговлей в Бухгалтерию обработкой выгрузки?
Нет. Обработка «Выгрузка и загрузка данных XML» работает только между идентичными конфигурациями совпадающих версий. Для обмена УТ ↔ БП настраивается синхронизация данных с универсальным форматом EnterpriseData и типовыми правилами конвертации.
Почему после загрузки в документах пустые контрагенты и номенклатура?
При выгрузке не были включены связанные объекты по ссылкам, либо эти элементы справочников отсутствуют в целевой базе. Повторите выгрузку с выгрузкой связанных объектов или сначала перенесите справочники, затем документы.
Как выгрузить документы за большой период, если файл получается огромным?
Разбейте выгрузку на порции: по месяцам или по видам документов. Загружайте порции последовательно в ту же базу. Проверьте также, не выгружаются ли лишние объекты по ссылкам — иногда фильтрация по составу заметно уменьшает файл.
Можно ли открыть и отредактировать XML вручную перед загрузкой?
Технически файл открывается любым текстовым редактором, но ручное редактирование крайне рискованно: нарушение структуры или несогласованные ссылки приведут к ошибкам загрузки или повреждению данных. Правки безопаснее вносить в самой базе-источнике и повторять выгрузку.
Чем выгрузка в XML отличается от выгрузки базы в файл .dt?
Файл .dt — это полная копия информационной базы со всеми данными и настройками, загружаемая только целиком. XML-выгрузка позволяет перенести выборочно отдельные виды документов и справочников в уже работающую базу, не затирая остальные данные.