Администрирование · 12 мин
Как настроить формат выгрузки в 1С в формате XML
Разбираем настройку выгрузки XML в 1С: типовые обмены, конвертация данных, планы обмена, проверка файла и типичные ошибки при выгрузке.
Выгрузка данных в формате XML — один из базовых способов обмена информацией между конфигурациями 1С, а также между 1С и внешними системами: банками, сайтами, операторами ЭДО. В большинстве случаев настройка не требует программирования: достаточно правильно выбрать механизм обмена, указать правила выгрузки и проверить результат.
Под «настройкой формата выгрузки» обычно понимают три разные задачи: выгрузку документов и справочников через типовой обмен, перенос данных между конфигурациями с помощью «Конвертации данных» и настройку произвольной XML-выгрузки под требования внешней системы. Каждая задача решается своим инструментом, и ошибка на этапе выбора инструмента — самая частая причина проблем.
Статья рассчитана на пользователей типовых конфигураций (Бухгалтерия предприятия, Управление торговлей, Зарплата и управление персоналом) и платформу 1С:Предприятие 8.3. Названия пунктов меню могут немного отличаться в зависимости от версии конфигурации, но логика действий сохраняется.
Как определить, какой механизм выгрузки вам нужен
Прежде чем что-либо настраивать, ответьте на вопрос: кто будет читать XML-файл? Если это другая информационная база 1С той же конфигурации — подойдёт типовой обмен. Если конфигурация другая (например, выгрузка из Управления торговлей в Бухгалтерию) — нужны правила обмена и конвертация данных. Если файл уходит во внешнюю систему (банк, сайт, маркетплейс) — потребуется формат, заданный этой системой.
Второй важный вопрос — разовая это операция или регулярная. Для разового переноса достаточно обработки «Выгрузка и загрузка данных XML». Для регулярного обмена настраивают план обмена с расписанием, чтобы файлы формировались автоматически.
Как выбрать действие
Типовая выгрузка через план обмена
План обмена — штатный механизм, который отслеживает изменённые объекты и выгружает только их. В типовых конфигурациях настройка находится в разделе «Администрирование» → «Синхронизация данных» (в некоторых версиях — «Настройка синхронизации данных»). Включите флажок «Синхронизация данных», затем создайте новую настройку, выбрав нужный вариант обмена.
При создании настройки укажите префикс базы (он добавляется к номерам документов, чтобы не было конфликтов при обмене), период выгрузки и отбор по организациям. Для файлового обмена программа предложит указать каталог, в который будут складываться XML-файлы, либо выполнить выгрузку вручную через кнопку «Выполнить обмен».
После первой синхронизации программа сформирует файл вида Message_XXX_YYY.xml, где XXX и YYY — коды узлов обмена. Этот файл загружается в базу-корреспондент через ту же настройку синхронизации на другой стороне.
- 1Откройте «Администрирование» → «Синхронизация данных» и включите флажок синхронизации
- 2Создайте новую настройку обмена, выберите тип корреспондента
- 3Укажите префикс базы, период и отбор по организациям
- 4Настройте каталог обмена или способ передачи файла
- 5Выполните первый обмен вручную и проверьте сформированный XML-файл
- 6Настройте расписание регламентного задания для автоматического обмена
Универсальная выгрузка через обработку «Выгрузка и загрузка данных XML»
Обработка «ВыгрузкаЗагрузкаДанныхXML.epf» входит в поставку большинства типовых конфигураций и доступна в разделе «Все функции» → «Обработки» либо скачивается с официальных ресурсов поддержки 1С. Она предназначена для переноса данных между базами с идентичной структурой метаданных.
Порядок работы простой: откройте обработку через «Файл» → «Открыть», на закладке «Выгрузка» укажите имя файла, отметьте флажками объекты метаданных (справочники, документы, регистры), при необходимости задайте отбор по периоду и организации. Нажмите «Выгрузить данные» — программа сформирует XML-файл со всеми выбранными объектами.
Важное ограничение: обработка не преобразует данные. Если структура конфигураций отличается хотя бы в одном реквизите, загрузка может завершиться ошибкой или привести к потере данных. Поэтому для обмена между разными конфигурациями она не подходит.
Настройка правил через «Конвертацию данных»
Конфигурация «Конвертация данных» (редакция 2 или 3) — инструмент для обмена между разными конфигурациями. В ней создаются правила конвертации объектов: какое поле источника в какое поле приёмника записывается, как преобразуются типы, какие объекты выгружать по ссылке, а какие — целиком.
Для популярных пар конфигураций (например, УТ → БП) типовые правила уже включены в поставку и лежат в каталоге шаблонов или подключаются прямо из настройки синхронизации. Если типовые правила не закрывают задачу — например, нужно выгружать дополнительные реквизиты или менять состав полей — правила дорабатывают в «Конвертации данных» и сохраняют в отдельный XML-файл правил.
Выгрузка по правилам выполняется обработкой «Универсальный обмен данными в формате XML»: укажите файл правил, файл данных, период и отборы. Обработка прочитает правила и сформирует XML в структуре, которую ожидает база-приёмник.
Выгрузка во внешние системы: CommerceML и произвольный формат
Для обмена с сайтами и торговыми площадками в 1С используется формат CommerceML (CML) — отраслевой стандарт описания товаров, цен и заказов на базе XML. В Управлении торговлей и УНФ настройка находится в разделе обмена с сайтами: задаётся состав выгрузки (номенклатура, цены, остатки), каталог на диске или адрес сайта, расписание обмена.
Если внешняя система требует XML по собственной XSD-схеме, типовых инструментов может не хватить. В этом случае проверьте, нет ли готового модуля обмена от разработчика внешней системы — многие банки, операторы ЭДО и маркетплейсы поставляют такие модули. Если модуля нет, задача решается доработкой: обработкой на встроенном языке 1С с использованием объектов ЗаписьXML и пакетов XDTO.
Доработку формата лучше поручать специалисту по 1С: ошибка в структуре XML приведёт к тому, что внешняя система отклонит файл, а найти причину без валидации по схеме бывает сложно.
Сравнение вариантов
Подходит для регулярного обмена между типовыми конфигурациями; ограничение — состав данных жёстко задан разработчиком
Быстрый разовый перенос между идентичными конфигурациями; не работает при различиях в структуре метаданных
Гибкие правила для разных конфигураций; требует навыков настройки и тестирования правил
Любой произвольный XML под XSD-схему; нужен разработчик и поддержка кода при обновлениях
Проверка результата выгрузки
Сформированный файл стоит проверить до отправки. Откройте XML в браузере или текстовом редакторе: файл должен начинаться с объявления <?xml version="1.0" encoding="UTF-8"?> и содержать ожидаемые блоки данных. Кодировка имеет значение: большинство систем ожидают UTF-8, и файл в ANSI может быть отклонён.
Для обмена по XSD-схеме выполните валидацию файла — это можно сделать в самой 1С через пакеты XDTO или в любом XML-редакторе с поддержкой схем. Ошибки вида «элемент не объявлен в схеме» означают, что структура выгрузки не совпадает с ожиданиями приёмника.
Финальная проверка — контрольная загрузка. Загрузите файл в копию базы-приёмника и сверьте количество объектов: сколько документов выгружено, столько должно появиться на стороне приёмника. Расхождения обычно указывают на отборы, которые отсекли часть данных, или на ошибки сопоставления ссылок.
Как проверить результат
XML отображается как дерево элементов без сообщений об ошибке синтаксиса
Браузер показывает ошибку разбора — файл повреждён или обрезан при выгрузке
UTF-8, кириллица читается корректно
Кракозябры вместо русских букв — неверная кодировка
Совпадает с количеством выгруженных объектов
Часть объектов отсутствует — проверяйте отборы и правила
Ошибок нет
Сообщения о необъявленных элементах — формат не соответствует требованиям приёмника
Типичные ошибки и ограничения
Чаще всего проблемы возникают из-за рассинхронизации версий: правила обмена рассчитаны на одну версию конфигурации, а база обновлена до другой. После каждого обновления конфигурации проверяйте, не изменились ли типовые правила обмена, и обновляйте их вместе с базой.
Вторая группа ошибок — дубли объектов при загрузке. Они появляются, когда поиск объектов в правилах настроен по наименованию, а не по уникальному идентификатору, либо когда префиксы баз не заданы и номера документов пересекаются. Лечится корректной настройкой полей поиска в правилах конвертации.
Третья типичная ситуация — файл выгрузки растёт до десятков и сотен мегабайт, потому что выгружаются все данные за весь период. Ограничьте выгрузку датой начала и используйте регистрацию изменений в плане обмена, чтобы передавать только новые и изменённые объекты.
Перед настройкой регулярного обмена сделайте одну полную выгрузку вручную и сохраните файл как эталон. Когда автоматический обмен начнёт давать сбои, сравнение проблемного файла с эталонным быстро покажет, в каком блоке данных возникло расхождение.
Частые вопросы
Можно ли выгрузить в XML только один документ, а не весь массив данных?
Да. В обработке «Универсальный обмен данными в формате XML» доступен отбор по конкретным объектам, а в плане обмена можно зарегистрировать к выгрузке отдельный документ вручную через функцию «Регистрация изменений для обмена». Также многие документы имеют кнопку «Выгрузить» для отдельных форматов, например для ЭДО.
Чем отличается выгрузка XML от выгрузки в Excel?
XML — структурированный машиночитаемый формат, предназначенный для обмена между программами: он сохраняет типы данных, ссылки между объектами и иерархию. Excel-файл предназначен для просмотра человеком и не подходит для автоматической загрузки в другую базу 1С без дополнительной обработки.
Почему при загрузке XML появляются дубли контрагентов?
Обычная причина — поиск объектов при загрузке выполняется по наименованию или по ИНН, которые в базах записаны по-разному (лишние пробелы, кавычки, сокращения). В правилах обмена нужно настроить поиск по уникальному идентификатору либо по комбинации полей ИНН + КПП и перед загрузкой привести наименования к единому виду.
Нужна ли «Конвертация данных», если обе базы — Бухгалтерия 3.0?
Нет. Для обмена между одинаковыми конфигурациями достаточно типовой синхронизации данных или обработки «Выгрузка и загрузка данных XML». Конвертация данных нужна, когда структура конфигураций различается и объекты требуется преобразовывать по правилам.
Как настроить автоматическую выгрузку XML по расписанию?
В настройке синхронизации данных включите автоматический обмен и задайте расписание — обмен будет выполняться регламентным заданием. Для файлового режима работы потребуется, чтобы сеанс 1С был запущен, либо настройте выполнение через отдельный фоновый сеанс; в клиент-серверном режиме задание выполняется на сервере без участия пользователя.
Файл выгрузился, но внешняя система его не принимает. С чего начать?
Проверьте три вещи: кодировку файла (должна быть UTF-8), соответствие структуры XSD-схеме приёмника (валидация в XML-редакторе) и версию формата — системы периодически обновляют требования, и модуль обмена в 1С может формировать устаревшую версию. Текст ошибки приёмника обычно указывает конкретный элемент, с которым проблема.
Что важно запомнить
Выбор механизма выгрузки XML зависит от приёмника: типовой обмен — для одинаковых конфигураций, конвертация данных — для разных, доработка — для произвольных форматов. Всегда проверяйте файл на тестовой копии, контролируйте кодировку UTF-8 и обновляйте правила обмена вместе с конфигурацией.