Администрирование · 13 мин
Как синхронизировать базы 1С: полное руководство
Способы синхронизации баз 1С: универсальный обмен, РИБ, сторонние интеграции. Пошаговая настройка, проверка результата, типичные ошибки и ответы на вопросы.
Синхронизация баз 1С — это регулярный обмен данными между двумя и более информационными базами: например, между «Управлением торговлей» и «Бухгалтерией», между центральным офисом и филиалами или между рабочей базой и сайтом. Задача возникает почти в каждой компании, где учёт ведётся не в одной конфигурации, и от качества её решения зависит целостность данных, отсутствие дублей и корректность отчётности.
В типовых конфигурациях на платформе 1С:Предприятие 8.3 уже встроены механизмы обмена: универсальная синхронизация через планы обмена, распределённые информационные базы (РИБ) и форматы EnterpriseData. Для нестандартных связок применяют внешние обработки, COM-соединение, веб-сервисы или готовые коннекторы. Выбор способа зависит от того, синхронизируются ли одинаковые конфигурации, как часто нужен обмен и насколько критична задержка данных.
Прежде чем настраивать обмен, определите три вещи: какие именно данные должны переноситься (справочники, документы, остатки), в каком направлении (односторонняя выгрузка или двусторонний обмен) и какая база считается главной при конфликтах. Без этих решений синхронизация почти гарантированно породит дубли контрагентов, расхождения в остатках и конфликты версий документов.
Какие способы синхронизации существуют и как выбрать подходящий
Условно все методы делятся на штатные (встроенные в платформу и типовые конфигурации) и внешние. Штатные — это универсальная синхронизация данных между типовыми конфигурациями и механизм распределённых информационных баз. Внешние — обмен через файлы по правилам «Конвертации данных», COM/OLE-подключение, HTTP- и веб-сервисы, а также сторонние интеграционные продукты.
Критерии выбора простые. Если обе базы — типовые конфигурации одного вендора (например, УТ 11 и БП 3.0), берите встроенную синхронизацию: она поддерживается разработчиком и обновляется вместе с конфигурацией. Если базы идентичны и территориально разнесены (склад, магазин, филиал), логичен РИБ. Если конфигурации самописные или сильно доработанные — потребуется конвертация данных или программный обмен.
Сравнение вариантов
Для типовых конфигураций. Настраивается мастером, поддерживает расписание. Ограничение: только предусмотренные разработчиком пары конфигураций и состав данных.
Для идентичных конфигураций в филиалах. Переносит все изменения автоматически. Ограничение: конфигурации должны быть полностью одинаковыми, обновлять узлы нужно синхронно.
Для нестандартных связок и доработанных баз. Гибкие правила, но требует навыков разработки и ручной поддержки правил при обновлениях.
Для интеграции с сайтами, CRM и сторонними системами. Максимальная гибкость, но всю логику и защиту канала нужно реализовывать самостоятельно.
Подготовка баз перед настройкой обмена
Начинайте с резервных копий обеих баз. Любая первичная синхронизация может массово создать или изменить объекты, и откат без копии будет невозможен. Для файловых баз достаточно копии каталога или выгрузки в .dt через конфигуратор, для клиент-серверных — штатной выгрузки или средств СУБД.
Затем приведите в порядок справочники: найдите и пометьте на удаление явные дубли контрагентов, номенклатуры и организаций. Синхронизация сопоставляет объекты по уникальным идентификаторам и ключевым полям, поэтому исходные дубли превратятся в дубли в обеих базах. Также проверьте, что префиксы баз заполнены и различны — это защитит от пересечения номеров документов.
Третий шаг — определить дату начала обмена. Документы прошлых периодов обычно не переносят: в приёмнике вводят начальные остатки, а синхронизируют только текущую оперативную работу. Попытка перегнать всю историю резко увеличивает время первичной выгрузки и риск ошибок.
Настройка штатной синхронизации между типовыми конфигурациями
Рассмотрим типовой сценарий на примере связки «Управление торговлей» и «Бухгалтерия предприятия» — для других пар шаги аналогичны. Настройка выполняется один раз, дальше обмен работает по расписанию.
- 1Откройте в базе-источнике: Администрирование → Синхронизация данных → Настройки синхронизации данных, включите флажок «Синхронизация данных» и задайте префикс базы.
- 2Создайте новую настройку, выберите конфигурацию-корреспондента и способ подключения: прямое подключение к базе, через каталог, FTP или файл настроек.
- 3Укажите параметры подключения и проверьте соединение кнопкой «Проверить подключение».
- 4Задайте правила отправки и получения: дату начала, отбор по организациям, режим выгрузки (по расписанию или вручную).
- 5Выполните сопоставление данных: откройте список несопоставленных объектов и подтвердите или скорректируйте автоматическое сопоставление справочников.
- 6Запустите первичную выгрузку, дождитесь завершения и проверьте протокол на ошибки.
- 7Настройте расписание автоматического обмена в настройках сценария синхронизации.
Ключевой этап — сопоставление данных. Мастер автоматически сопоставляет объекты по наименованию, ИНН, кодам и другим полям, но всегда просматривайте результат вручную: ошибочно сопоставленные контрагенты приведут к тому, что документы разных компаний «склеятся» в одну карточку.
После первичного обмена включите регламентное задание или настройте расписание в самой настройке синхронизации. Оптимальная частота зависит от нагрузки: для связки торговля–бухгалтерия обычно достаточно обмена 1–2 раза в день, для складских операций может понадобиться ежечасный обмен.
Синхронизация идентичных баз через РИБ
Распределённая информационная база подходит, когда в филиалах работают копии одной конфигурации. РИБ переносит все изменения данных (и при необходимости конфигурации) между главным и подчинёнными узлами через файлы обмена.
Порядок такой: в главной базе включите план обмена «Полный» или «По организации», создайте подчинённый узел, выполните начальную выгрузку образа базы и разверните его в филиале. Дальше узлы обмениваются сообщениями — через общий каталог, FTP, почту или вручную файлом.
Типовая проблема РИБ — коллизии, когда один и тот же объект изменён в двух узлах между сеансами обмена. По умолчанию побеждает изменение главного узла; это поведение настраивается в плане обмена. Контролируйте непринятые сообщения: если узел долго не обменивался, накопившиеся пакеты могут содержать устаревшие данные.
Обмен через конвертацию данных и внешние механизмы
Когда штатной синхронизации нет — например, одна из конфигураций самописная или сильно переработана, — используют «Конвертацию данных». Механизм строится на правилах: какие объекты источника соответствуют объектам приёмника, как преобразуются реквизиты, как ищутся уже существующие элементы. Правила создаются в конфигурации «Конвертация данных 2.1» или описываются обработчиками для формата EnterpriseData (КД 3.0).
Для интеграции с внешними системами (сайт, CRM, WMS) чаще применяют веб-сервисы или HTTP-запросы: 1С может как публиковать сервисы, так и вызывать чужие. Это самый гибкий вариант, но он требует разработки, продумывания формата сообщений (обычно JSON или XML), обработки ошибок и защиты канала — аутентификации и шифрования трафика.
// Пример: отправка данных через HTTP-запрос из 1С
Соединение = Новый HTTPСоединение("api.example.ru", 443, , , , 30, Новый ЗащищенноеСоединениеOpenSSL);
Запрос = Новый HTTPЗапрос("/exchange/documents");
Запрос.Заголовки.Вставить("Content-Type", "application/json");
Запрос.Заголовки.Вставить("Authorization", "Bearer " + Токен);
Запрос.УстановитьТелоИзСтроки(ТелоJSON);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
Если Ответ.КодСостояния <> 200 Тогда
ЗаписьЖурналаРегистрации("Обмен", УровеньЖурналаРегистрации.Ошибка, , , Ответ.ПолучитьТелоКакСтроку());
КонецЕсли;Какой бы программный способ вы ни выбрали, закладывайте идемпотентность: повторная отправка того же пакета не должна создавать дубли. Для этого ищите объекты по уникальному идентификатору или внешнему коду перед созданием нового.
Проверка результата и контроль расхождений
После первичной синхронизации сверьте ключевые показатели обеих баз: количество документов за период, обороты по счетам или по регистрам продаж и остатков, число элементов основных справочников. Для этого удобно использовать отчёт «Сопоставление данных» в настройке синхронизации или универсальные отчёты по регистрам.
Как проверить результат
Нет строк с уровнем «Ошибка», предупреждения объяснимы и разобраны
Ошибки загрузки объектов, незаполненные обязательные реквизиты
Количество совпадает с учётом настроенных отборов по организациям
Документы теряются или появляются дубли с одинаковыми номерами
Суммы сходятся в пределах ожидаемых разниц по непереносимым данным
Систематические расхождения сумм по отдельным контрагентам или складам
Нет новых дублей, созданных автоматически
Появились элементы с одинаковыми наименованиями и разными ссылками
Регулярно просматривайте журнал регистрации и очередь неотправленных данных. Накапливающиеся «зависшие» объекты — признак того, что обмен частично не работает, даже если сеансы завершаются без явных ошибок.
Типичные ошибки и как их избежать
Отдельно выделим организационную ошибку: отсутствие договорённости о том, какая база главная по каждому виду данных. Правило должно быть простым и записанным: например, «номенклатура заводится только в УТ, банковские документы — только в БП». Без этого двусторонний обмен превращается в источник конфликтов.
Как выбрать действие
Ограничения и когда привлекать специалиста
Самостоятельно безопасно настраивать штатную синхронизацию между типовыми конфигурациями и РИБ по инструкциям вендора — при условии резервных копий и тестирования на копии базы. Порог сложности заметно повышается, если конфигурации доработаны, объёмы данных велики (сотни тысяч документов), требуется фильтрация на уровне отдельных реквизитов или обмен должен работать в режиме, близком к реальному времени.
Признаки того, что нужен специалист по интеграциям: обмен падает с ошибками, которые не удаётся диагностировать по протоколу; данные расходятся, и причина не находится; требуется разработка правил конвертации или веб-сервисов. Ошибки в самописных обменах дороже всего проявляются не сразу, а при закрытии периода — когда расхождения уже трудно распутать.
Что важно запомнить
Для типовых конфигураций используйте встроенную синхронизацию, для идентичных баз в филиалах — РИБ, для нестандартных задач — конвертацию данных или веб-сервисы. Всегда делайте резервные копии, вручную проверяйте сопоставление справочников, задавайте разные префиксы баз и контролируйте протоколы обмена после каждого сеанса.
Частые вопросы о синхронизации баз 1С
Можно ли синхронизировать базы 1С в реальном времени?
Штатная синхронизация работает пакетно — по расписанию или вручную, с минимальным практическим интервалом в несколько минут. Режим, близкий к реальному времени, достижим только программными средствами: веб-сервисами, HTTP-вызовами или брокерами сообщений, и требует разработки. Для большинства учётных задач достаточно обмена раз в 15–60 минут.
Что делать, если после синхронизации появились дубли контрагентов?
Сначала остановите автоматический обмен, чтобы дубли не множились. Затем найдите причину: чаще всего это пропущенный этап сопоставления или поиск по ненадёжному полю (только по наименованию). Сведите дубли штатной обработкой «Поиск и замена дублирующихся элементов», после чего в настройках обмена уточните поля поиска — например, добавьте ИНН и КПП.
Чем РИБ отличается от обычной синхронизации данных?
РИБ переносит все изменения между идентичными базами, включая при необходимости изменения конфигурации, и жёстко связывает узлы иерархией «главный — подчинённый». Синхронизация данных переносит выбранный состав объектов между разными конфигурациями по правилам сопоставления и не требует идентичности баз. РИБ — про филиалы одной системы, синхронизация — про связку разных учётных систем.
Нужно ли останавливать работу пользователей во время обмена?
Для штатной синхронизации по расписанию — нет, обмен выполняется в фоне, хотя при больших пакетах возможны блокировки отдельных объектов. Исключения — первичная выгрузка большого объёма и обновление конфигурации узла РИБ: эти операции лучше выполнять в нерабочее время.
Почему обмен перестал работать после обновления конфигурации?
Типовые причины: изменился формат обмена или состав переносимых данных в новой версии, устарели правила конвертации, версии конфигураций в паре стали несовместимы. План действий: изучить описание обновления на предмет изменений обмена, обновить обе базы пары до совместимых версий, при использовании своих правил — актуализировать их и прогнать тестовый обмен на копии.
Можно ли настроить синхронизацию между 1С и сайтом без программиста?
Частично — да: для популярных CMS и маркетплейсов существуют готовые модули обмена, которые ставятся как расширение или внешняя обработка и настраиваются через интерфейс. Но любая нестандартная логика — особые цены, статусы заказов, резервирование — потребует доработки. Также учтите, что поддержку модуля при обновлениях платформы и конфигурации всё равно придётся кому-то поручить.