При активной работе в экосистеме 1С часто возникает необходимость подключить к одной базе 1С:Бухгалтерия предприятия (БП) несколько баз 1С:Зарплата и управление персоналом (ЗУП). Проблемы начинаются тогда, когда вторая база ЗУП была создана путем простого копирования первой. В этом случае при попытке настройки обмена через EnterpriseData система выдает ошибку, сообщая, что такая синхронизация уже существует или дублируется.
Рассмотрим детально, почему это происходит и как корректно «развязать» эти базы, чтобы настроить стабильный обмен данными.
Когда мы создаем копию информационной базы (через выгрузку .dt или копирование файла 1Cv8.1CD), новая база наследует все внутренние идентификаторы оригинала. Для механизмов синхронизации ключевыми являются следующие параметры:
СинхронизацияДанныхЧерезУниверсальныйФормат) есть элемент, представляющий текущую базу. Его реквизит Код (префикс) часто остается идентичным в копии.ИдентификаторИнформационнойБазы, которые используются при формировании заголовков пакетов обмена.Даже если вы измените название организации или префикс в настройках программы, внутренний код узла в плане обмена может остаться прежним. Именно поэтому стандартные средства настройки выдают предупреждение о дублировании.
Проанализируем ситуацию в базе ЗУП, которая является копией. Прежде всего, необходимо убедиться, что система понимает, что она больше не является «той самой» первой базой. При первом запуске копии 1С обычно спрашивает: «Информационная база перемещена или это копия?». Нужно всегда выбирать вариант «Это копия». Это активирует механизмы защиты и блокирует выполнение регламентных заданий, чтобы они не пересекались с основной базой.
Если этот этап был пропущен, проверим состояние блокировок. Разберем, как сбросить настройки, которые могут мешать обмену:
Как показывает практика, простого изменения префикса в интерфейсе недостаточно. Нам нужно изменить значение реквизита Код у предопределенного узла плана обмена. Рассмотрим пошаговый алгоритм решения, который помог автору темы:
Все функции или Функции для технического специалиста в разделе Стандартные).Синхронизация данных через универсальный формат.ЭтотУзел равен Да (Истина).Код.После этой манипуляции 1С:Бухгалтерия при попытке настройки синхронизации увидит другой идентификатор узла и позволит создать новую настройку без ошибок о дублировании.
В некоторых случаях, если изменение кода узла не помогло, требуется радикальное обновление идентификатора самой информационной базы. Это заставит систему полностью «забыть» о родстве с оригиналом. Выполним это с помощью небольшого фрагмента кода в консоли кода или внешней обработке:
// Программный код для обновления GUID информационной базы
Метод = ИнформационнаяБазаВыделить();
Сообщить("Базе присвоен новый уникальный идентификатор.");
Важно: Этот метод следует использовать с осторожностью, так как он может повлиять на другие связанные сервисы (например, 1С-ЭДО или 1С-Отчетность), которые «привязаны» к старому идентификатору.
Проанализируем ситуацию, если обмен все еще работает некорректно. В базе-копии могли остаться «хвосты» от старой синхронизации. Выясним, как их вычистить:
Регистрация изменений для обмена, чтобы убедиться, что для старых узлов не осталось данных в очереди на отправку.Разберем важный нюанс работы формата EnterpriseData. При обмене данными через файлы (если не используется прямое подключение) префикс базы используется в названии файлов обмена (например, Message_ЗП_БП.xml). Если вы не измените префикс (код узла) во второй базе ЗУП, файлы от двух разных баз будут называться одинаково. Это приведет к тому, что вторая база будет перезаписывать данные первой в каталоге обмена, и в Бухгалтерию будут попадать некорректные пакеты данных.
Именно поэтому использование уникальных префиксов для каждой базы ЗУП является обязательным условием при работе с одной базой БП.
Резюме: Если вы столкнулись с ошибкой «дублирование синхронизации», не пытайтесь решить ее только переименованием организации. Основной инструмент — это изменение Кода элемента в Плане обмена, где признак ЭтотУзел установлен в значение Истина. Использование обработки Групповое изменение реквизитов является самым быстрым и эффективным способом решения этой задачи без привлечения сложного программирования.