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

Документы и Печать · 11 мин

Как сохранять документы из 1С в формате XML

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

Формат XML в 1С используется для обмена данными между базами, передачи документов контрагентам, отправки отчётности в контролирующие органы и резервного копирования отдельных объектов. В отличие от печатных форм в Excel или PDF, XML сохраняет структуру документа — реквизиты, табличные части, ссылки на справочники — в машиночитаемом виде.

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

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

Когда нужна выгрузка документов в XML

Перед выбором инструмента определите задачу. От неё зависит, какой механизм подойдёт и какие настройки потребуются.

  • Перенос документов между двумя одинаковыми конфигурациями — например, из рабочей базы в тестовую или между базами филиалов.
  • Обмен между разными конфигурациями (УТ ↔ БП) — требует правил конвертации, а не простой выгрузки.
  • Передача данных во внешние системы: сайт, CRM, складскую программу.
  • Сохранение отдельных документов как «снимка» данных для аудита или разбора ошибок.
  • Подготовка файлов для контролирующих органов — здесь действуют утверждённые форматы, и выгружать нужно через регламентированные отчёты, а не произвольную выгрузку.

Способ 1. Типовая обработка «Выгрузка и загрузка данных XML»

Это самый доступный способ разовой выгрузки без программирования. Обработка входит в состав большинства типовых конфигураций на управляемых формах, а также поставляется на диске ИТС и встроена в некоторые конфигурации как внешний файл.

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

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

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

Ограничения типовой обработки

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

Способ 2. Обмен между типовыми конфигурациями

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

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

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

Сравнение способов выгрузки

Обработка «Выгрузка и загрузка данных XML»

Подходит для разового переноса между идентичными конфигурациями; не преобразует данные между разными конфигурациями

Синхронизация данных

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

Программная выгрузка

Подходит для нестандартных форматов и интеграций; требует навыков программирования на встроенном языке

Способ 3. Программная выгрузка через встроенный язык

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

Минимальный пример выгрузки конкретного документа:

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

Запись.ОткрытьФайл("C:\Обмен\Документ.xml");

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

Док = Документы.РеализацияТоваровУслуг.НайтиПоНомеру("000000001", ТекущаяДатаСеанса());

Если Не Док.Пустая() Тогда

ЗаписатьXML(Запись, Док.ПолучитьОбъект());

КонецЕсли;

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

Метод ЗаписатьXML создаёт файл в формате, который симметрично читается методом ПрочитатьXML в другой базе той же конфигурации. Если нужен произвольный формат тегов (например, по спецификации заказчика), файл формируют вручную — последовательными вызовами ЗаписатьНачалоЭлемента, ЗаписатьАтрибут и ЗаписатьТекст.

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

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

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

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

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

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

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

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

Браузер сообщает об ошибке синтаксиса XML — файл повреждён или обрезан

Первая строка файла
Норма

Присутствует объявление <?xml version="1.0" encoding="UTF-8"?>

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

Объявления нет или указана другая кодировка — возможны проблемы с кириллицей

Загрузка в копию базы
Норма

Документ создаётся, суммы и строки совпадают с источником

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

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

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

Чаще всего проблемы возникают не при сохранении файла, а при попытке использовать его в другой базе. Знание типовых ситуаций экономит время на разборе ошибок.

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

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

Выбор способа под вашу задачу

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

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

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

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

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

Можно ли открыть выгруженный XML в Excel?

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

Почему после загрузки в другую базу документы задвоились?

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

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

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

Чем XML-выгрузка отличается от выгрузки базы в файл .dt?

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

Файл выгрузился, но кириллица отображается иероглифами. Что делать?

Проверьте кодировку файла: платформа записывает XML в UTF-8. Если файл открывается с «кракозябрами», его, скорее всего, пересохранили в ANSI сторонним редактором. Откройте файл в редакторе с выбором кодировки и пересохраните в UTF-8, либо выгрузите заново.

Итог

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

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