Синхронизация в 1С: от выбора способа обмена до отладки
Содержание
Синхронизация данных в 1С 8.3 настраивается в типовых конфигурациях через раздел Администрирование → Синхронизация данных — отдельный программный код писать не нужно. Выбираете, с какой базой обмениваться, каким способом соединяться (прямое подключение, общий каталог, FTP или через интернет
) и что именно передавать. Дальше программа сама формирует и разбирает сообщения обмена.
Главное решение принимается в начале: какой способ обмена подходит вашей паре баз. От него зависит всё остальное — от прав доступа до расписания. Ниже разберём, как сделать синхронизацию поэтапно: от подготовки и создания узла до автоматического запуска по расписанию и разбора ошибок. Отдельно — чем отличается распределённая информационная база (РИБ) от обычного обмена.
С чего начать: готовим базы и выбираем способ обмена
До первого запуска синхронизации стоит привести обе базы в порядок. Иначе первый же сеанс обмена вытащит наружу все расхождения в данных.
🔹 Обновите релизы. Обмен между типовыми конфигурациями работает через правила, привязанные к версиям. Если релизы сильно разошлись, часть данных не перенесётся. Держите обе базы на близких актуальных релизах.
🔹 Сделайте резервную копию обеих баз. Первый сеанс синхронизации меняет данные в обеих базах, и откатить его штатными средствами нельзя — только восстановлением из копии.
🔹 Назначьте префиксы. У каждой базы должен быть свой префикс в кодах и номерах документов (Администрирование → Настройки программы → Общие настройки, поле префикса). Разные префиксы не дают документам из двух баз получить одинаковые номера.
🔹 Проверьте права. Пользователь, от имени которого идёт обмен, должен иметь профиль с правом на синхронизацию. Для соединения между серверными базами нужны ещё и права на уровне кластера.
Теперь выбор способа соединения. Их в типовом механизме четыре, и выбирают по тому, где стоят базы и есть ли между ними сеть. Коротко по каждому — где он выигрывает и чем неудобен:
| Способ соединения | Когда выбирают | На что смотреть |
|---|---|---|
| Прямое подключение | Обе базы на одном сервере 1С | Самый быстрый; нужны права на вторую базу |
| Общий каталог | Базы в одной сети, есть общая папка | Простой; следите за правами на запись в папку |
| FTP | Нет общей сети, но есть FTP-сервер | Работает через интернет; настройка доступа к FTP |
| Веб-сервис (интернет) | Базы в разных организациях | Нужна публикация базы на веб-сервере |
Если обе базы 1С на одном сервере, начинайте с прямого подключения. Файловые способы (каталог, FTP) оставьте для случаев, когда сетевого доступа между базами нет.
Настройка синхронизации через типовой механизм
Весь процесс идёт в разделе Администрирование → Синхронизация данных. Если пункта нет, сначала включите флажок Синхронизация данных на этой же форме настроек — он открывает подраздел.
Порядок действий единый для БП 3.0, ЗУП 3.1, УТ 11 и Комплексной автоматизации:
- Откройте
Администрирование → Синхронизация данныхи перейдите по ссылке Настройки синхронизации данных. - Нажмите Новая синхронизация данных и выберите из списка программу-партнёра — например, «Бухгалтерия предприятия, редакция 3.0» или «Зарплата и управление персоналом, редакция 3».
- Укажите настройку обмена — типовой сценарий (кто кому и что передаёт). Для пары ЗУП → БП это выгрузка отражения зарплаты в учёте.
- Выберите способ соединения из тех, что разобрали выше, и введите параметры: адрес базы, путь к каталогу, адрес веб-сервиса или данные FTP.
- Задайте отборы: по какой организации, складу, периоду начала выгрузки. Это ограничивает объём и исключает лишние данные.
После этого программа предложит проверить подключение. Если проверка проходит — соединение настроено верно, можно переходить к сопоставлению.
На шаге сопоставления 1С сравнивает справочники двух баз (организации, контрагенты, номенклатуру) и предлагает связать одинаковые элементы. Внимательно проверьте сопоставление организаций и основных справочников: ошибка здесь приведёт к задвоению данных, которое потом вычищают вручную.
Чем аккуратнее заполнены справочники до обмена, тем меньше ручной работы на этом шаге. Контрагенты сопоставляются по ИНН и КПП, номенклатура — по наименованию и коду. Если в одной базе у контрагента нет ИНН, а в другой есть — программа не свяжет их автоматически и предложит создать дубль.
Пошагово: создаём узел и запускаем первый обмен
Узел обмена — это запись, которая описывает вторую базу: её адрес, настройки отбора и состояние обмена. Создаётся он автоматически на шаге «Новая синхронизация данных», отдельно в Конфигураторе для типовых обменов лезть не нужно.
Первый обмен — самый ответственный. Выполняйте его так:
- На форме настройки синхронизации нажмите Выполнить сопоставление и загрузку (название кнопки может отличаться между релизами — ищите действие с первичной загрузкой данных).
- Дождитесь выгрузки. Программа сформирует сообщение обмена и передаст его выбранным способом.
- Проверьте отчёт о сопоставлении: несопоставленные элементы программа покажет списком. Свяжите их вручную или разрешите создать новые.
- Запустите загрузку во вторую базу. После неё проверьте, что ключевые документы и справочники появились и провелись.
Первый обмен лучше запускать в нерабочее время или на копии: он грузит максимум данных и заметно нагружает базу. Повторные сеансы проходят быстро, потому что передают только изменения.
После успешного первого обмена последующие сеансы идут только по изменённым данным: программа отслеживает, какие объекты менялись с прошлого раза, и передаёт их регистрацию изменений. Это механизм регистрации объектов — его настраивать вручную в типовых конфигурациях не нужно, он работает автоматически по плану обмена.
На состав передаваемых данных влияют отборы, заданные при настройке. Чаще всего ограничивают так:
- по организации — передаём учёт только нужного юрлица, а не всей базы;
- по периоду — данные начиная с даты старта обмена, историю не тянем;
- по складу или подразделению — в обменах торговых конфигураций.
Чем точнее отбор, тем меньше объём сообщения и быстрее сеанс. Слишком широкий отбор на старте — частая причина того, что первый обмен идёт часами и подтягивает лишнее.
Не меняйте настройки отбора после первого обмена без необходимости. Если расширить отбор задним числом, ранее не попавшие данные автоматически не догрузятся — потребуется отдельная повторная выгрузка по периоду.
Расписание и автоматический запуск синхронизации
Ручной запуск обмена подходит для проверки и разовых случаев. В рабочей базе синхронизацию ставят на расписание, чтобы данные ходили без участия человека.
Настройка расписания — на форме синхронизации, ссылка Настроить рядом с параметром автоматической синхронизации (в разных релизах пункт называется близко: «Выполнять автоматически по расписанию»). Там задаются интервал и время:
- для отражения зарплаты в учёте хватает одного-двух раз в день;
- для обмена заказами между УТ и БП ставят интервал каждые 10–30 минут;
- для РИБ с магазинами — по графику работы точек.
Как именно отработает расписание, зависит от типа базы:
| Тип базы | Как работает расписание |
|---|---|
| Клиент-серверная | Регламентное задание выполняется на сервере 1С без открытого сеанса пользователя |
| Файловая | Нужен хотя бы один открытый сеанс либо отдельный запуск обмена по заданию |
В клиент-серверном варианте обмен выполняет регламентное задание. Его состояние видно в Администрирование → Обслуживание → Регламентные и фоновые задания. Если задание отключено или падает — обмен не пойдёт, даже когда сами настройки верны.
Для файловой базы, где никто не держит сеанс постоянно, автоматический обмен настраивают через отдельный запуск 1С по расписанию операционной системы с нужным параметром запуска. Это уже задача администратора, а не настройка внутри конфигурации.
Что делать, когда синхронизация встала
Если данные перестали ходить, не трогайте настройки сразу. Сначала найдите причину — она почти всегда видна в самой программе.
Два главных источника информации:
- Результаты синхронизации данных — на форме
Администрирование → Синхронизация данных. Показывает предупреждения, конфликты и необработанные объекты последнего сеанса. - Журнал регистрации —
Главное меню → Все функции → Журнал регистрации(или черезАдминистрирование). Отфильтруйте события по приложению «Обмен данными», чтобы увидеть, на каком объекте оборвалась выгрузка или загрузка.
Типичные ситуации и их разбор:
Когда причина найдена, сеанс обмена чаще всего достаточно просто повторить вручную с формы синхронизации — программа догрузит то, что не прошло.
Если наладить обмен так и не удаётся, не пересоздавайте настройку синхронизации с нуля — это сбросит состояние обмена и приведёт к повторной выгрузке всех данных. Сначала сверьте версии правил обмена и релизы обеих баз: расхождение версий правил — самая частая скрытая причина. Нетиповые обмены и интеграции с внешними системами разбирают по протоколу обмена и правилам конвертации; здесь уже нужен специалист, знающий конкретную связку баз.
Распределённые базы (РИБ): в чём отличие от обычного обмена
РИБ — это не настройка в разделе синхронизации, а отдельный механизм. Он нужен, когда у вас несколько экземпляров одной и той же конфигурации: центральная база и периферийные (филиалы, магазины, удалённые рабочие места).
Чем РИБ отличается от обмена между разными программами:
- Структура строго иерархическая: один центральный узел и подчинённые периферийные. Периферийные базы между собой напрямую не обмениваются.
- Передаётся не только учётная информация, но и изменения конфигурации. Обновили конфигурацию в центре — при следующем обмене она разойдётся по периферийным узлам автоматически.
- Обмен идёт файлами сообщений в формате
.zip, которые доставляются выбранным транспортом (каталог, FTP, интернет).
Создают РИБ на базе плана обмена с установленным признаком распределённой информационной базы. В типовых конфигурациях для этого есть готовые планы обмена «Полный» и «По организации» — настройка идёт там же, в разделе синхронизации, но с выбором плана обмена РИБ.
В РИБ изменять структуру конфигурации можно только в центральном узле. Правки в периферийной базе при очередном обмене будут перезаписаны центром. Это защищает конфигурацию от рассинхронизации, но его легко забыть.
Главный плюс РИБ — автономность: периферийная база работает без постоянной связи с центром, обмениваясь по графику. Минус — конфигурация во всех узлах должна быть идентичной, поэтому доработки раскатываются централизованно.
Частые вопросы
Можно ли синхронизировать базы разных конфигураций, например УТ и БП?
Что будет, если релизы баз сильно разошлись?
Как перенести старые документы, которые не попали в обмен?
Нужен ли программист для настройки синхронизации?
Администрирование → Синхронизация данных. Программист нужен для нетиповых обменов, доработки правил конвертации или интеграции с внешними системами.