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