Администрирование · 11 мин
1С: как работать с планом обмена
Как работать с планом обмена в 1С: создание узлов, регистрация данных, обмен через файлы и каталоги, разрешение коллизий, типичные ошибки и проверка результатов.
План обмена в 1С — это механизм платформы, который определяет, какие данные и между какими базами будут синхронизироваться. С его помощью организуют обмен между центральной и периферийными базами, между конфигурациями «Управление торговлей» и «Бухгалтерия», а также между идентичными базами в филиалах. Понимание принципов работы плана обмена необходимо администратору, чтобы обмен шёл стабильно, без дублей и потери документов.
Каждый план обмена состоит из узлов: одного главного (центрального) и одного или нескольких подчинённых. Данные регистрируются на узлах при изменении объектов, а затем выгружаются в сообщения обмена — файлы XML в типовом формате или пакеты универсального формата EnterpriseData. Подчинённый узел получает сообщение, загружает изменения и отправляет квитанцию о приёме.
Ошибки в настройке плана обмена приводят к характерным проблемам: документы «не доезжают» до второй базы, справочники задваиваются, а при загрузке возникают коллизии, когда один и тот же объект изменён в обеих базах. Большинство таких ситуаций разбирается штатными средствами без привлечения разработчика, если понимать логику работы механизма.
Что такое план обмена и когда он нужен
План обмена — объект метаданных конфигурации, который хранит список узлов обмена и состав данных, участвующих в синхронизации. В состав плана входят типы объектов: справочники, документы, регистры сведений. При записи такого объекта платформа автоматически регистрирует изменение на всех узлах, для которых включена авторегистрация, либо регистрация выполняется по правилам, заданным разработчиком.
Типовые сценарии применения: распределённая информационная база (РИБ) для филиалов без постоянной связи с центром, обмен «Управление торговлей — Бухгалтерия» для передачи документов и справочников, синхронизация с интернет-магазином или мобильным приложением. В типовых конфигурациях уже есть предопределённые планы обмена, например «Полный» или «СинхронизацияДанныхЧерезУниверсальныйФормат».
Важно различать два режима: РИБ работает только между идентичными конфигурациями и передаёт данные «как есть», а обмен через универсальный формат позволяет связывать разные конфигурации, преобразуя объекты по правилам конвертации. Выбор режима определяет всю дальнейшую настройку.
Создание и настройка узлов плана обмена
В типовых конфигурациях настройка начинается в разделе «Администрирование» — «Синхронизация данных». Нужно включить флаг синхронизации, указать префикс текущей информационной базы и создать новую настройку синхронизации, выбрав программу-корреспондента. Префикс важен: он добавляется к номерам документов и кодам справочников, чтобы исключить пересечение нумерации между базами.
При создании настройки мастер предложит способ подключения: через каталог обмена (сетевую или локальную папку), FTP-ресурс, электронную почту или прямое подключение к другой базе через COM/веб-сервис. Для большинства обменов между двумя базами в одной сети достаточно общего каталога, доступного обеим сторонам.
На этапе правил отправки данных задаются ограничения: по каким организациям выгружать документы, с какой даты, выгружать ли аналитику. Чем уже отбор, тем меньше объём сообщений и быстрее обмен, но слишком жёсткий отбор приведёт к неполноте данных в приёмнике — например, документ уйдёт, а контрагент из него нет, если он не прошёл отбор.
Начальная выгрузка и первый запуск
Начальная выгрузка формирует образ базы для подчинённого узла: справочники, остатки и документы за выбранный период. В типовых решениях она запускается кнопкой из настройки синхронизации и может занимать от нескольких минут до нескольких часов в зависимости от объёма данных. Во время выгрузки желательно ограничить активную работу пользователей, чтобы снимок данных был консистентным.
Полученный файл загружается в базу-корреспондент через её раздел синхронизации. После загрузки база-приёмник считается подключённой, и обмен переходит в штатный режим: каждая сторона отправляет только изменения, накопленные с момента последнего сеанса. Проверить успешность подключения можно по номерам сообщений: у корреспондентов должны быть зафиксированы ненулевые номера отправленных и принятых пакетов.
Регистрация изменений и состав сообщений
Платформа ведёт таблицы регистрации изменений для каждого узла. Когда объект записывается, в таблицу попадает ссылка на него. При формировании сообщения обмена платформа выбирает зарегистрированные изменения, выгружает их и после подтверждения приёма удаляет регистрацию. Именно поэтому «застрявшие» изменения — признак того, что квитанция от корреспондента не пришла.
Если нужно принудительно отправить объект, который не изменялся, используют ручную регистрацию: в типовых конфигурациях это команда «Зарегистрировать изменения для обмена» или обработка «Регистрация изменений для обмена данными». Обратная операция — снятие регистрации — помогает убрать из очереди объекты, которые не должны уходить в другую базу.
Запуск обмена: вручную и по расписанию
Ручной запуск выполняется кнопкой «Выполнить обмен данными» или «Синхронизировать» в настройке обмена. Это удобно для разовых операций и диагностики: журнал регистрации и протокол обмена сразу покажут, что выгружено, что загружено и какие ошибки возникли.
Для регулярной работы настраивается расписание: в типовых конфигурациях сценарий обмена можно привязать к регламентному заданию. В файловом режиме работы расписание выполняется под пользователем, запустившим сеанс, поэтому база должна быть открыта; в клиент-серверном режиме задания выполняются на сервере независимо от сеансов пользователей.
Способы транспорта сообщений
Простейший вариант для баз в одной сети. Ограничение: обеим сторонам нужен постоянный доступ к папке.
Подходит для удалённых филиалов без общей сети. Медленнее и чувствительнее к сбоям канала.
Обмен без промежуточных файлов, быстрее и надёжнее. Требует доступности второй базы и прав на подключение.
Коллизии, дубли и разрешение конфликтов
Коллизия возникает, когда один объект изменён в обеих базах между сеансами обмена. В РИБ платформа разрешает коллизию автоматически: данные главного узла считаются приоритетными, изменения подчинённого отклоняются. В обменах через универсальный формат поведение задаётся правилами конвертации и настройкой «кто главный» для конкретных типов объектов.
Дубли справочников — следствие того, что один и тот же контрагент или номенклатура заведены независимо в обеих базах до начала обмена. Платформа сопоставляет объекты по уникальному идентификатору, а при его отсутствии — по полям поиска (ИНН и КПП для контрагентов, наименование и артикул для номенклатуры). Перед первым обменом стоит пройти этап сопоставления данных, который предлагает мастер настройки, и вручную связать очевидные дубли.
Контроль результата и диагностика проблем
Основные инструменты контроля — журнал регистрации с отбором по событию обмена данными и встроенный монитор синхронизации, где видны даты последних сеансов, количество отправленных и принятых объектов, а также предупреждения. В типовых конфигурациях есть обработка «Результаты обмена данными», показывающая непринятые пакеты и объекты с ошибками загрузки.
Как проверить результат
Номер отправленного сообщения одного узла совпадает с номером принятого у корреспондента
Номера расходятся, сообщения отклоняются или запрашиваются повторно
После обмена регистрация очищается
Изменения копятся — квитанции не доходят
Тестовый документ появился с корректным номером и префиксом
Документа нет либо он создан как дубль существующего
Если обмен внезапно перестал работать, проверяйте по цепочке: доступен ли каталог или сервер транспорта, не изменился ли пароль подключения, не заблокировано ли регламентное задание, нет ли в журнале ошибок формата при загрузке. Чаще всего причина внешняя — недоступность папки обмена или обновление одной из конфигураций, после которого правила конвертации устарели.
Перед обновлением конфигурации, участвующей в обмене, выполните полный цикл синхронизации, чтобы очереди изменений были пустыми. Это резко снижает риск ситуации, когда старые данные не могут загрузиться в обновлённую структуру.
FAQ
Чем РИБ отличается от обмена через универсальный формат?
РИБ работает только между идентичными конфигурациями и переносит объекты без преобразования, поддерживая иерархию главный-подчинённый. Универсальный формат связывает разные конфигурации через правила конвертации и не требует одинаковой структуры баз, но требует актуальных правил обмена.
Документ выгружен, но в базе-приёмнике его нет. Что проверить?
Сначала откройте протокол загрузки в приёмнике: чаще всего объект отклонён из-за незаполненного обязательного реквизита, закрытого периода или не прошёл отбор правил получения данных. Также проверьте, не попал ли документ в список проблем сопоставления.
Можно ли изменить состав плана обмена в рабочей базе?
Да, но для РИБ изменение состава — это изменение конфигурации, которое выполняется на главном узле и затем распространяется на подчинённые вместе с обновлением. Делать это нужно при остановленном обмене и с резервной копией.
Как пересоздать обмен, если база-приёмник потеряна?
Удалите старый узел корреспондента в настройках синхронизации, создайте новую настройку обмена и выполните начальную выгрузку заново. Пытаться «подсунуть» старые номера сообщений новому узлу не следует — это почти гарантированно приведёт к рассинхронизации.
Почему в обеих базах появились дубли контрагентов после первого обмена?
Потому что до настройки обмена контрагенты были заведены независимо и имеют разные уникальные идентификаторы, а поля поиска не совпали в точности. Используйте этап сопоставления данных в мастере настройки и обработку поиска и удаления дублей, затем повторите синхронизацию.
Что важно запомнить
План обмена связывает базы через узлы и номера сообщений. Ключ к стабильной работе — уникальные префиксы, корректная начальная выгрузка, контроль очереди регистрации изменений и резервные копии перед любыми изменениями настройки.