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

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

Как выгрузить файлы из 1С в формате XML

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

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

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

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

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

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

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

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

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

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

Выгрузка документа или отчёта штатными средствами

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

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

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

Обратите внимание: имя файла регламентированной выгрузки несёт служебную информацию (код формы, ИНН, период). Переименовывать такой файл нельзя — приёмная программа налоговой или фонда может его отклонить.

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

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

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

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

Планы обмена и типовая синхронизация

Если обмен между базами регулярный — например, между «Управлением торговлей» и «Бухгалтерией» — правильнее настроить синхронизацию через план обмена. В типовых конфигурациях это делается через «Администрирование» → «Синхронизация данных» → «Настроить синхронизацию данных».

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

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

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

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

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

Дополнительно платформа предоставляет объекты СериализаторXDTO и ЗаписатьXML() — глобальный метод, который превращает любой объект базы (документ, элемент справочника) в XML-представление одной строкой кода. Такой файл затем читается обратно методом ПрочитатьXML(), но только в базе с совместимой конфигурацией.

При программной выгрузке контролируйте кодировку: для обмена с внешними системами чаще всего требуется UTF-8, но некоторые банковские и государственные шлюзы принимают только windows-1251. Несовпадение кодировки проявляется как «кракозябры» в русских наименованиях или отказ при импорте.

Проверка результата и типичные ошибки

Минимальная проверка выгруженного файла — открыть его в браузере или текстовом редакторе: браузер сразу покажет синтаксическую ошибку XML (незакрытый тег, битый символ). Далее убедитесь, что в файле присутствуют ожидаемые данные: количество документов, итоговые суммы, период.

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

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

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

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

Структура отображается без сообщений об ошибке XML

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

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

Полнота данных
Норма

Количество объектов и суммы совпадают с отчётом в 1С

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

Часть документов или элементов отсутствует

Кодировка
Норма

Русские наименования читаются корректно

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

Вместо кириллицы — нечитаемые символы

Пробная загрузка
Норма

Файл загружается в копию базы без ошибок, итоги сходятся

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

Ошибки ссылок, дубли элементов, расхождение сумм

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

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

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

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

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

Почему налоговая не принимает выгруженный XML?

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

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

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

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

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

Безопасно ли править XML-файл вручную перед отправкой?

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

Итог

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

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