Администрирование · 10 мин
Формат XML в 1С: как выгрузить данные
Как выгрузить данные из 1С в XML: через обработку «Выгрузка и загрузка данных XML», типовые механизмы обмена, сохранение документов. Инструкции, ошибки, FAQ.
XML — основной формат обмена данными между базами 1С и внешними системами. Через него переносят справочники, документы и остатки между конфигурациями, выгружают отчётность в контролирующие органы, обмениваются данными с сайтами и другими учётными программами.
Способ выгрузки зависит от задачи: для переноса данных между одинаковыми конфигурациями используют обработку «Выгрузка и загрузка данных XML», для разных конфигураций — «Универсальный обмен данными» с правилами конвертации, а отдельные документы и отчёты часто можно сохранить в XML прямо из интерфейса.
Ниже разобраны основные сценарии с пошаговыми действиями, проверкой результата и типичными ошибками. Инструкции ориентированы на конфигурации на управляемых формах (Бухгалтерия 3.0, Управление торговлей 11, ЗУП 3.1), но логика применима и к другим решениям на платформе 1С:Предприятие 8.3.
Какие способы выгрузки в XML существуют в 1С
Перед началом работы определите, какая именно задача стоит: от этого зависит выбор инструмента. Платформа предлагает несколько штатных механизмов, и каждый решает свой круг задач.
Обработка «Выгрузка и загрузка данных XML» предназначена для переноса данных между информационными базами с одинаковой конфигурацией — например, из рабочей базы в тестовую или при консолидации данных филиалов. Универсальный обмен данными работает с правилами конвертации и позволяет переносить данные между разными конфигурациями. Планы обмена обеспечивают регулярный автоматический обмен, а сохранение отдельных объектов в XML доступно во многих документах и отчётах через стандартную кнопку выгрузки.
Сравнение способов выгрузки
Перенос между идентичными конфигурациями. Не подходит для разных версий конфигураций с отличающейся структурой метаданных.
Обмен между разными конфигурациями по правилам конвертации. Требует готовых или самостоятельно разработанных правил.
Регулярный автоматический обмен между базами. Требует первоначальной настройки узлов.
Быстрая выгрузка отдельного документа или отчёта. Не подходит для массового переноса.
Выгрузка через обработку «Выгрузка и загрузка данных XML»
Это самый распространённый способ переноса данных между одинаковыми базами. Обработка входит в состав дистрибутивов типовых конфигураций и публикуется на диске ИТС, также её можно найти в меню «Все функции» в некоторых конфигурациях.
Где взять обработку
В ряде типовых конфигураций обработка доступна через раздел «Администрирование» — «Сервис» или подключается как внешняя через «Файл» — «Открыть». Файл обработки обычно называется ВыгрузкаЗагрузкаДанныхXML.epf. Если её нет под рукой, используйте версию, соответствующую вашей платформе: обработки для обычных и управляемых форм различаются.
Порядок выгрузки
Откройте обработку, перейдите на вкладку «Выгрузка», укажите имя файла, в который будут сохранены данные. В дереве объектов метаданных отметьте флажками нужные справочники и документы — можно выгрузить всё сразу или только выбранные типы объектов.
Обратите внимание на настройку «Выгружать при необходимости» (выгрузка по ссылке): она подтягивает связанные объекты, на которые ссылаются выгружаемые данные. Это помогает сохранить целостность — например, вместе с документом выгрузятся контрагенты и номенклатура из его табличной части. После настройки нажмите «Выгрузить данные» и дождитесь завершения: в больших базах процесс может занять значительное время.
- 1Откройте обработку «Выгрузка и загрузка данных XML»
- 2На вкладке «Выгрузка» укажите путь и имя файла XML
- 3Отметьте в дереве метаданных нужные объекты
- 4При необходимости включите выгрузку связанных объектов по ссылкам
- 5Нажмите «Выгрузить данные» и дождитесь окончания
- 6Проверьте, что файл создан и его размер отличен от нуля
Универсальный обмен данными между разными конфигурациями
Когда источник и приёмник — разные конфигурации (например, выгрузка из «Управления торговлей» в «Бухгалтерию»), простая обработка не подойдёт: структура объектов отличается. Для таких задач используется обработка «Универсальный обмен данными в формате XML» вместе с правилами конвертации.
Правила конвертации — это файл XML, описывающий соответствие объектов источника и приёмника: какие реквизиты куда переносятся, как преобразуются значения. Для типовых пар конфигураций правила поставляются в составе дистрибутивов или доступны на портале 1С. Нестандартные правила разрабатываются в конфигурации «Конвертация данных».
Порядок работы: откройте обработку универсального обмена, укажите файл правил, выберите период и объекты для выгрузки, задайте имя файла данных и запустите выгрузку. На стороне приёмника та же обработка в режиме загрузки прочитает файл и создаст объекты по правилам.
Выгрузка отдельных документов и отчётов в XML
Не всегда нужен полноценный обмен: иногда требуется сохранить один документ, отчёт или печатную форму. В типовых конфигурациях для этого есть встроенные механизмы.
Регламентированные отчёты (декларации, расчёты) выгружаются в XML кнопкой «Выгрузить» в форме отчёта — формируется файл в формате, утверждённом для сдачи в контролирующие органы. Электронные документы (счета-фактуры, УПД, накладные) выгружаются через механизм обмена электронными документами: в карточке документа доступна команда выгрузки или отправки.
Табличные документы и печатные формы можно сохранить через «Файл» — «Сохранить как», выбрав подходящий формат. Учтите: сохранение табличного документа в XML — это не то же самое, что выгрузка данных объекта; такой файл содержит только внешнее представление и не пригоден для загрузки в другую базу как данных.
Выгрузка средствами встроенного языка
Для автоматизации и нестандартных задач выгрузку в XML выполняют программно. Платформа предоставляет объекты ЗаписьXML и ЧтениеXML для потоковой работы, а также механизмы сериализации через XDTO.
Простой пример записи произвольного XML-файла выглядит так:
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Обмен\data.xml");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Данные");
Запись.ЗаписатьНачалоЭлемента("Контрагент");
Запись.ЗаписатьАтрибут("Наименование", "ООО Ромашка");
Запись.ЗаписатьКонецЭлемента();
Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();
Для сериализации объектов базы (например, элемента справочника со всеми реквизитами) применяют ЗаписатьJSON/ЗаписатьXML через сериализатор XDTO либо стандартную обработку выгрузки, вызываемую программно. Программный способ требует навыков разработки и тестирования на копии базы — ошибки в коде записи могут сформировать некорректный файл, который не удастся загрузить.
При выгрузке больших объёмов файл XML может достигать сотен мегабайт. В обработке «Выгрузка и загрузка данных XML» есть режим выгрузки в формате с сжатием (ZIP) — он заметно уменьшает размер файла и ускоряет передачу между базами.
Проверка результата и типичные ошибки
После выгрузки убедитесь, что файл действительно пригоден для загрузки. Минимальная проверка: файл существует, имеет ненулевой размер, открывается в текстовом редакторе и начинается с объявления XML. Более надёжный способ — выполнить тестовую загрузку в копию базы-приёмника и сверить количество перенесённых объектов.
Частые проблемы: выгрузка обрывается на середине из-за нехватки памяти или прав доступа к каталогу; файл создаётся, но загрузка завершается ошибкой из-за различий версий конфигураций; объекты переносятся без связанных данных, потому что не включена выгрузка по ссылкам. Также встречается ситуация, когда пользователь пытается загрузить файл, выгруженный одним механизмом, через другой — форматы несовместимы.
Как проверить результат
Существует, размер больше нуля, начинается с объявления XML
Файл пустой или обрывается на середине структуры
Завершается без ошибок, объекты доступны в базе-приёмнике
Ошибки чтения, пропущенные объекты, битые ссылки
Количество объектов в источнике и приёмнике совпадает
Часть документов или элементов справочников отсутствует
Часто задаваемые вопросы
Можно ли выгрузить из 1С в XML без прав администратора?
Для запуска внешних обработок нужны права на открытие внешних файлов и доступ к выгружаемым данным. Сохранение отдельных отчётов и электронных документов в XML обычно доступно рядовым пользователям с правами на соответствующие объекты. Если кнопка или команда недоступна, запросите нужную роль у администратора базы.
Чем отличается выгрузка в XML от выгрузки в Excel?
XML сохраняет структуру данных и пригоден для загрузки в другую базу или систему. Excel — это представление для просмотра и анализа человеком: обратно загрузить такие данные в 1С штатными средствами обмена нельзя, потребуется отдельная обработка загрузки из табличного формата.
Файл выгрузился, но при загрузке ошибка «Ошибка формата потока». Что делать?
Чаще всего причина — несоответствие механизмов: файл создан одной обработкой, а читается другой, либо версии конфигураций источника и приёмника различаются. Проверьте, какой обработкой выгружались данные, и используйте парную ей для загрузки. Также убедитесь, что файл не повреждён при копировании.
Как выгрузить в XML только документы за определённый период?
В обработке «Универсальный обмен данными» есть отбор по периоду и по организациям. В обработке «Выгрузка и загрузка данных XML» отбор по периоду настраивается через параметры выгрузки документов — укажите даты начала и окончания. Для точечного отбора используют произвольный запрос или программную выгрузку.
Подойдёт ли выгрузка XML для переноса данных в другую учётную систему (не 1С)?
Файл обмена 1С имеет специфическую структуру, рассчитанную на загрузку обратно в 1С. Для передачи в стороннюю систему обычно формируют XML по формату этой системы — программно через ЗаписьXML или через механизмы XDTO-пакетов. Уточните требования принимающей системы к структуре файла.
Можно ли настроить автоматическую выгрузку в XML по расписанию?
Да. Для регулярного обмена между базами 1С используют планы обмена с настройкой расписания. Для выгрузки во внешние системы создают регламентное задание, которое вызывает процедуру формирования и записи XML-файла. Такую настройку выполняет разработчик или администратор с опытом работы с регламентными заданиями.
Что важно запомнить
Для переноса между одинаковыми конфигурациями используйте «Выгрузку и загрузку данных XML», для разных — универсальный обмен с правилами конвертации. Всегда делайте резервную копию перед загрузкой и проверяйте результат тестовой загрузкой в копию базы.