Администрирование · 10 мин
Как из 1С выгрузить документ в XML: практическое руководство
Способы выгрузки документов из 1С в XML: через обработку «Выгрузка и загрузка данных XML», типовые механизмы обмена и код. Проверка результата и типичные ошибки.
Выгрузка документа из 1С в формат XML — стандартная задача при переносе данных между базами, обмене с контрагентами, интеграции с сайтом или отправке отчётности. XML — текстовый формат с чёткой структурой, поэтому файл можно проверить вручную, отредактировать и загрузить в другую систему.
Универсального ответа «нажмите одну кнопку» нет: способ зависит от конфигурации (Бухгалтерия, Управление торговлей, ЗУП, самописная), версии платформы и цели выгрузки. Ниже разобраны основные рабочие методы — от типовой обработки до программного кода — с проверкой результата и типичными ошибками.
Перед любыми массовыми выгрузками сделайте резервную копию базы или хотя бы выгрузку в dt. Выгрузка сама по себе данные не меняет, но последующая загрузка в другую базу — уже операция с риском, и откатиться без копии будет невозможно.
Определите цель выгрузки — от этого зависит метод
Разные задачи требуют разных инструментов. Если нужно перенести документ в идентичную базу той же конфигурации, подойдёт обработка «Выгрузка и загрузка данных XML» — она сохраняет объект «как есть» со всеми ссылками. Если документ уходит в другую конфигурацию или стороннюю систему, потребуется обмен по правилам (Конвертация данных) или выгрузка в стандартизованном формате.
Для электронного документооборота (счета-фактуры, УПД, акты для контрагентов) используйте встроенные механизмы ЭДО: они формируют XML по утверждённым форматам ФНС, и вручную такой файл собирать не нужно. Для интеграции с сайтом или складской системой чаще применяют CommerceML — типовой обмен в разделе настроек интеграции.
Как выбрать способ выгрузки
Способ 1. Обработка «Выгрузка и загрузка данных XML»
Это самый распространённый метод переноса данных между идентичными конфигурациями. Обработка входит в состав многих типовых решений, а также доступна на диске ИТС и в поставке платформы. Открывается через «Файл → Открыть» или встроена в раздел «Администрирование» некоторых конфигураций.
Порядок действий: откройте обработку, перейдите на вкладку «Выгрузка данных», выберите, что выгружать — конкретный объект по ссылке или данные по отбору. Для выгрузки одного документа удобнее режим с отбором: укажите вид документа и отберите нужный по номеру и дате. Задайте имя файла и нажмите «Выгрузить данные».
В результате вы получите XML-файл, в котором сериализован объект со всеми реквизитами, табличными частями и связанными ссылками. При загрузке в другую базу той же конфигурации документ восстановится полностью, включая ссылочную целостность — при условии, что связанные объекты (контрагенты, номенклатура, договоры) либо уже есть в базе-приёмнике, либо выгружаются вместе с документом.
- 1Сделайте резервную копию базы-приёмника, если планируете загрузку
- 2Откройте обработку «Выгрузка и загрузка данных XML» через меню «Файл → Открыть»
- 3На вкладке «Выгрузка данных» выберите режим выгрузки объектов по отбору
- 4Укажите вид документа и задайте отбор по номеру или периоду
- 5Укажите путь и имя XML-файла, нажмите «Выгрузить данные»
- 6Откройте полученный файл в текстовом редакторе и убедитесь, что он не пустой и содержит данные документа
Способ 2. Выгрузка из формы документа и ЭДО
Во многих типовых конфигурациях в форме документа есть кнопка «Ещё» с командами выгрузки. Например, в Бухгалтерии и Управлении торговлей счета-фактуры, УПД и реализации можно выгрузить в XML-формате, утверждённом ФНС, — кнопка обычно называется «Выгрузить» или находится в подменю «ЭДО». Такой файл подходит для передачи контрагенту или загрузки в оператора ЭДО.
Если документ участвует в электронном документообороте, XML формируется автоматически при отправке. Найти файл можно в карточке электронного документа: там хранятся исходящий XML, подпись и служебные квитанции. Это самый надёжный путь, когда важна юридическая значимость документа.
Учтите ограничение: выгрузка из формы формирует файл строго по утверждённому формату и не подходит для переноса документа в другую базу 1С — структура там другая, она описывает печатное содержимое, а не объект базы данных.
Способ 3. Планы обмена для регулярной выгрузки
Если документы нужно выгружать регулярно — например, ежедневно передавать реализации из УТ в Бухгалтерию — правильнее настроить план обмена. Это типовой механизм: создаётся узел обмена, регистрируются изменения, и система формирует XML-сообщения обмена автоматически или по расписанию.
Настройка выполняется в разделе «Администрирование → Синхронизация данных» (название может отличаться в разных конфигурациях). Мастер настройки предложит выбрать вторую базу, правила выгрузки и расписание. После настройки документы будут уходить в XML-файл обмена без ручных действий, а загрузка на той стороне выполнятся штатно.
План обмена также регистрирует уже выгруженные объекты и не дублирует их при следующей выгрузке, что экономит время. Минус — первичная настройка требует внимательности: ошибка в правилах приведёт к некорректным данным в базе-приёмнике.
Способ 4. Программная выгрузка кодом
Когда типовые инструменты не подходят — нужна особая структура файла, фильтрация полей или интеграция по расписанию — выгрузку пишут на встроенном языке. Базовый приём: создать объект ЗаписьXML, открыть файл и последовательно записать элементы с данными документа.
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Временные\документ.xml");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Документ");
Запись.ЗаписатьАтрибут("Номер", ДокументОбъект.Номер);
Запись.ЗаписатьАтрибут("Дата", XMLСтрока(ДокументОбъект.Дата));
Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();Для сериализации объекта целиком есть функция ЗаписатьXML — она выгружает объект базы в XML-представление платформы, аналогичное тому, что делает типовая обработка. Обратная функция ПрочитатьXML восстанавливает объект. Это удобно для обменов между одинаковыми конфигурациями.
Программный способ требует прав на внешние обработки и аккуратности: экранируйте спецсимволы в строковых значениях (платформа делает это автоматически при корректном использовании ЗаписьXML), проверяйте кодировку — для обмена с внешними системами обычно нужна UTF-8.
Как проверить результат выгрузки
Минимальная проверка — открыть файл в текстовом редакторе или браузере. Корректный XML начинается с объявления <?xml version="1.0" encoding="UTF-8"?>, содержит один корневой элемент и не обрывается на середине. Браузер покажет ошибку синтаксиса, если структура нарушена.
Полная проверка — тестовая загрузка в копию базы-приёмника. Загрузите файл через соответствующую обработку, откройте восстановленный документ и сверьте ключевые поля: номер, дату, контрагента, суммы, табличные части. Проверьте, что ссылки на справочники разрешились корректно, а не превратились в «битые» ссылки вида «<Объект не найден>».
Как проверить результат
Структура отображается без ошибок разбора
Сообщение об ошибке XML на определённой строке
UTF-8, русские буквы читаются
Кракозябры вместо кириллицы
Документ восстановлен, суммы и табличные части совпадают
Битые ссылки, пустые поля, ошибки загрузки
Соразмерен объёму данных документа
Файл нулевого размера или подозрительно мал
Типичные ошибки и ограничения
Самая частая проблема — выгрузка документа без связанных объектов. В файле ссылки на контрагента или номенклатуру есть, а самих объектов в базе-приёмнике нет, и после загрузки появляются битые ссылки. Решение: выгружать документ вместе с сопутствующими справочниками или убедиться, что они уже синхронизированы.
Вторая группа ошибок — несовпадение версий конфигураций. Обработка «Выгрузка и загрузка данных XML» корректно работает только между одинаковыми версиями: если в приёмнике изменились реквизиты, загрузка завершится ошибкой или потерей данных. Перед переносом сверьте релизы обеих баз.
Третья типичная ситуация — права доступа. Пользователю без полных прав может не хватить доступа к обработке, отдельным реквизитам или файловой системе сервера. В клиент-серверном варианте файл, записанный кодом на сервере, сохраняется на сервере, а не на компьютере пользователя — это частая причина «пропавших» файлов.
Частые вопросы
Можно ли выгрузить в XML сразу несколько документов за период?
Да. В обработке «Выгрузка и загрузка данных XML» задайте отбор по виду документа и периоду — выгрузятся все подходящие документы одним файлом. Для регулярной пакетной выгрузки удобнее настроить план обмена с расписанием.
Чем открыть и посмотреть выгруженный XML-файл?
Подойдёт любой браузер (покажет структуру и ошибки синтаксиса), Блокнот, Notepad++ или другой текстовый редактор с поддержкой UTF-8. Для больших файлов удобнее редакторы с подсветкой и сворачиванием узлов XML.
Почему после загрузки в другую базу в документе «Объект не найден»?
В базе-приёмнике отсутствуют объекты, на которые ссылается документ: контрагент, договор, номенклатура. Выгрузите связанные справочники вместе с документом или предварительно синхронизируйте их между базами.
Можно ли выгрузить документ в XML без прав администратора?
Выгрузка из формы документа (ЭДО, кнопка «Выгрузить») обычно доступна обычным пользователям. Типовые обработки переноса и программная выгрузка чаще требуют полных прав или права на открытие внешних обработок — уточните у администратора базы.
Чем XML-выгрузка отличается от выгрузки в Excel или CSV?
XML сохраняет иерархию и связи объекта: табличные части, ссылки на справочники, вложенные структуры. Excel и CSV — плоские таблицы, пригодные для просмотра и анализа, но не для восстановления документа в другой базе.
Как выгрузить документ, если конфигурация самописная и типовых обработок нет?
Обработка «Выгрузка и загрузка данных XML» работает на уровне платформы и подходит для любой конфигурации — её можно открыть через «Файл → Открыть». Альтернатива — небольшая внешняя обработка с сериализацией через ЗаписатьXML.
Что важно запомнить
Для переноса между одинаковыми базами используйте обработку «Выгрузка и загрузка данных XML», для контрагентов — выгрузку из формы или ЭДО, для регулярного обмена — план обмена, для нестандартных задач — код с ЗаписьXML. Перед загрузкой в рабочую базу всегда проверяйте файл на копии и выгружайте связанные объекты, чтобы избежать битых ссылок.