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

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

Как выгрузить план обмена из 1С

Как выгрузить план обмена из 1С: выгрузка узла, данных и правил обмена через стандартную синхронизацию, конфигуратор и обработку. Ошибки и проверка результата.

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

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

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

Что именно нужно выгрузить: определяем задачу

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

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

Второй сценарий — выгрузка правил обмена, если синхронизация построена на правилах конвертации (Конвертация данных 2.0/3.0). Правила хранятся либо в составе конфигурации, либо во внешнем файле, и их можно сохранить отдельно для переноса или доработки.

Третий сценарий — выгрузка самого объекта метаданных «План обмена» вместе с конфигурацией, например для передачи разработчику или анализа состава. Это делается через конфигуратор.

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

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

Нужно передать данные в другую базу 1СИспользуйте раздел «Синхронизация данных» или обработку «Универсальный обмен данными в формате XML»
Нужно перенести настройки соответствия объектов (правила конвертации)Выгрузите правила обмена из формы настройки синхронизации или из Конвертации данных
Нужен сам объект метаданных или структура плана обменаСохраните конфигурацию в файл через конфигуратор или выгрузите конфигурацию пакетным режимом

Выгрузка данных через стандартную синхронизацию

В типовых конфигурациях (Бухгалтерия предприятия, Управление торговлей, ERP, ЗУП) выгрузка по плану обмена выполняется через механизм синхронизации данных. Порядок действий следующий.

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

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

Признак успешной выгрузки — появление в каталоге файла формата Message_XXX_YYY.xml (где XXX и YYY — коды узлов) и отсутствие ошибок в журнале регистрации по событию «Обмен данными». Также в форме синхронизации отображается дата последней успешной выгрузки.

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

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

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

Откройте обработку, перейдите на закладку «Выгружаемые данные». Укажите файл правил обмена, если обмен идёт по правилам конвертации, либо выберите вариант выгрузки по плану обмена. В поле «Узел обмена» выберите узел, для которого формируется выгрузка — система выгрузит объекты, зарегистрированные в этом узле.

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

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

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

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

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

Выгрузка плана обмена как объекта конфигурации

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

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

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

bash
1cv8 DESIGNER /F "C:\Bases\Trade" /N Администратор /P пароль /DumpConfigToFiles "C:\Export\Config" /Out "C:\Export\log.txt"

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

Начальная выгрузка узла и регистрация изменений

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

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

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

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

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

Файл обмена в каталоге
Норма

XML-файл с актуальной датой и ненулевым размером

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

Файл отсутствует или нулевого размера

Журнал регистрации
Норма

События обмена без ошибок, есть запись об успешной выгрузке

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

Ошибки записи файла, блокировки, отказ в доступе

Регистрация изменений на узле
Норма

После успешной загрузки в приёмник регистрация снята или уменьшилась

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

Количество зарегистрированных объектов не уменьшается цикл за циклом

Загрузка в базу-приёмник
Норма

Объекты появились, номера принятых/отправленных сообщений совпадают

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

Коллизии, предупреждения о неразрешённых ссылках

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

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

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

Третья типичная ситуация — несовпадение версий конфигураций в базах-участницах обмена. Синхронизация через EnterpriseData и правила конвертации чувствительна к структуре метаданных: после обновления одной базы обмен с необновлённой может завершаться ошибками формата.

Типичные ошибки
01
Выгрузка без резервной копии — при ошибочной последующей загрузке данные восстановить неоткуда
02
Ручное удаление файлов сообщений из каталога обмена — нарушается нумерация сообщений, узел приходится перенастраивать
03
Снятие регистрации изменений до подтверждения загрузки — изменения теряются безвозвратно
04
Использование правил от другой версии конфигурации — ошибки конвертации и потеря реквизитов при загрузке
05
Выгрузка в каталог без прав для учётной записи сервера 1С — обмен завершается ошибкой доступа
Итог

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

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

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

Можно ли выгрузить план обмена без конфигуратора?

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

Куда по умолчанию сохраняется файл обмена?

Жёстко заданного пути нет: каталог указывается в настройке транспорта синхронизации. Если используется временный каталог, файл после отправки может удаляться автоматически. Точный путь смотрите в настройках конкретной синхронизации.

Почему файл обмена пустой или небольшого размера?

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

Как выгрузить данные по плану обмена в произвольную базу, а не в настроенный узел?

Используйте обработку «Универсальный обмен данными в формате XML» с правилами конвертации: она позволяет выгрузить произвольный набор объектов независимо от настроенных узлов. Либо создайте отдельный узел плана обмена под эту задачу.

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

Выгрузка в DT — это полная копия информационной базы со всеми данными и настройками. Выгрузка по плану обмена — выборочная передача данных между работающими базами по заданным правилам и отборам. Это разные механизмы для разных целей.

Безопасно ли выполнять выгрузку во время работы пользователей?

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