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

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

Как выгрузить данные из 1С в XML

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

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

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

Определите, что именно нужно выгрузить

До выбора инструмента ответьте на три вопроса: какие данные нужны (отчёт, справочник, документы, вся база), куда они пойдут (другая база 1С, сайт, банк, ФНС) и как часто потребуется выгрузка (разово или регулярно по расписанию). От ответов зависит и инструмент, и формат файла.

Важно понимать: «XML» — это не один формат, а семейство. Универсальный обмен 1С использует собственную схему EnterpriseData или формат правил конвертации, отчётность выгружается по утверждённым XSD-схемам ФНС, а обмен с сайтами чаще всего идёт через CommerceML. Файл, выгруженный по одной схеме, не загрузится в систему, ожидающую другую.

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

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

Нужно сдать отчётность в ФНС, ПФР, РосстатИспользуйте штатную кнопку «Выгрузить» в форме отчёта
Нужно перенести данные между двумя одинаковыми базами 1СПримените обработку «Выгрузка и загрузка данных XML»
Базы разных конфигураций или нужен гибкий отборНастройте обмен через «Конвертацию данных» или типовую синхронизацию
Нужен произвольный набор данных под требования сторонней системыПишите выгрузку программно через ЗаписьXML или закажите доработку

Выгрузка отчётности в XML для контролирующих органов

Самый простой сценарий — выгрузка регламентированной отчётности. В типовых конфигурациях («1С:Бухгалтерия», «Зарплата и управление персоналом») откройте нужный отчёт из раздела «Отчёты, справки» → «1С-Отчётность», сформируйте его и нажмите кнопку «Выгрузить». Программа создаст XML-файл строго по утверждённому формату с корректным именем, включающим ИНН, КПП и номер корректировки.

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

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

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

Порядок работы: откройте обработку через «Файл» → «Открыть», на вкладке «Выгрузка» укажите имя файла, отметьте типы объектов для выгрузки (справочники, документы, регистры), при необходимости задайте отбор по периоду или организации и нажмите «Выполнить». В приёмнике откройте ту же обработку на вкладке «Загрузка» и загрузите файл.

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

Программная выгрузка через встроенный язык

Когда требуется произвольная структура XML — под требования банка, маркетплейса или собственной системы — выгрузку пишут на встроенном языке 1С. Основной инструмент — объект ЗаписьXML, который последовательно формирует элементы и атрибуты файла.

bsl
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Export\clients.xml", "UTF-8");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Контрагенты");

Выборка = Справочники.Контрагенты.Выбрать();
Пока Выборка.Следующий() Цикл
    Запись.ЗаписатьНачалоЭлемента("Контрагент");
    Запись.ЗаписатьАтрибут("ИНН", Выборка.ИНН);
    Запись.ЗаписатьТекст(Выборка.Наименование);
    Запись.ЗаписатьКонецЭлемента();
КонецЦикла;

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

Пример выше выгружает справочник контрагентов в простой XML. Для сложных структур с пространствами имён и строгой типизацией используют механизм XDTO-пакетов: он проверяет данные по XSD-схеме ещё на этапе формирования файла, что исключает создание невалидного XML.

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

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

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

Для отчётности используйте проверку по XSD-схеме (встроена в «1С-Отчётность» и тестеры контролирующих органов). Для обмена между базами контролируйте количество выгруженных и загруженных объектов — универсальная обработка показывает эти счётчики по завершении.

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

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

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

Дерево элементов отображается без сообщений об ошибке

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

Браузер показывает ошибку разбора XML — структура нарушена

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

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

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

Кракозябры вместо русских букв — неверная кодировка при записи

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

Совпадает с количеством в источнике по отбору

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

В файле меньше объектов — сработал отбор или оборвалась выгрузка

Загрузка в приёмник
Норма

Все объекты загружены, ссылки не битые

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

Часть объектов не загрузилась, появились дубли элементов справочников

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

Большинство проблем при выгрузке в XML связано не с самим форматом, а с несоответствием ожиданиям принимающей стороны. Ниже — ошибки, которые встречаются чаще всего.

Типичные ошибки
01
Выгрузка в неподходящем формате: файл универсального обмена пытаются загрузить в систему, ожидающую CommerceML или XSD-схему ФНС — такой файл не примут
02
Ручное редактирование XML отчётности: нарушаются контрольные соотношения, файл отклоняется при приёме
03
Выгрузка между базами с разной структурой конфигурации: часть данных теряется или загружается с ошибками
04
Игнорирование кодировки: файл записан в ANSI, а приёмник ждёт UTF-8 — кириллица превращается в нечитаемые символы
05
Выгрузка всей базы без отбора: файл получается огромным, обработка занимает часы и может оборваться по нехватке памяти
06
Отсутствие архивной копии перед загрузкой: при ошибке данные в приёмнике испорчены без возможности быстрого отката

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

Итог

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

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

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

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

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

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

Любой современный браузер (Chrome, Edge, Firefox) откроет XML и покажет его в виде дерева с подсветкой ошибок. Для редактирования удобны Notepad++ или VS Code. Двойной клик по файлу в Windows обычно открывает его в браузере автоматически.

Почему в выгруженном файле вместо русских букв непонятные символы?

Проблема в кодировке: файл записан не в той кодировке, в которой его открывают. При программной выгрузке явно указывайте UTF-8 во втором параметре метода ОткрытьФайл. Если файл уже создан, откройте его в Notepad++ и преобразуйте кодировку через меню «Кодировки».

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

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

Что делать, если при загрузке XML появились дубли контрагентов?

Дубли возникают, когда поиск объектов в приёмнике идёт не по уникальному идентификатору, а по реквизитам (например, по наименованию). Остановите загрузку, восстановите базу из копии и настройте в правилах обмена поиск по внутреннему идентификатору или по связке ИНН + КПП. Уже созданные дубли придётся удалять отдельной обработкой поиска и замены дублей.

Подойдёт ли XML из 1С для загрузки в Excel?

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