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