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

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

Как из 1С выгрузить документ в XML: практическое руководство

Способы выгрузки документов из 1С в XML: через обработку «Выгрузка и загрузка данных XML», типовые механизмы обмена и код. Проверка результата и типичные ошибки.

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

Универсального ответа «нажмите одну кнопку» нет: способ зависит от конфигурации (Бухгалтерия, Управление торговлей, ЗУП, самописная), версии платформы и цели выгрузки. Ниже разобраны основные рабочие методы — от типовой обработки до программного кода — с проверкой результата и типичными ошибками.

Перед любыми массовыми выгрузками сделайте резервную копию базы или хотя бы выгрузку в dt. Выгрузка сама по себе данные не меняет, но последующая загрузка в другую базу — уже операция с риском, и откатиться без копии будет невозможно.

Определите цель выгрузки — от этого зависит метод

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

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

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

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

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

Способ 1. Обработка «Выгрузка и загрузка данных XML»

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

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

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

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

Способ 2. Выгрузка из формы документа и ЭДО

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

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

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

Способ 3. Планы обмена для регулярной выгрузки

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

Настройка выполняется в разделе «Администрирование → Синхронизация данных» (название может отличаться в разных конфигурациях). Мастер настройки предложит выбрать вторую базу, правила выгрузки и расписание. После настройки документы будут уходить в XML-файл обмена без ручных действий, а загрузка на той стороне выполнятся штатно.

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

Способ 4. Программная выгрузка кодом

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

bsl
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Временные\документ.xml");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Документ");
Запись.ЗаписатьАтрибут("Номер", ДокументОбъект.Номер);
Запись.ЗаписатьАтрибут("Дата", XMLСтрока(ДокументОбъект.Дата));
Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();

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

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

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

Минимальная проверка — открыть файл в текстовом редакторе или браузере. Корректный XML начинается с объявления <?xml version="1.0" encoding="UTF-8"?>, содержит один корневой элемент и не обрывается на середине. Браузер покажет ошибку синтаксиса, если структура нарушена.

Полная проверка — тестовая загрузка в копию базы-приёмника. Загрузите файл через соответствующую обработку, откройте восстановленный документ и сверьте ключевые поля: номер, дату, контрагента, суммы, табличные части. Проверьте, что ссылки на справочники разрешились корректно, а не превратились в «битые» ссылки вида «<Объект не найден>».

Контрольные точки

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

Файл открывается в браузере
Норма

Структура отображается без ошибок разбора

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

Сообщение об ошибке XML на определённой строке

Кодировка файла
Норма

UTF-8, русские буквы читаются

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

Кракозябры вместо кириллицы

Загрузка в тестовую базу
Норма

Документ восстановлен, суммы и табличные части совпадают

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

Битые ссылки, пустые поля, ошибки загрузки

Размер файла
Норма

Соразмерен объёму данных документа

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

Файл нулевого размера или подозрительно мал

Типичные ошибки и ограничения

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

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

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

Типичные ошибки
01
Выгрузка документа без связанных справочников — в приёмнике появляются битые ссылки
02
Перенос между разными версиями конфигурации — ошибки загрузки или потеря реквизитов
03
Сохранение файла на сервере при поиске его на локальном компьютере
04
Использование XML формата ЭДО для переноса в другую базу 1С — структуры несовместимы
05
Загрузка в рабочую базу без предварительной проверки на копии

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

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

Да. В обработке «Выгрузка и загрузка данных XML» задайте отбор по виду документа и периоду — выгрузятся все подходящие документы одним файлом. Для регулярной пакетной выгрузки удобнее настроить план обмена с расписанием.

Чем открыть и посмотреть выгруженный XML-файл?

Подойдёт любой браузер (покажет структуру и ошибки синтаксиса), Блокнот, Notepad++ или другой текстовый редактор с поддержкой UTF-8. Для больших файлов удобнее редакторы с подсветкой и сворачиванием узлов XML.

Почему после загрузки в другую базу в документе «Объект не найден»?

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

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

Выгрузка из формы документа (ЭДО, кнопка «Выгрузить») обычно доступна обычным пользователям. Типовые обработки переноса и программная выгрузка чаще требуют полных прав или права на открытие внешних обработок — уточните у администратора базы.

Чем XML-выгрузка отличается от выгрузки в Excel или CSV?

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

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

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

Итог

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

Для переноса между одинаковыми базами используйте обработку «Выгрузка и загрузка данных XML», для контрагентов — выгрузку из формы или ЭДО, для регулярного обмена — план обмена, для нестандартных задач — код с ЗаписьXML. Перед загрузкой в рабочую базу всегда проверяйте файл на копии и выгружайте связанные объекты, чтобы избежать битых ссылок.