Документы и Печать · 11 мин
Как сохранить документ в формате XML в 1С
Как выгрузить документ из 1С в XML: через обработку «Выгрузка и загрузка данных XML», типовой обмен, код на встроенном языке. Проверка результата и ошибки.
Формат XML в 1С используется для переноса документов между базами, обмена с другими учётными системами, отправки данных в контролирующие органы и архивного хранения. Сохранить документ в XML можно несколькими способами: штатной обработкой выгрузки, механизмом обмена между конфигурациями, сериализацией объекта встроенным кодом или типовыми командами выгрузки, если они предусмотрены в конкретной конфигурации.
Выбор способа зависит от задачи. Для разового переноса документа в идентичную базу подходит обработка «Выгрузка и загрузка данных XML». Для регулярного обмена между разными конфигурациями (например, «Управление торговлей» и «Бухгалтерия») используются правила обмена «Конвертации данных». Для интеграции со сторонними системами чаще всего пишут выгрузку кодом с помощью объекта ЗаписьXML.
Важно понимать ограничение: XML-файл, выгруженный одним способом, не всегда можно загрузить другим. Файл обработки «Выгрузка и загрузка данных XML» имеет собственную структуру и читается только этой же обработкой, а файл по правилам «Конвертации данных» — только универсальным обменом данными. Ниже разобраны все рабочие варианты с проверкой результата.
Какой способ выгрузки выбрать под вашу задачу
Прежде чем выгружать, определите, куда пойдёт файл. Если документ нужно перенести в точную копию базы (например, из рабочей в тестовую или в базу филиала с той же конфигурацией и релизом), подходит обработка «Выгрузка и загрузка данных XML» — она сохраняет объект «как есть», включая все реквизиты и табличные части.
Если базы имеют разные конфигурации, прямая выгрузка не сработает: структура объектов отличается, и загрузка завершится ошибкой. Здесь нужен обмен по правилам конвертации — типовым (входят в состав многих конфигураций) или написанным в «Конвертации данных».
Если файл нужен сторонней системе (сайт, складская программа, банк), структуру XML обычно диктует внешняя сторона. В этом случае выгрузку формируют программно, записывая теги в нужной последовательности через объект ЗаписьXML.
Как выбрать действие
Способ 1. Обработка «Выгрузка и загрузка данных XML»
Это стандартный инструмент переноса данных между идентичными базами. Обработка входит в состав дистрибутива платформы и многих конфигураций, также её можно найти на диске ИТС. Файл обработки обычно называется ВыгрузкаЗагрузкаДанныхXML.epf.
Порядок действий: откройте обработку через меню «Файл → Открыть», перейдите на закладку «Выгрузка», установите флажки напротив нужных типов объектов или используйте отбор. Чтобы выгрузить конкретный документ, включите режим отбора и укажите документ по ссылке — тогда в файл попадёт только он и связанные объекты, отмеченные для выгрузки по ссылкам.
Укажите имя файла выгрузки и нажмите «Выгрузить данные». По завершении обработка сообщит количество выгруженных объектов. Загрузка в базу-приёмник выполняется той же обработкой на закладке «Загрузка».
- 1Откройте обработку «Выгрузка и загрузка данных XML» через меню «Файл → Открыть»
- 2На закладке «Выгрузка» отметьте нужный вид документов
- 3Настройте отбор: период, организация или конкретный документ по ссылке
- 4Укажите путь и имя XML-файла
- 5Нажмите «Выгрузить данные» и дождитесь сообщения о числе выгруженных объектов
- 6Откройте файл в текстовом редакторе и убедитесь, что внутри есть данные документа
Способ 2. Типовой обмен между конфигурациями
Многие конфигурации содержат встроенные планы обмена и помощники настройки синхронизации. Например, обмен «Управление торговлей — Бухгалтерия» формирует XML-файл по правилам конвертации и передаёт его через каталог, почту или прямое подключение.
Чтобы использовать этот путь, откройте раздел настройки синхронизации данных (в типовых конфигурациях это обычно «Администрирование → Синхронизация данных»), создайте настройку обмена, укажите префикс базы и состав отправляемых данных. При выполнении обмена программа сформирует файл Message_*.xml — это и есть документы в формате XML, упакованные по стандарту EnterpriseData или правилам конвертации.
Ограничение способа: файл привязан к механизму обмена и не предназначен для ручного редактирования или загрузки «чем попало». Но для регулярной передачи документов между базами это самый устойчивый вариант — правила уже проверены разработчиком конфигурации.
Способ 3. Программная выгрузка через ЗаписьXML
Когда формат файла определяет внешняя система, документ сериализуют вручную. Во встроенном языке 1С для этого служит объект ЗаписьXML: он последовательно записывает элементы, атрибуты и текстовые значения в файл.
Типовой приём: создать объект ЗаписьXML, открыть файл методом ОткрытьФайл(), записать объявление XML, корневой элемент, затем пройти по реквизитам документа и табличной части, записывая каждое поле отдельным элементом. Даты и числа приводят к строковому виду, согласованному с приёмником.
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Обмен\Документ.xml");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Документ");
Запись.ЗаписатьНачалоЭлемента("Номер");
Запись.ЗаписатьТекст(Строка(ДокОбъект.Номер));
Запись.ЗаписатьКонецЭлемента();
Запись.ЗаписатьНачалоЭлемента("Дата");
Запись.ЗаписатьТекст(Формат(ДокОбъект.Дата, "ДФ=yyyy-MM-dd"));
Запись.ЗаписатьКонецЭлемента();
Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();Для выгрузки «как есть» без ручного описания полей есть функция ЗаписатьXML(), которая сериализует объект целиком вместе со всеми реквизитами в формате XDTO платформы. Такой файл компактен в создании, но читается только механизмами 1С (ЧтениеXML с возможностью чтения объектов), сторонние системы его обычно не принимают.
Особенности для управляемого и обычного приложения
В конфигурациях на управляемых формах (Бухгалтерия 3.0, УТ 11, ERP) часть обработок и кнопок выгрузки встроена в интерфейс: например, выгрузка счетов-фактур, УПД и других документов для ЭДО выполняется кнопками «Выгрузить» или через подсистему обмена электронными документами. Такие файлы формируются по утверждённым форматам и подходят для отправки оператору.
В обычном приложении (старшее поколение конфигураций на платформе 8.2/8.3 в режиме обычных форм) внешние обработки открываются напрямую через «Файл → Открыть», а в управляемом — могут потребовать подключения через механизм «Дополнительные отчеты и обработки», если запуск внешних файлов ограничен настройками безопасности.
Если при открытии обработки появляется сообщение о запрете интерактивных операций или недостатке прав, потребуются права администратора или роль с доступом к выгрузке данных. В файловой базе это решается настройкой ролей пользователя, в клиент-серверной — дополнительно проверьте права на каталог, куда пишется файл.
Проверка результата и типичные ошибки
После выгрузки откройте XML-файл в любом текстовом редакторе или браузере. Корректный файл начинается с объявления <?xml version="1.0" encoding="UTF-8"?> и содержит один корневой элемент. Браузер покажет ошибку разбора, если структура нарушена — это быстрый способ валидации без специальных инструментов.
Проверьте, что в файле присутствуют ключевые данные документа: номер, дата, контрагент, строки табличной части. Пустые элементы там, где в документе есть значения, — признак того, что отбор сработал не так или часть данных не попала в выгрузку.
Как проверить результат
Дерево элементов отображается без ошибок разбора
Сообщение об ошибке XML на конкретной строке
Видны номер, дата, суммы и строки документа
Файл пустой или содержит только служебные теги
Документ появился, проводится, суммы совпадают
Ошибки загрузки, дубли объектов, битые ссылки
Кириллица читается корректно
Крокозябры или знаки вопроса вместо текста
Ограничения и вопросы безопасности
XML-файл с документами содержит коммерчески чувствительные данные: контрагентов, цены, суммы, иногда персональные данные сотрудников. Передавайте файл по защищённым каналам и не выкладывайте в общие папки без контроля доступа.
Помните, что выгрузка и загрузка через обработку выполняются без бизнес-логики проведения: документ переносится как набор данных. После загрузки может потребоваться перепроведение, восстановление нумерации или пересчёт итогов — особенно если документы участвуют в последовательностях.
Объёмные выгрузки (десятки тысяч документов) в файловой базе могут занять продолжительное время и заметно нагрузить диск. Для больших переносов разбивайте выгрузку по периодам или используйте клиент-серверный режим и регламентные задания.
Что важно запомнить
Способ сохранения документа в XML выбирается по приёмнику файла: идентичная база — обработка «Выгрузка и загрузка данных XML», другая конфигурация — обмен по правилам, сторонняя система — программная запись через ЗаписьXML. Всегда проверяйте файл браузером, а загрузку сначала выполняйте на копии базы.
Частые вопросы
Можно ли открыть XML из 1С в Excel?
Да, если файл имеет плоскую табличную структуру, Excel откроет его как XML-таблицу. Но файл обработки «Выгрузка и загрузка данных XML» имеет сложную вложенную структуру и в Excel читается плохо. Для анализа в Excel лучше формировать отдельную выгрузку кодом или сохранять табличный документ в Excel напрямую.
Чем отличается выгрузка в XML от выгрузки в формате EnterpriseData?
EnterpriseData — это стандартизованный XML-формат фирмы «1С» для обмена между прикладными решениями и сторонними системами. Технически это тоже XML, но с фиксированной структурой тегов. Обычная выгрузка обработкой сохраняет данные во внутреннем формате платформы, понятном только 1С.
Почему при загрузке XML появляется ошибка «Ошибка формата потока»?
Чаще всего причина в том, что файл повреждён при передаче, обрезан, сохранён в другой кодировке или создан другим механизмом, чем тот, которым его пытаются прочитать. Проверьте, открывается ли файл в браузере, и убедитесь, что загружаете его той же обработкой и в базу с совместимой конфигурацией.
Можно ли выгрузить документ в XML без прав администратора?
Для открытия внешней обработки обычно достаточно прав на интерактивное открытие внешних отчётов и обработок, но в некоторых конфигурациях этот режим отключён профилем безопасности. Если кнопки выгрузки встроены в конфигурацию (например, выгрузка для ЭДО), они доступны с обычными правами пользователя на документ.
Как выгрузить сразу много документов одним файлом?
В обработке «Выгрузка и загрузка данных XML» отметьте нужный вид документов и задайте отбор по периоду или организации — все отобранные документы попадут в один файл. При программной выгрузке организуйте цикл по выборке документов и записывайте каждый отдельным элементом внутри общего корневого узла.
Сохранятся ли движения документа по регистрам при выгрузке?
Обработка «Выгрузка и загрузка данных XML» позволяет выгрузить документ вместе с движениями, если это предусмотрено настройками, но чаще движения не переносят, а документ после загрузки просто перепроводят — тогда записи по регистрам формируются заново по логике конфигурации-приёмника.