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