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

Справочники и Данные · 9 мин

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

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

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

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

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

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

Прежде чем открывать обработки, определите назначение файла. От этого зависит и инструмент, и структура XML, и риски.

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

Если XML требуется внешней системе — сайту, банку, маркетплейсу, налоговой — обычно действует строгая спецификация (схема XSD). Здесь штатная выгрузка не подойдёт: используются типовые механизмы обмена конкретной конфигурации (например, CommerceML для сайтов) или специализированные отчёты и обработки.

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

Как выбрать действие

Нужно посмотреть структуру одного объекта или передать его коллегеИспользуйте команду «Выгрузить в файл» в меню «Ещё» формы объекта
Нужно перенести справочники и документы в другую базу 1С той же конфигурацииПримените обработку «Выгрузка и загрузка данных XML»
Файл нужен сайту или внешней системе по их форматуИщите типовой обмен в разделе «Администрирование — Обмен данными» или уточняйте спецификацию у принимающей стороны
Нужна регулярная автоматическая выгрузкаНастройте план обмена или регламентное задание с программной выгрузкой

Выгрузка отдельного объекта в XML

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

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

Если такой команды в форме нет, объект можно выгрузить через универсальную обработку (см. следующий раздел), указав отбор по конкретной ссылке.

Универсальная обработка «Выгрузка и загрузка данных XML»

Это основной инструмент переноса данных между базами. Обработка входит в состав конфигураций на БСП (Библиотека стандартных подсистем) и доступна по пути «Администрирование» → «Обслуживание» → «Выгрузка и загрузка данных» либо как внешняя обработка с диска ИТС.

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

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

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

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

Если обмен нужен регулярно — например, между «Управлением торговлей» и «Бухгалтерией» или с сайтом — используют планы обмена. Это встроенный механизм, который отслеживает изменённые объекты и выгружает только их.

Настройка выполняется в разделе «Администрирование» → «Обмен данными» → «Настройки обмена данными». Мастер предложит выбрать программу-корреспондента, состав обмена и расписание. Результатом работы будет XML-файл сообщения обмена в указанном каталоге.

Для обмена с сайтами типовые конфигурации используют формат CommerceML: выгрузка каталога товаров и цен настраивается в узле обмена с сайтом, файл формируется автоматически по расписанию или по кнопке «Выполнить обмен».

Выгрузка печатных форм и отчётов

Частая задача — получить печатную форму документа в виде файла. Здесь XML как таковой обычно не нужен: табличный документ сохраняется через «Файл» → «Сохранить как» в форматы MXL, XLSX, PDF, HTML. XML в списке форматов сохранения табличного документа тоже присутствует, но это «плоский» XML представления таблицы, а не данные объекта.

Для отчётов, которые сдаются в контролирующие органы (декларации, статистика), выгрузка выполняется из самого отчёта кнопкой «Выгрузить» — формируется файл строго по утверждённому формату ФНС или Росстата. Проверить такой файл можно кнопкой «Проверить выгрузку» до отправки.

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

Программная выгрузка через ЗаписьXML

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

Запись = Новый ЗаписьXML;

Запись.ОткрытьФайл("C:\Обмен\nomenclature.xml", "UTF-8");

Запись.ЗаписатьОбъявлениеXML();

Запись.ЗаписатьНачалоЭлемента("Товары");

Выборка = Справочники.Номенклатура.Выбрать();

Пока Выборка.Следующий() Цикл

Запись.ЗаписатьНачалоЭлемента("Товар");

Запись.ЗаписатьАтрибут("Код", Строка(Выборка.Код));

Запись.ЗаписатьАтрибут("Наименование", Выборка.Наименование);

Запись.ЗаписатьКонецЭлемента();

КонецЦикла;

Запись.ЗаписатьКонецЭлемента();

Запись.Закрыть();

Для сериализации объектов целиком используют ЗаписатьXML из глобального контекста — объект записывается в каноническом формате 1С. Такой файл подходит для загрузки через ПрочитатьXML в другой базе той же конфигурации.

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

Проверка результата и устранение проблем

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

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

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

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

Открытие файла в браузере
Норма

Дерево XML отображается без ошибок разбора

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

Сообщение об ошибке синтаксиса или пустая страница

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

UTF-8, кириллица читается корректно

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

Иероглифы или знаки вопроса вместо русских букв

Протокол обработки
Норма

Количество выгруженных объектов соответствует отбору, ошибок нет

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

Нулевое количество объектов или строки с ошибками

Тестовая загрузка
Норма

Объекты загружаются в копию базы, ссылки не битые

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

Объекты-дубли, незаполненные реквизиты, ошибки загрузки

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

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

Выгрузка отдельных объектов через «Ещё — Выгрузить в файл» доступна при наличии прав на чтение объекта. Универсальная обработка и планы обмена обычно требуют прав администратора или специальной роли «Выполнение обмена данными».

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

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

Файл выгрузился, но при загрузке в другую базу ошибки. Что делать?

Чаще всего причина — разные релизы конфигураций. Обновите обе базы до одной версии и повторите выгрузку. Также проверьте, что файл не редактировался вручную и сохранён в UTF-8.

Как выгрузить в XML только часть справочника?

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

Чем открыть и посмотреть содержимое XML-файла из 1С?

Подойдёт любой браузер, «Блокнот», Notepad++ или сама 1С через ЧтениеXML. Для больших файлов удобнее редакторы с подсветкой синтаксиса — браузер может зависнуть на файле в сотни мегабайт.

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

Да. Настройте план обмена с расписанием или создайте регламентное задание, которое вызывает процедуру выгрузки через ЗаписьXML и складывает файлы в общий каталог.

Итог

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

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