Администрирование · 11 мин
Как вытащить XML из 1С: рабочие способы выгрузки данных
Как выгрузить XML из 1С: типовые обработки, выгрузка документов и справочников, выгрузка через конфигуратор и код. Пошаговые инструкции, ошибки и FAQ.
Выгрузить XML из 1С можно несколькими способами: через встроенные обработки «Выгрузка и загрузка данных XML», типовые механизмы обмена, печатные формы с сохранением в файл, а также программно — через встроенный язык. Выбор зависит от того, что именно нужно получить: отдельный документ, справочник целиком, всю базу для переноса или XML-файл по формату контролирующего органа.
Чаще всего задача «вытащить XML» возникает в трёх ситуациях: перенос данных между базами 1С (например, из старой конфигурации в новую), подготовка файла для налоговой, ПФР, банка или контрагента, а также интеграция с внешними системами — сайтом, CRM или складской программой. Для каждого сценария есть свой оптимальный инструмент.
Прежде чем начинать, уточните, какой именно XML нужен на приёмной стороне: файл в формате EnterpriseData, стандартный формат обмена 1С через правила конвертации, произвольная структура или строго регламентированный XSD-схемой документ. От этого зависит, хватит ли типовых средств или потребуется доработка.
Определяем, какой XML вам нужен
Аббревиатура XML обозначает лишь формат файла, но не его содержимое. Два XML-файла из 1С могут быть совершенно несовместимы между собой: один предназначен для загрузки в идентичную конфигурацию, другой — для сдачи отчётности, третий — для обмена с сайтом по CommerceML.
Практическое правило: сначала узнайте у принимающей стороны требования к файлу. Если это другая база 1С той же конфигурации — подойдёт выгрузка «в себя». Если конфигурация другая — нужны правила конвертации данных. Если это госорган или банк — ищите готовую форму выгрузки в соответствующем разделе программы, потому что там жёстко заданы версии форматов.
Выгрузка через «Выгрузка и загрузка данных XML»
Самый простой способ вытащить XML — типовая обработка «Выгрузка и загрузка данных XML». Во многих конфигурациях она доступна из меню «Все функции» → «Обработки», а также поставляется на диске ИТС и в составе типовых конфигураций как внешняя обработка с расширением .epf.
Порядок работы: откройте обработку, на закладке «Выгрузка» отметьте галочками объекты метаданных — справочники, документы, регистры сведений, — которые нужно выгрузить. Укажите имя файла и при необходимости отбор по периоду или организации. Нажмите «Выполнить» — программа сформирует XML-файл, содержащий объекты вместе со ссылочной структурой.
Ключевое ограничение: эта обработка корректно переносит данные только между базами с одинаковой структурой метаданных, то есть между идентичными версиями одной конфигурации. Загрузить такой файл в конфигурацию другого типа не получится — объекты просто не найдут соответствий.
- 1Откройте обработку «Выгрузка и загрузка данных XML» через «Все функции» или как внешний файл .epf
- 2На закладке «Выгрузка» отметьте нужные объекты метаданных
- 3Задайте отбор по периоду и организации, если выгружаете не всё
- 4Укажите путь и имя XML-файла
- 5Нажмите «Выполнить» и дождитесь сообщения о завершении
- 6Откройте файл в текстовом редакторе и убедитесь, что данные на месте
Универсальный обмен данными по правилам конвертации
Если данные нужно перенести в другую конфигурацию — например, из «Управления торговлей» в «Бухгалтерию предприятия», — используется обработка «Универсальный обмен данными в формате XML». Она работает в паре с файлом правил конвертации, который описывает соответствие объектов источника и приёмника.
Типовые правила для популярных пар конфигураций поставляются фирмой «1С» в составе обновлений и на портале 1С. В обработке вы загружаете файл правил, выбираете выгружаемые данные, устанавливаете отборы и запускаете выгрузку. На выходе получается XML-файл, который загружается той же обработкой в базе-приёмнике.
Типовые правила покрывают стандартные объекты, но если в конфигурацию добавлены собственные реквизиты или документы, их придётся описывать в правилах вручную через конфигурацию «Конвертация данных» — это уже задача для специалиста.
Выгрузка регламентных XML для налоговой, банка и контрагентов
Когда XML нужен для сдачи отчётности или обмена с госорганами, не используйте универсальные обработки — формат там строго регламентирован. В «1С:Бухгалтерии» отчёт выгружается из формы самого отчёта: кнопка «Выгрузить» формирует XML в актуальной версии формата ФНС. Проверить файл можно встроенной кнопкой «Проверить выгрузку».
Для обмена с банками (платёжные поручения, выписки) используется раздел «Обмен с банком» или DirectBank: файл выгружается через команду «Отправить в банк» с сохранением на диск. Для электронных документов контрагентам — счетов-фактур, УПД, актов — применяется подсистема ЭДО: там XML формируется автоматически по формату, согласованному с оператором ЭДО.
Эти файлы нельзя править вручную в текстовом редакторе: подпись и контрольные суммы станут недействительными, а файл не пройдёт форматный контроль. Если данные ошибочны — исправляйте документ в 1С и выгружайте заново.
Программная выгрузка XML через встроенный язык
Когда типовые средства не подходят — нужен свой формат, нестандартная структура или выгрузка по расписанию, — XML формируют программно. Базовый инструмент — объект ЗаписьXML: он последовательно пишет элементы, атрибуты и текст в файл или строку.
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Export\nomenclature.xml");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Номенклатура");
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
Запись.ЗаписатьНачалоЭлемента("Товар");
Запись.ЗаписатьАтрибут("Код", Строка(Выборка.Код));
Запись.ЗаписатьАтрибут("Наименование", Выборка.Наименование);
Запись.ЗаписатьКонецЭлемента();
КонецЦикла;
Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();
Для сериализации объектов целиком есть объект СериализаторXDTO и функции ЗаписатьJSON/ЗаписатьXML из глобального контекста, а для обмена по формату EnterpriseData — планы обмена с включённым форматом. Программный способ требует прав на запись файлов и понимания структуры данных, зато даёт полный контроль над результатом.
При программной выгрузке всегда явно указывайте кодировку файла. Большинство внешних систем ожидают UTF-8, а запись в ANSI приводит к «кракозябрам» в кириллице на приёмной стороне. Проверяйте первые строки файла после выгрузки.
Выгрузка через планы обмена и EnterpriseData
Если XML нужен регулярно — например, синхронизация товаров с сайтом или филиалом, — разовые обработки неудобны. Используйте планы обмена: они автоматически регистрируют изменённые объекты и выгружают только изменения, а не всю базу. Обмен может идти через файл XML в каталоге, по FTP или через веб-сервис.
Для интеграции с внешними системами 1С предлагает формат EnterpriseData — открытый XML-формат, не привязанный к конкретной конфигурации. В типовых решениях есть готовые планы обмена «С синхронизацией данных через универсальный формат»: настраиваете узел, правила отправки, и выгрузка выполняется вручную или по расписанию регламентным заданием.
Признак правильно настроенного обмена: в базе-приёмнике появляются только новые и изменённые объекты, номер принятого сообщения в плане обмена растёт, а в журнале регистрации нет ошибок загрузки.
Сравнение вариантов
Подходит для переноса между идентичными конфигурациями. Ограничение: не работает между разными конфигурациями.
Для переноса между разными конфигурациями. Ограничение: нестандартные реквизиты требуют доработки правил.
Для отчётности, банка, ЭДО. Ограничение: формат фиксирован, изменить структуру нельзя.
Для любых нестандартных форматов и автоматизации. Ограничение: требует навыков программирования на встроенном языке.
Для регулярной синхронизации и интеграций. Ограничение: требует первоначальной настройки узлов обмена.
Проверка результата и типичные ошибки
После выгрузки всегда проверяйте файл до передачи. Минимальный контроль: файл открывается в браузере или редакторе без ошибки парсинга, кодировка корректна (кириллица читается), количество выгруженных объектов совпадает с ожидаемым — например, число элементов справочника можно сверить с итогом в базе.
Для регламентных файлов используйте официальные программы проверки — например, «Тестер» от ФНС для отчётности. Для обменов между базами 1С контролируйте протокол загрузки: в нём видны незагруженные объекты и причины отказов.
Как проверить результат
Структура XML отображается без ошибок парсинга
Ошибка «invalid token» или пустой файл — выгрузка оборвалась
Наименования читаются корректно
Символы вида «РќРѕРјРµРЅРєР» — неверная кодировка
Совпадает с числом записей в базе по отбору
Объектов меньше — проверяйте отборы и права доступа
Все объекты загружены, ошибок нет
Есть отказы — смотрите причину по каждому объекту
Часто задаваемые вопросы
Как выгрузить один конкретный документ в XML, а не всю базу?
Используйте обработку «Выгрузка и загрузка данных XML» с отбором по периоду, охватывающему только нужный документ, либо напишите короткий код с СериализаторXDTO, который записывает конкретную ссылку. В некоторых конфигурациях в форме документа есть команда «Выгрузить» — она формирует файл сразу.
Чем открыть и посмотреть выгруженный XML-файл?
Любой браузер (Chrome, Edge) отобразит структуру файла с подсветкой. Для больших файлов удобнее Notepad++ или Visual Studio Code. Если файл не открывается с ошибкой парсинга — выгрузка, скорее всего, оборвалась, и файл нужно формировать заново.
Почему XML-файл из 1С не загружается в другую базу 1С?
Чаще всего причина в несовпадении конфигураций: файл, созданный обработкой «Выгрузка и загрузка данных XML», загружается только в идентичную структуру метаданных. Для разных конфигураций нужен универсальный обмен с правилами конвертации. Также проверьте версии релизов — сильное расхождение тоже мешает загрузке.
Можно ли настроить автоматическую выгрузку XML по расписанию?
Да. В клиент-серверном режиме создайте регламентное задание, вызывающее вашу процедуру выгрузки, либо настройте план обмена с расписанием синхронизации. В файловой базе регламентные задания работают, только пока запущен сеанс с отдельным фоновым процессом, либо используйте запуск 1С из планировщика Windows с параметром выполнения обработки.
Как выгрузить XML для сайта на 1С-Битрикс?
Используйте типовой модуль обмена с сайтом: в «Управлении торговлей» и «УНФ» это узел обмена «Обмен с сайтом», который формирует файлы в формате CommerceML (XML). Выгрузка запускается вручную или по расписанию, на стороне сайта файлы принимает штатный компонент Битрикса.
Опасно ли выгружать XML из рабочей базы?
Сама выгрузка — операция только на чтение и данных не портит. Риск возникает на этапе загрузки в другую базу и при использовании непроверенных внешних обработок. Перед массовой загрузкой всегда делайте резервную копию приёмника и сначала тестируйте перенос на маленькой выборке.
Что важно запомнить
Способ выгрузки XML из 1С выбирается под задачу: одинаковые конфигурации — «Выгрузка и загрузка данных XML», разные — универсальный обмен с правилами, госорганы и банки — регламентные формы, нестандартные форматы — программная запись. Всегда проверяйте файл после выгрузки и делайте копию базы перед загрузкой данных в приёмник.