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