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

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

Как работает синхронизация данных в 1С

Разбираем, как работает синхронизация данных в 1С: планы обмена, РИБ, универсальный формат, типовые правила, настройка, типичные ошибки и проверка результатов.

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

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

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

Основные механизмы обмена: планы обмена, РИБ и универсальный формат

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

Распределённая информационная база (РИБ) — надстройка над планами обмена, где все узлы имеют одинаковую конфигурацию. РИБ используется для связи центрального офиса с филиалами или магазинами: периферийная база создаётся как образ центральной, далее узлы обмениваются изменениями и данными, и конфигурации. Обновление конфигурации в РИБ возможно только от главного узла к подчинённым — это важное ограничение.

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

Как происходит регистрация изменений и передача сообщений

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

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

Транспорт сообщений может быть разным: обмен через общий каталог (файл), прямое подключение к другой базе по COM или через веб-сервис, обмен через FTP или электронную почту в типовых решениях. Выбор транспорта влияет только на способ доставки файла — логика регистрации и сопоставления объектов одинакова.

Сопоставление объектов: как базы понимают, что это один и тот же элемент

При первой загрузке в пустую базу объекты переносятся с сохранением уникальных идентификаторов (GUID) — ссылка в приёмнике совпадает со ссылкой в источнике. Но если базы велись независимо, одинаковые по смыслу элементы имеют разные идентификаторы. Тогда включается механизм сопоставления: система ищет соответствия по ключевым полям — для контрагентов это обычно ИНН и КПП, для номенклатуры — наименование и артикул, для физических лиц — ФИО и дата рождения.

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

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

Типичные ошибки
01
Пропуск этапа сопоставления при первой синхронизации — в приёмнике появляются дубли контрагентов и номенклатуры
02
Одновременное редактирование одного документа в обеих базах — возникает коллизия, и результат зависит от приоритета узла
03
Выгрузка всех данных вместо изменений из-за сброса регистрации — обмен занимает часы и перегружает канал
04
Обмен без резервной копии приёмника — ошибочная загрузка перезаписывает рабочие данные без возможности отката

Настройка типовой синхронизации: пошаговый порядок

Рассмотрим настройку на примере обмена «Управление торговлей» ↔ «Бухгалтерия предприятия» — самого распространённого сценария. В обеих конфигурациях есть встроенный помощник: «Администрирование» → «Синхронизация данных» → «Настроить синхронизацию данных». Помощник последовательно запрашивает способ подключения, префикс базы, правила выгрузки и дату начала использования обмена.

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

Порядок настройки синхронизации
  1. 1
    Сделайте резервные копии обеих баз перед первой настройкой
  2. 2
    В базе-источнике откройте «Администрирование → Синхронизация данных», включите флажок синхронизации и задайте префикс
  3. 3
    Создайте новую настройку, выберите вторую программу и способ подключения (файл, прямое подключение, веб-сервис)
  4. 4
    Укажите правила отправки и получения: какие данные выгружать, с какой даты, с отборами по организациям
  5. 5
    Выполните первую выгрузку, затем в базе-приёмнике выполните сопоставление объектов и загрузку
  6. 6
    Проверьте результат: сверьте количество контрагентов, номенклатуры и несколько контрольных документов
  7. 7
    Настройте расписание автоматического обмена или запускайте его вручную по мере необходимости

После настройки обмен можно выполнять вручную кнопкой «Выполнить обмен данными» или по расписанию — через регламентное задание в клиент-серверном режиме либо через запуск сеанса 1С по расписанию Windows для файловых баз. Для большинства компаний достаточно обмена 1–2 раза в день; слишком частая синхронизация увеличивает нагрузку без практической выгоды.

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

Коллизия возникает, когда один и тот же объект изменён в обеих базах между сеансами обмена. В РИБ конфликт разрешается автоматически: изменения главного узла имеют приоритет, изменения подчинённого отклоняются с записью в журнале. В синхронизациях через универсальный формат поведение зависит от настроек правил — обычно принимается версия из сообщения, а предупреждение фиксируется.

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

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

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

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

Сообщение отправлено и принято, ошибок загрузки нет

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

Ошибки конвертации объектов, неотправленные пакеты

Справочники в приёмнике
Норма

Количество контрагентов и номенклатуры соответствует источнику, дублей нет

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

Дубли элементов, отличающиеся только идентификатором

Контрольные документы
Норма

Документ перенёсся с теми же суммами и проводками

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

Документ есть, но не проведён, суммы или счета отличаются

Номера сообщений в настройке узла
Норма

Номер отправленного совпадает с номером принятого в другой базе

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

Расхождение номеров — сообщение потеряно или застряло в транспорте

Альтернативные способы интеграции

Планы обмена — не единственный вариант. Для интеграции с внешними системами (сайт, CRM, WMS) часто используют веб-сервисы (HTTP и SOAP), которые 1С может как публиковать, так и вызывать. Веб-сервисы дают обмен в реальном времени, но требуют разработки и постоянной доступности обеих систем.

Другой вариант — механизм «Конвертация данных» с собственными правилами обмена, когда типовые правила не покрывают доработки конфигурации. Для простых задач (разовая выгрузка прайса, загрузка выписки) достаточно встроенных обработок загрузки/выгрузки в табличный документ или Excel. Выбор зависит от частоты обмена, объёма данных и наличия доработок в конфигурациях.

Сравнение вариантов обмена

Типовая синхронизация (планы обмена)

Подходит для обмена между типовыми конфигурациями 1С; настраивается без программирования, но ограничена типовыми правилами

РИБ

Подходит для филиалов с одинаковой конфигурацией; переносит и данные, и изменения конфигурации, но требует идентичности узлов

Веб-сервисы

Подходят для интеграции с сайтами и внешними системами в реальном времени; требуют разработки и стабильного канала

Конвертация данных

Подходит для нестандартных обменов и доработанных конфигураций; даёт полный контроль, но требует навыков настройки правил

Ограничения и меры предосторожности

Синхронизация не заменяет резервное копирование: узел обмена — это не бэкап, а рабочая база, в которой ошибка загрузки может испортить данные. Перед первой настройкой, изменением правил обмена и обновлением конфигураций обязательно делайте выгрузку информационной базы (dt) или средствами СУБД.

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

Часто задаваемые вопросы

Почему после обмена появились дубли контрагентов?

Чаще всего потому, что при первой загрузке не выполнено сопоставление объектов: элементы с одинаковым ИНН, но разными идентификаторами система посчитала разными. Проверьте регистр соответствий объектов, выполните сопоставление вручную, а дубли удалите обработкой поиска и удаления дублей с заменой ссылок.

Документ выгружен, но в приёмнике не проводится. Это ошибка?

Не обязательно. Во многих правилах обмена документы переносятся без проведения, если в приёмнике не хватает данных для проведения (например, не заполнены счета учёта или склад). Откройте документ в приёмнике и попробуйте провести вручную — сообщение об ошибке укажет причину.

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

В настройке синхронизации задайте отбор по организации на вкладке правил отправки данных. Тогда в сообщение попадут только документы и связанные с ними объекты выбранной организации. Учтите, что общие справочники (валюты, единицы измерения) всё равно выгрузятся полностью.

Обмен «завис»: сообщение отправлено, но не принято. Что делать?

Проверьте транспорт: доступность каталога обмена, FTP или веб-сервиса и наличие самого файла сообщения. Затем сверьте номера отправленных и принятых сообщений в настройках узла обеих баз. Если файл на месте, выполните загрузку вручную; если файла нет — повторно выгрузите сообщение из базы-источника.

Можно ли синхронизировать доработанные (нетиповые) конфигурации?

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

Итог

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

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