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

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

Как синхронизировать базы 1С: полное руководство

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

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

В типовых конфигурациях на платформе 1С:Предприятие 8.3 уже встроены механизмы обмена: универсальная синхронизация через планы обмена, распределённые информационные базы (РИБ) и форматы EnterpriseData. Для нестандартных связок применяют внешние обработки, COM-соединение, веб-сервисы или готовые коннекторы. Выбор способа зависит от того, синхронизируются ли одинаковые конфигурации, как часто нужен обмен и насколько критична задержка данных.

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

Какие способы синхронизации существуют и как выбрать подходящий

Условно все методы делятся на штатные (встроенные в платформу и типовые конфигурации) и внешние. Штатные — это универсальная синхронизация данных между типовыми конфигурациями и механизм распределённых информационных баз. Внешние — обмен через файлы по правилам «Конвертации данных», COM/OLE-подключение, HTTP- и веб-сервисы, а также сторонние интеграционные продукты.

Критерии выбора простые. Если обе базы — типовые конфигурации одного вендора (например, УТ 11 и БП 3.0), берите встроенную синхронизацию: она поддерживается разработчиком и обновляется вместе с конфигурацией. Если базы идентичны и территориально разнесены (склад, магазин, филиал), логичен РИБ. Если конфигурации самописные или сильно доработанные — потребуется конвертация данных или программный обмен.

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

Встроенная синхронизация данных

Для типовых конфигураций. Настраивается мастером, поддерживает расписание. Ограничение: только предусмотренные разработчиком пары конфигураций и состав данных.

РИБ (распределённая база)

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

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

Для нестандартных связок и доработанных баз. Гибкие правила, но требует навыков разработки и ручной поддержки правил при обновлениях.

Веб-сервисы / HTTP / COM

Для интеграции с сайтами, CRM и сторонними системами. Максимальная гибкость, но всю логику и защиту канала нужно реализовывать самостоятельно.

Подготовка баз перед настройкой обмена

Начинайте с резервных копий обеих баз. Любая первичная синхронизация может массово создать или изменить объекты, и откат без копии будет невозможен. Для файловых баз достаточно копии каталога или выгрузки в .dt через конфигуратор, для клиент-серверных — штатной выгрузки или средств СУБД.

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

Третий шаг — определить дату начала обмена. Документы прошлых периодов обычно не переносят: в приёмнике вводят начальные остатки, а синхронизируют только текущую оперативную работу. Попытка перегнать всю историю резко увеличивает время первичной выгрузки и риск ошибок.

Настройка штатной синхронизации между типовыми конфигурациями

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

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

Ключевой этап — сопоставление данных. Мастер автоматически сопоставляет объекты по наименованию, ИНН, кодам и другим полям, но всегда просматривайте результат вручную: ошибочно сопоставленные контрагенты приведут к тому, что документы разных компаний «склеятся» в одну карточку.

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

Синхронизация идентичных баз через РИБ

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

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

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

Обмен через конвертацию данных и внешние механизмы

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

Для интеграции с внешними системами (сайт, CRM, WMS) чаще применяют веб-сервисы или HTTP-запросы: 1С может как публиковать сервисы, так и вызывать чужие. Это самый гибкий вариант, но он требует разработки, продумывания формата сообщений (обычно JSON или XML), обработки ошибок и защиты канала — аутентификации и шифрования трафика.

bsl
// Пример: отправка данных через HTTP-запрос из 1С
Соединение = Новый HTTPСоединение("api.example.ru", 443, , , , 30, Новый ЗащищенноеСоединениеOpenSSL);
Запрос = Новый HTTPЗапрос("/exchange/documents");
Запрос.Заголовки.Вставить("Content-Type", "application/json");
Запрос.Заголовки.Вставить("Authorization", "Bearer " + Токен);
Запрос.УстановитьТелоИзСтроки(ТелоJSON);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
Если Ответ.КодСостояния <> 200 Тогда
    ЗаписьЖурналаРегистрации("Обмен", УровеньЖурналаРегистрации.Ошибка, , , Ответ.ПолучитьТелоКакСтроку());
КонецЕсли;

Какой бы программный способ вы ни выбрали, закладывайте идемпотентность: повторная отправка того же пакета не должна создавать дубли. Для этого ищите объекты по уникальному идентификатору или внешнему коду перед созданием нового.

Проверка результата и контроль расхождений

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

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

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

Протокол обмена после сеанса синхронизации
Норма

Нет строк с уровнем «Ошибка», предупреждения объяснимы и разобраны

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

Ошибки загрузки объектов, незаполненные обязательные реквизиты

Количество документов за период в обеих базах
Норма

Количество совпадает с учётом настроенных отборов по организациям

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

Документы теряются или появляются дубли с одинаковыми номерами

Обороты по ключевым регистрам (продажи, взаиморасчёты)
Норма

Суммы сходятся в пределах ожидаемых разниц по непереносимым данным

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

Систематические расхождения сумм по отдельным контрагентам или складам

Справочники контрагентов и номенклатуры
Норма

Нет новых дублей, созданных автоматически

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

Появились элементы с одинаковыми наименованиями и разными ссылками

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

Типичные ошибки и как их избежать

Типичные ошибки
01
Запуск обмена без резервной копии — при ошибке сопоставления данные в приёмнике испорчены без возможности быстрого отката.
02
Игнорирование этапа сопоставления — автоматическое сопоставление «склеивает» разных контрагентов или создаёт сотни дублей номенклатуры.
03
Одинаковые префиксы баз — пересечение номеров документов и конфликты при загрузке.
04
Перенос всей истории документов — многочасовая первичная выгрузка и ошибки по закрытым периодам; ограничьте дату начала.
05
Ручное редактирование одних и тех же документов в обеих базах — постоянные коллизии и перезапись чужих изменений.
06
Обновление конфигурации без проверки правил обмена — после обновления обмен начинает падать или переносить данные некорректно.

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

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

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

Обе конфигурации типовые и пара поддерживается вендоромИспользуйте встроенную синхронизацию данных — не разрабатывайте свой обмен
Базы идентичны и находятся в филиалах без постоянной связиНастройте РИБ с обменом файлами через каталог или FTP
Конфигурация доработана, штатный обмен ломается после обновленийПереходите на правила конвертации данных с собственной поддержкой
Нужен обмен с сайтом или внешней системой в реальном времениРеализуйте HTTP/веб-сервисы с журналированием и контролем ошибок
Обмен периодически падает с ошибками после обновленияПроверьте совместимость версий конфигураций и актуальность правил обмена

Ограничения и когда привлекать специалиста

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

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

Итог

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

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

Частые вопросы о синхронизации баз 1С

Можно ли синхронизировать базы 1С в реальном времени?

Штатная синхронизация работает пакетно — по расписанию или вручную, с минимальным практическим интервалом в несколько минут. Режим, близкий к реальному времени, достижим только программными средствами: веб-сервисами, HTTP-вызовами или брокерами сообщений, и требует разработки. Для большинства учётных задач достаточно обмена раз в 15–60 минут.

Что делать, если после синхронизации появились дубли контрагентов?

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

Чем РИБ отличается от обычной синхронизации данных?

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

Нужно ли останавливать работу пользователей во время обмена?

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

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

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

Можно ли настроить синхронизацию между 1С и сайтом без программиста?

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