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