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

Администрирование · 11 мин

Как получить XML-файл из 1С

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

XML — основной формат обмена данными в экосистеме 1С. Через него выгружают документы для передачи контрагентам и в государственные системы, переносят справочники между базами, формируют отчетность для ФНС и обмениваются данными с сайтами, банками и другими программами. Получить XML-файл из 1С можно несколькими способами: штатной кнопкой выгрузки в документе, универсальными обработками, планами обмена или программно — через встроенный язык.

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

Ниже разобраны все рабочие сценарии: от простого сохранения одного документа до программной выгрузки произвольных данных. Инструкции ориентированы на конфигурации «Бухгалтерия предприятия», «Управление торговлей» и «1С:Предприятие» в целом, но принципы одинаковы для любой типовой конфигурации на управляемых формах.

Выгрузка XML из документа или отчета стандартной кнопкой

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

Регламентированная отчетность выгружается из раздела «Отчеты» → «Регламентированные отчеты». Откройте сформированный отчет, нажмите «Выгрузить» — система создаст XML-файл в формате, утвержденном ФНС. Именно такой файл принимают операторы электронной отчетности и личные кабинеты налогоплательщика.

Порядок действий для стандартной выгрузки
  1. 1
    Откройте нужный документ или сформируйте отчет
  2. 2
    Нажмите «Ещё» и выберите команду «Выгрузить» или «Выгрузить в XML»
  3. 3
    Укажите папку для сохранения файла
  4. 4
    Откройте файл в браузере или блокноте и убедитесь, что структура читается
  5. 5
    Проверьте ключевые реквизиты: номер, дату, ИНН, суммы

Если команды «Выгрузить» в форме нет, значит, для данного объекта типовая выгрузка не предусмотрена. Это нормально: кнопка есть только там, где законодательно или методически определен формат обмена — счета-фактуры, УПД, декларации, отчеты в фонды. Для остальных объектов используйте способы из следующих разделов.

Универсальный обмен данными в формате XML

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

Принцип работы: вы загружаете правила обмена (XML-файл с описанием соответствия объектов), выбираете период и типы данных, указываете файл-приемник и запускаете выгрузку. Программа последовательно сериализует объекты в XML по заданным правилам.

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

Получение XML через план обмена

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

После настройки программа при каждом сеансе обмена формирует XML-файл с зарегистрированными изменениями и помещает его в указанный каталог. Файлы имеют типовые имена вида Message_001_002.xml. Их можно забирать вручную, передавать по FTP или обрабатывать сторонним ПО.

Преимущество плана обмена — регистрация только изменений: в файл попадают не все данные, а лишь новые и отредактированные объекты. Это резко сокращает размер выгрузки. Недостаток — необходимость первоначальной настройки соответствия объектов, которая требует понимания структуры обеих систем.

Программная выгрузка в XML на встроенном языке

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

1c
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Выгрузка\Товары.xml", "UTF-8");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Товары");
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
    Запись.ЗаписатьНачалоЭлемента("Товар");
    Запись.ЗаписатьАтрибут("Код", Строка(Выборка.Код));
    Запись.ЗаписатьАтрибут("Наименование", Выборка.Наименование);
    Запись.ЗаписатьКонецЭлемента();
КонецЦикла;
Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();

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

Программную выгрузку обычно оформляют как внешнюю обработку или регламентное задание. Регламентное задание позволяет формировать XML по расписанию — например, каждую ночь выгружать остатки склада в файл на сетевом ресурсе. Учитывайте, что в файловой базе регламентные задания выполняются только при запущенном сеансе 1С.

Всегда указывайте кодировку UTF-8 при записи XML и экранируйте спецсимволы в текстовых значениях. Наименования товаров с амперсандом или кавычками без экранирования делают файл невалидным, и принимающая система его отклонит.
ПЗ
Практическое замечание

Выгрузка печатных форм и табличных документов

Отдельный сценарий — сохранение табличного документа (печатной формы, отчета на СКД) в формате XML. В форме табличного документа нажмите «Файл» → «Сохранить копию» и в списке типов файлов выберите «XML-документ». 1С сохранит структуру таблицы в собственном XML-формате табличного документа.

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

Проверка результата и типичные ошибки

После выгрузки откройте файл в браузере или текстовом редакторе с поддержкой XML. Корректный файл начинается с объявления <?xml version="1.0" encoding="UTF-8"?>, содержит один корневой элемент и отображается в браузере в виде раскрывающегося дерева. Если браузер показывает ошибку разбора — файл поврежден или содержит неэкранированные символы.

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

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

Открытие в браузере
Норма

Дерево элементов отображается без ошибок

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

Сообщение об ошибке разбора XML

Кодировка
Норма

Русский текст читается корректно

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

Крякозябры вместо кириллицы — неверная кодировка

Данные
Норма

Номера, даты, суммы совпадают с документом в 1С

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

Пустые значения или обрезанные строки

Соответствие схеме
Норма

Файл проходит валидацию в принимающей системе

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

Ошибки форматно-логического контроля

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

Какой способ выбрать под свою задачу

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

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

Нужен один документ для налоговой или контрагентаИспользуйте кнопку «Выгрузить» в форме документа или регламентированного отчета
Нужно перенести справочники и документы в другую базу 1СПрименяйте обработку «Универсальный обмен данными в формате XML»
Выгрузка нужна регулярно и автоматическиНастройте план обмена или регламентное задание с программной записью XML
Формат файла определяет внешняя система (банк, маркетплейс, сайт)Пишите программную выгрузку через ЗаписьXML строго по XSD-схеме приемника

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

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

Можно ли получить XML из 1С без прав администратора?

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

Чем открыть и проверить полученный XML-файл?

Подойдет любой браузер — он покажет структуру файла в виде дерева и сразу сообщит об ошибке разбора. Для редактирования удобнее Notepad++ или аналогичный редактор с подсветкой синтаксиса. Проверить соответствие официальной схеме можно валидацией по XSD в специализированных сервисах или в самой принимающей системе.

Почему в выгруженном файле иероглифы вместо русского текста?

Причина — несовпадение кодировки: файл записан в одной кодировке, а открывается в другой. Стандарт для обмена — UTF-8. При программной записи явно указывайте кодировку в методе ОткрытьФайл, а при открытии в редакторе принудительно выбирайте UTF-8.

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

Используйте обработку «Универсальный обмен данными в формате XML»: в ней задается период выгрузки и отбор по типам документов. Альтернатива — программная выгрузка с запросом по журналу документов и последовательной записью каждого объекта в файл.

Чем XML из плана обмена отличается от выгрузки документа?

Файл плана обмена содержит служебную шапку, номера сообщений и данные в универсальном формате 1С — он предназначен для загрузки в другую базу 1С. Выгрузка документа формируется по официальному формату (например, ФНС) и нужна для передачи в госорганы или контрагентам. Взаимозаменяемыми эти файлы не являются.

Можно ли настроить автоматическую выгрузку XML по расписанию?

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

Итог

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

Одиночный документ выгружайте штатной кнопкой «Выгрузить», массовые данные — универсальной обработкой обмена, регулярный обмен — планом обмена, а нестандартные форматы — программно через ЗаписьXML. Всегда проверяйте кодировку UTF-8, валидность файла и делайте резервную копию перед экспериментами с обменом.