Универсальный обмен данными в формате XML: как настроить выгрузку и загрузку
Содержание
Обработку «Универсальный обмен данными в формате XML» часто путают с синхронизацией баз. Это не одно и то же: универсальный обмен — разовый или регламентный перенос данных по правилам конвертации, а не постоянная двусторонняя синхронизация «из коробки».
Инструмент читает пару файлов правил и по ним выгружает объекты из одной базы 1С в XML, а затем загружает этот XML в другую. Ниже — как обработка устроена, где взять правила, как настроить отборы и что делать, когда обмен падает с ошибкой.
Что такое обработка «Универсальный обмен в формате XML»
Это внешняя обработка (файл с расширением .epf), которую запускают вручную через Файл → Открыть. Она не привязана к конкретной конфигурации и работает с любой базой на платформе 8.3.
Логика простая:
- 📤 Выгрузка — обработка берёт данные из базы-источника и по правилам пишет их в XML-файл.
- 📥 Загрузка — тот же файл открывают в базе-приёмнике, и обработка создаёт/обновляет объекты по тем же правилам.
Правила конвертации — это сердце механизма. Без них обработка не знает, какой документ во что превращать и какие поля куда класть.
Есть две родственные обработки с похожими именами. Классическая — УниверсальныйОбменДаннымиXML (формат КД 2.0). Более новая — обмен через «универсальный формат» EnterpriseData (планы обмена, КД 3.0). Для разовых переносов справочников и документов обычно берут именно классическую КД 2.0.
Готовые правила конвертации в 1С КД 2.0
Правила не пишут с нуля — их готовят в конфигурации «Конвертация данных 2.0» (КД 2.0) и выгружают в XML-файл правил.
Где брать правила:
- 📦 Типовые — идут в комплекте для популярных пар конфигураций (например, УТ → БП). Их публикуют в составе обновлений и на партнёрских ресурсах.
- 🛠 Самописные — создаёте в КД 2.0 под свою пару баз, если типовых нет.
- 🔁 Доработанные типовые — берёте готовые и правите под изменённую конфигурацию.
Файл правил бывает двух видов, и их легко перепутать:
| Файл | Что содержит | Куда грузить |
|---|---|---|
| Правила обмена (ПКО/ПКС) | Сами правила конвертации объектов и свойств | В обработку, вкладка «Выгрузка данных» |
| Правила регистрации | Что и когда попадает в план обмена | Только для планов обмена, не для разового переноса |
Для разовой выгрузки нужен первый файл — правила обмена.
Стандартные и самописные правила обмена данными XML
Стандартные правила закрывают типовые сценарии, но ломаются, как только в одной из баз появляется нетиповой реквизит или изменённый состав документа.
Тогда правила открывают в КД 2.0, добавляют недостающие сопоставления полей и выгружают заново. Прямо в XML-файле правил руками ничего не правят — только через конфигурацию-конструктор.
Как поля источника ложатся в поля приёмника:
Интерфейс обработки и режимы клиент/сервер
Окно обработки поделено на две вкладки — «Выгрузка данных» и «Загрузка данных». На каждой сверху указывают файл правил и файл данных, ниже — дерево объектов и настройки отбора.
Режим обработки данных влияет на скорость и на права:
- 🖥 Клиент — файл читается и пишется на компьютере пользователя. Медленнее на больших объёмах, но работает без прав администратора кластера.
- 🗄 Сервер — операции идут на сервере 1С. Быстрее, но путь к файлу должен быть доступен серверу (сетевая шара, а не локальный диск клиента).
Частая причина ошибки «Файл не найден» — выбран серверный режим, а путь указан к локальному диску C: клиента. Сервер такого диска не видит.
Настройка отборов: выгрузка данных с фильтрами
Целиком базу выгружают редко. Обычно нужен срез: документы за период, по одной организации, по конкретному складу.
Отбор задают на вкладке «Выгрузка данных» в дереве объектов — у каждого узла есть кнопка настройки отбора по реквизитам и периоду.
Порядок настройки выгрузки:
Проблема отборов в обработке для управляемых форм
В версии обработки под управляемые формы (тонкий клиент) настройка отборов раньше работала иначе, чем в обычном приложении, — часть фильтров по табличным частям не применялась.
Если отбор «не срабатывает» и в XML попадает лишнее — проверьте:
- та ли версия обработки под вашу платформу (обычная/управляемая);
- отбор задан по реквизиту шапки, а не по строке табличной части;
- не конфликтует ли отбор с условием в самих правилах ПКО.
Загрузка данных XML в базу-приёмник
Загрузка проще выгрузки: файл правил не нужен (правила уже «зашиты» в структуру XML при выгрузке), нужен только файл данных.
Порядок:
- Откройте обработку в базе-приёмнике.
- Перейдите на вкладку «Загрузка данных».
- Укажите путь к XML-файлу.
- При больших файлах включите загрузку по частям (транзакциями), чтобы не переполнять память.
- Нажмите «Загрузить данные».
Перед первой загрузкой в рабочую базу обязательно сделайте резервную копию. Откатить массовую загрузку объектов иначе крайне тяжело.
Большой XML (сотни МБ) удобнее разбить на части ещё при выгрузке — по периодам или по видам объектов. Расширенные версии обработки умеют бить выгрузку и загрузку на порции автоматически и слать лог на почту.
Типичные ошибки универсального обмена
Разберём, что чаще всего идёт не так и как чинить.
Что проверить перед стартом обмена
Быстрый чек-лист, который экономит часы на разбор ошибок:
Регламентное задание и автоматизация обмена XML
Разовый обмен запускают руками. Регулярный переносят в фоновое (регламентное) задание.
Варианты автоматизации:
- ⏰ Регламентное задание — вызывает обработку по расписанию (например, ночью). Требует размещения обработки в базе или во внешней обработке, зарегистрированной в разделе «Дополнительные обработки».
- 📨 Отправка логов — расширенные версии обработки шлют результат обмена на почту, чтобы ошибки не оставались незамеченными.
- ✂️ Авторазбивка — крупные выгрузки автоматически делятся на части, чтобы задание укладывалось в окно и не падало по памяти.
Автоматизировать обмен стоит только после того, как он несколько раз прошёл вручную без ошибок. Иначе регламентное задание будет молча плодить некорректные данные каждую ночь.
Когда универсальный обмен НЕ нужен
Не каждую задачу переноса решают этой обработкой. Иногда есть путь проще:
- 🔄 Нужна постоянная двусторонняя связь баз → берите штатную синхронизацию данных (планы обмена, EnterpriseData), а не разовый XML.
- 📋 Нужно перенести один-два документа → быстрее ввести вручную или скопировать.
- 📊 Нужны только данные для анализа → выгрузите в Excel через типовые отчёты.
Универсальный обмен оправдан, когда объектов много, перенос повторяется, и между базами есть готовые или обозримые для доработки правила конвертации.