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

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

Как настроить формат выгрузки в 1С в формате XML

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

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

Под «настройкой формата выгрузки» обычно понимают три разные задачи: выгрузку документов и справочников через типовой обмен, перенос данных между конфигурациями с помощью «Конвертации данных» и настройку произвольной XML-выгрузки под требования внешней системы. Каждая задача решается своим инструментом, и ошибка на этапе выбора инструмента — самая частая причина проблем.

Статья рассчитана на пользователей типовых конфигураций (Бухгалтерия предприятия, Управление торговлей, Зарплата и управление персоналом) и платформу 1С:Предприятие 8.3. Названия пунктов меню могут немного отличаться в зависимости от версии конфигурации, но логика действий сохраняется.

Как определить, какой механизм выгрузки вам нужен

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

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

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

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

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

Типовая выгрузка через план обмена

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

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

После первой синхронизации программа сформирует файл вида Message_XXX_YYY.xml, где XXX и YYY — коды узлов обмена. Этот файл загружается в базу-корреспондент через ту же настройку синхронизации на другой стороне.

Порядок действий
  1. 1
    Откройте «Администрирование» → «Синхронизация данных» и включите флажок синхронизации
  2. 2
    Создайте новую настройку обмена, выберите тип корреспондента
  3. 3
    Укажите префикс базы, период и отбор по организациям
  4. 4
    Настройте каталог обмена или способ передачи файла
  5. 5
    Выполните первый обмен вручную и проверьте сформированный XML-файл
  6. 6
    Настройте расписание регламентного задания для автоматического обмена

Универсальная выгрузка через обработку «Выгрузка и загрузка данных XML»

Обработка «ВыгрузкаЗагрузкаДанныхXML.epf» входит в поставку большинства типовых конфигураций и доступна в разделе «Все функции» → «Обработки» либо скачивается с официальных ресурсов поддержки 1С. Она предназначена для переноса данных между базами с идентичной структурой метаданных.

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

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

Настройка правил через «Конвертацию данных»

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

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

Выгрузка по правилам выполняется обработкой «Универсальный обмен данными в формате XML»: укажите файл правил, файл данных, период и отборы. Обработка прочитает правила и сформирует XML в структуре, которую ожидает база-приёмник.

Выгрузка во внешние системы: CommerceML и произвольный формат

Для обмена с сайтами и торговыми площадками в 1С используется формат CommerceML (CML) — отраслевой стандарт описания товаров, цен и заказов на базе XML. В Управлении торговлей и УНФ настройка находится в разделе обмена с сайтами: задаётся состав выгрузки (номенклатура, цены, остатки), каталог на диске или адрес сайта, расписание обмена.

Если внешняя система требует XML по собственной XSD-схеме, типовых инструментов может не хватить. В этом случае проверьте, нет ли готового модуля обмена от разработчика внешней системы — многие банки, операторы ЭДО и маркетплейсы поставляют такие модули. Если модуля нет, задача решается доработкой: обработкой на встроенном языке 1С с использованием объектов ЗаписьXML и пакетов XDTO.

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

Сравнение вариантов

Типовой план обмена

Подходит для регулярного обмена между типовыми конфигурациями; ограничение — состав данных жёстко задан разработчиком

Обработка «Выгрузка и загрузка данных XML»

Быстрый разовый перенос между идентичными конфигурациями; не работает при различиях в структуре метаданных

Конвертация данных

Гибкие правила для разных конфигураций; требует навыков настройки и тестирования правил

Доработка на встроенном языке

Любой произвольный XML под XSD-схему; нужен разработчик и поддержка кода при обновлениях

Проверка результата выгрузки

Сформированный файл стоит проверить до отправки. Откройте XML в браузере или текстовом редакторе: файл должен начинаться с объявления <?xml version="1.0" encoding="UTF-8"?> и содержать ожидаемые блоки данных. Кодировка имеет значение: большинство систем ожидают UTF-8, и файл в ANSI может быть отклонён.

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

Финальная проверка — контрольная загрузка. Загрузите файл в копию базы-приёмника и сверьте количество объектов: сколько документов выгружено, столько должно появиться на стороне приёмника. Расхождения обычно указывают на отборы, которые отсекли часть данных, или на ошибки сопоставления ссылок.

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

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

Файл открывается в браузере или редакторе
Норма

XML отображается как дерево элементов без сообщений об ошибке синтаксиса

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

Браузер показывает ошибку разбора — файл повреждён или обрезан при выгрузке

Кодировка файла
Норма

UTF-8, кириллица читается корректно

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

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

Количество объектов после загрузки
Норма

Совпадает с количеством выгруженных объектов

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

Часть объектов отсутствует — проверяйте отборы и правила

Валидация по XSD-схеме
Норма

Ошибок нет

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

Сообщения о необъявленных элементах — формат не соответствует требованиям приёмника

Типичные ошибки и ограничения

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

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

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

Типичные ошибки
01
Выгрузка без отбора по периоду — файл получается огромным, загрузка занимает часы или прерывается
02
Обмен между разными конфигурациями через обработку для идентичных баз — потеря реквизитов и ошибки загрузки
03
Загрузка файла сразу в рабочую базу без теста на копии — риск дублей и порчи данных
04
Игнорирование кодировки — внешняя система отклоняет файл из-за ANSI вместо UTF-8
05
Устаревшие правила обмена после обновления конфигурации — ошибки сопоставления объектов
Перед настройкой регулярного обмена сделайте одну полную выгрузку вручную и сохраните файл как эталон. Когда автоматический обмен начнёт давать сбои, сравнение проблемного файла с эталонным быстро покажет, в каком блоке данных возникло расхождение.
ПЗ
Практическое замечание

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

Можно ли выгрузить в XML только один документ, а не весь массив данных?

Да. В обработке «Универсальный обмен данными в формате XML» доступен отбор по конкретным объектам, а в плане обмена можно зарегистрировать к выгрузке отдельный документ вручную через функцию «Регистрация изменений для обмена». Также многие документы имеют кнопку «Выгрузить» для отдельных форматов, например для ЭДО.

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

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

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

Обычная причина — поиск объектов при загрузке выполняется по наименованию или по ИНН, которые в базах записаны по-разному (лишние пробелы, кавычки, сокращения). В правилах обмена нужно настроить поиск по уникальному идентификатору либо по комбинации полей ИНН + КПП и перед загрузкой привести наименования к единому виду.

Нужна ли «Конвертация данных», если обе базы — Бухгалтерия 3.0?

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

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

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

Файл выгрузился, но внешняя система его не принимает. С чего начать?

Проверьте три вещи: кодировку файла (должна быть UTF-8), соответствие структуры XSD-схеме приёмника (валидация в XML-редакторе) и версию формата — системы периодически обновляют требования, и модуль обмена в 1С может формировать устаревшую версию. Текст ошибки приёмника обычно указывает конкретный элемент, с которым проблема.

Итог

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

Выбор механизма выгрузки XML зависит от приёмника: типовой обмен — для одинаковых конфигураций, конвертация данных — для разных, доработка — для произвольных форматов. Всегда проверяйте файл на тестовой копии, контролируйте кодировку UTF-8 и обновляйте правила обмена вместе с конфигурацией.