Администрирование · 12 мин
Как работает синхронизация данных в 1С
Разбираем, как работает синхронизация данных в 1С: планы обмена, РИБ, универсальный формат, типовые правила, настройка, типичные ошибки и проверка результатов.
Синхронизация данных в 1С — это автоматизированный обмен информацией между двумя и более информационными базами: например, между «1С:Бухгалтерией» и «1С:Зарплата и управление персоналом», между центральной базой и филиалами, между учётной системой и интернет-магазином. Цель — чтобы одинаковые объекты (контрагенты, номенклатура, документы) существовали в обеих системах и не требовали повторного ввода вручную.
Технически обмен строится на механизме планов обмена: система отслеживает, какие объекты изменились с момента последней выгрузки, формирует сообщение обмена (обычно XML-файл), передаёт его в другую базу и там загружает. Каждое сообщение имеет номер, а база-получатель подтверждает приём — так обеспечивается гарантированная доставка и контроль очерёдности.
Понимание внутреннего устройства обмена важно практически: большинство проблем с синхронизацией (дубли элементов, «зависшие» документы, коллизии) возникают из-за непонимания того, как регистрируются изменения, как сопоставляются объекты и что делать при конфликтах. Ниже разобраны основные механизмы, порядок настройки и способы диагностики.
Основные механизмы обмена: планы обмена, РИБ и универсальный формат
В платформе «1С:Предприятие» существует несколько уровней механизмов обмена. Базовый — планы обмена: специальные объекты конфигурации, которые хранят список узлов (баз-участников обмена) и таблицы регистрации изменений. Когда пользователь записывает документ или элемент справочника, платформа помечает этот объект как изменённый для всех узлов, в состав которых он входит. При выгрузке берутся только зарегистрированные изменения — это существенно экономит время и трафик.
Распределённая информационная база (РИБ) — надстройка над планами обмена, где все узлы имеют одинаковую конфигурацию. РИБ используется для связи центрального офиса с филиалами или магазинами: периферийная база создаётся как образ центральной, далее узлы обмениваются изменениями и данными, и конфигурации. Обновление конфигурации в РИБ возможно только от главного узла к подчинённым — это важное ограничение.
Универсальный формат обмена (EnterpriseData) — стандарт для обмена между разными конфигурациями: например, между «Управлением торговлей» и «Бухгалтерией». Данные сериализуются в XML по единой схеме, а соответствие объектов разных систем задаётся правилами конвертации. Именно этот механизм лежит в основе большинства типовых синхронизаций, которые настраиваются через пункт «Синхронизация данных» в интерфейсе программы.
Как происходит регистрация изменений и передача сообщений
Ключевая идея — регистрация изменений. При записи объекта платформа автоматически добавляет запись в таблицу изменений плана обмена. При выгрузке система читает эти записи, формирует XML-сообщение, присваивает ему порядковый номер и после успешной отправки удаляет регистрацию. Если отправка не состоялась, изменения остаются зарегистрированными и будут выгружены повторно.
База-получатель, загрузив сообщение, отправляет квитанцию — подтверждение с номером принятого пакета. Этот механизм «номер отправленного / номер принятого» позволяет отслеживать потерянные сообщения: если квитанция не пришла, отправитель знает, что пакет нужно передать заново. Поэтому случайный повторный обмен не создаёт дублей документов — загрузка идёт по уникальным идентификаторам.
Транспорт сообщений может быть разным: обмен через общий каталог (файл), прямое подключение к другой базе по COM или через веб-сервис, обмен через FTP или электронную почту в типовых решениях. Выбор транспорта влияет только на способ доставки файла — логика регистрации и сопоставления объектов одинакова.
Сопоставление объектов: как базы понимают, что это один и тот же элемент
При первой загрузке в пустую базу объекты переносятся с сохранением уникальных идентификаторов (GUID) — ссылка в приёмнике совпадает со ссылкой в источнике. Но если базы велись независимо, одинаковые по смыслу элементы имеют разные идентификаторы. Тогда включается механизм сопоставления: система ищет соответствия по ключевым полям — для контрагентов это обычно ИНН и КПП, для номенклатуры — наименование и артикул, для физических лиц — ФИО и дата рождения.
В типовых синхронизациях этап сопоставления выполняется интерактивно: после первой выгрузки пользователь видит таблицу несопоставленных объектов и вручную подтверждает или отклоняет автоматически найденные пары. Пропуск этого этапа — главная причина дублей справочников, которые потом приходится вычищать обработками поиска и замены дублей.
Результаты сопоставления хранятся в регистре сведений «Соответствия объектов информационных баз» (в типовых конфигурациях). Документы сопоставляются по номеру, дате и организации; при совпадении ключей документ в приёмнике перезаписывается данными из источника — поэтому важно заранее определить, какая база является «главной» для каждого вида данных.
Настройка типовой синхронизации: пошаговый порядок
Рассмотрим настройку на примере обмена «Управление торговлей» ↔ «Бухгалтерия предприятия» — самого распространённого сценария. В обеих конфигурациях есть встроенный помощник: «Администрирование» → «Синхронизация данных» → «Настроить синхронизацию данных». Помощник последовательно запрашивает способ подключения, префикс базы, правила выгрузки и дату начала использования обмена.
Префикс информационной базы добавляется к номерам документов, чтобы номера из разных баз не пересекались: документ из торговли получит префикс «УТ», из бухгалтерии — «БП». Это не украшение, а защита от коллизий нумерации. Дата начала использования обмена ограничивает выгрузку: документы раньше этой даты не переносятся, что удобно, когда история уже введена вручную.
- 1Сделайте резервные копии обеих баз перед первой настройкой
- 2В базе-источнике откройте «Администрирование → Синхронизация данных», включите флажок синхронизации и задайте префикс
- 3Создайте новую настройку, выберите вторую программу и способ подключения (файл, прямое подключение, веб-сервис)
- 4Укажите правила отправки и получения: какие данные выгружать, с какой даты, с отборами по организациям
- 5Выполните первую выгрузку, затем в базе-приёмнике выполните сопоставление объектов и загрузку
- 6Проверьте результат: сверьте количество контрагентов, номенклатуры и несколько контрольных документов
- 7Настройте расписание автоматического обмена или запускайте его вручную по мере необходимости
После настройки обмен можно выполнять вручную кнопкой «Выполнить обмен данными» или по расписанию — через регламентное задание в клиент-серверном режиме либо через запуск сеанса 1С по расписанию Windows для файловых баз. Для большинства компаний достаточно обмена 1–2 раза в день; слишком частая синхронизация увеличивает нагрузку без практической выгоды.
Коллизии, приоритеты и контроль результатов
Коллизия возникает, когда один и тот же объект изменён в обеих базах между сеансами обмена. В РИБ конфликт разрешается автоматически: изменения главного узла имеют приоритет, изменения подчинённого отклоняются с записью в журнале. В синхронизациях через универсальный формат поведение зависит от настроек правил — обычно принимается версия из сообщения, а предупреждение фиксируется.
Практическое правило: для каждого вида данных назначьте «базу-хозяина». Например, номенклатуру заводят только в торговле, а банковские документы — только в бухгалтерии. Это соглашение между пользователями, а не техническая настройка, но именно оно предотвращает 90% коллизий.
Как проверить результат обмена
Сообщение отправлено и принято, ошибок загрузки нет
Ошибки конвертации объектов, неотправленные пакеты
Количество контрагентов и номенклатуры соответствует источнику, дублей нет
Дубли элементов, отличающиеся только идентификатором
Документ перенёсся с теми же суммами и проводками
Документ есть, но не проведён, суммы или счета отличаются
Номер отправленного совпадает с номером принятого в другой базе
Расхождение номеров — сообщение потеряно или застряло в транспорте
Альтернативные способы интеграции
Планы обмена — не единственный вариант. Для интеграции с внешними системами (сайт, CRM, WMS) часто используют веб-сервисы (HTTP и SOAP), которые 1С может как публиковать, так и вызывать. Веб-сервисы дают обмен в реальном времени, но требуют разработки и постоянной доступности обеих систем.
Другой вариант — механизм «Конвертация данных» с собственными правилами обмена, когда типовые правила не покрывают доработки конфигурации. Для простых задач (разовая выгрузка прайса, загрузка выписки) достаточно встроенных обработок загрузки/выгрузки в табличный документ или Excel. Выбор зависит от частоты обмена, объёма данных и наличия доработок в конфигурациях.
Сравнение вариантов обмена
Подходит для обмена между типовыми конфигурациями 1С; настраивается без программирования, но ограничена типовыми правилами
Подходит для филиалов с одинаковой конфигурацией; переносит и данные, и изменения конфигурации, но требует идентичности узлов
Подходят для интеграции с сайтами и внешними системами в реальном времени; требуют разработки и стабильного канала
Подходит для нестандартных обменов и доработанных конфигураций; даёт полный контроль, но требует навыков настройки правил
Ограничения и меры предосторожности
Синхронизация не заменяет резервное копирование: узел обмена — это не бэкап, а рабочая база, в которой ошибка загрузки может испортить данные. Перед первой настройкой, изменением правил обмена и обновлением конфигураций обязательно делайте выгрузку информационной базы (dt) или средствами СУБД.
Учитывайте и ограничения по версиям: правила обмена привязаны к релизам конфигураций, поэтому после обновления одной из программ синхронизацию нужно проверить — типовые правила могут потребовать обновления. В файловых базах большой объём изменений (десятки тысяч объектов) выгружается и загружается заметно дольше, чем в клиент-серверном режиме, и блокирует сеанс пользователя, запустившего обмен.
Часто задаваемые вопросы
Почему после обмена появились дубли контрагентов?
Чаще всего потому, что при первой загрузке не выполнено сопоставление объектов: элементы с одинаковым ИНН, но разными идентификаторами система посчитала разными. Проверьте регистр соответствий объектов, выполните сопоставление вручную, а дубли удалите обработкой поиска и удаления дублей с заменой ссылок.
Документ выгружен, но в приёмнике не проводится. Это ошибка?
Не обязательно. Во многих правилах обмена документы переносятся без проведения, если в приёмнике не хватает данных для проведения (например, не заполнены счета учёта или склад). Откройте документ в приёмнике и попробуйте провести вручную — сообщение об ошибке укажет причину.
Как перенести данные только по одной организации, если в базе их несколько?
В настройке синхронизации задайте отбор по организации на вкладке правил отправки данных. Тогда в сообщение попадут только документы и связанные с ними объекты выбранной организации. Учтите, что общие справочники (валюты, единицы измерения) всё равно выгрузятся полностью.
Обмен «завис»: сообщение отправлено, но не принято. Что делать?
Проверьте транспорт: доступность каталога обмена, FTP или веб-сервиса и наличие самого файла сообщения. Затем сверьте номера отправленных и принятых сообщений в настройках узла обеих баз. Если файл на месте, выполните загрузку вручную; если файла нет — повторно выгрузите сообщение из базы-источника.
Можно ли синхронизировать доработанные (нетиповые) конфигурации?
Да, но типовые правила могут не учитывать добавленные реквизиты и документы. В этом случае правила дорабатывают в конфигурации «Конвертация данных» и подключают как внешние. Перед этим стоит оценить объём доработок: иногда проще отказаться от изменения типовых объектов и вернуться к типовым правилам.
Что важно запомнить
Синхронизация в 1С строится на планах обмена: регистрация изменений, нумерованные сообщения, сопоставление объектов по идентификаторам и ключевым полям. Перед настройкой делайте резервные копии, не пропускайте этап сопоставления, назначьте «главную» базу для каждого вида данных и контролируйте результат через протокол обмена и сверку справочников.