Как настроить синхронизацию между 1С:ЗУП и несколькими базами 1С:Бухгалтерия при возникновении ошибки уникальности префикса?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Выясняем причину ошибки: Код узла против Префикса

Для начала разберем внутреннюю логику системы. В 1С существует два похожих, но функционально разных понятия. Во-первых, это Префикс информационной базы, который задается в настройках параметров учета и добавляется к номерам документов для их идентификации. Во-вторых, это Код узла в плане обмена. Именно код узла используется механизмом синхронизации для определения того, какой базе предназначаются данные.

Проблема заключается в том, что мастер создания синхронизации в современных конфигурациях на базе БСП (Библиотеки стандартных подсистем) по умолчанию пытается сделать код узла равным префиксу базы. Когда мы подключаем вторую или третью базу БП, у которой префикс совпадает с уже существующим в списке обменов (например, «Б»), система блокирует создание новой записи, так как в плане обмена СинхронизацияДанныхЧерезУниверсальныйФормат уже есть узел с таким кодом. Рассмотрим подробнее, как мы можем решить эту коллизию.

Решение №1: Использование «фиктивной» настройки через почту

Это один из самых простых и быстрых способов обмануть проверку уникальности на этапе создания. Рассмотрим алгоритм действий:

  1. Запустим мастер создания синхронизации данных.
  2. На этапе выбора способа подключения выберем вариант «Синхронизация данных через электронную почту» (или другой вариант, не требующий прямого подключения к базе).
  3. Система позволит нам создать запись настройки, так как при таком способе проверки на уникальность узлов в некоторых версиях проходят мягче.
  4. После того как запись обмена будет физически создана в справочнике, мы можем зайти в Параметры синхронизации данных и изменить способ подключения на нужный нам (например, прямое подключение или через файл), а также вручную скорректировать коды узлов.

Этот метод позволяет «проскочить» этап жесткой валидации интерфейса мастера настройки.

Решение №2: Временная смена префиксов информационной базы

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

  1. Попросим всех пользователей выйти из баз ЗУП и БП, чтобы исключить создание документов в момент проведения технических работ.
  2. В новой базе БП временно изменим префикс на уникальный (например, вместо Б установим Б3).
  3. В базе ЗУП также временно сменим префикс (если ошибка указывает на него).
  4. Запустим мастер настройки синхронизации. Теперь система увидит уникальные префиксы и успешно создаст узлы в плане обмена.
  5. После завершения работы мастера и создания настройки обмена вернем префиксы информационных баз в исходное состояние.

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

Решение №3: Ручное создание узлов через функции технического специалиста

Разберем наиболее профессиональный и «чистый» способ решения проблемы, который позволяет избежать манипуляций с префиксами документов. Мы можем создать узлы обмена вручную, минуя интерфейс мастера.

  1. В главном меню перейдем в Функции для технического специалиста (ранее — Все функции).
  2. Найдем раздел Планы обмена и выберем Синхронизация данных через универсальный формат.
  3. Посмотрим на список существующих узлов. Нам нужно создать новый элемент.
  4. В поле Код укажем уникальное значение (например, БП3), а в наименовании — понятное описание базы.
  5. Важно понимать: в поле Этот узел (предопределенный элемент) код должен соответствовать префиксу текущей базы, а в списке созданных узлов — кодам удаленных баз.

После того как узел создан вручную, при запуске стандартного мастера настройки мы сможем выбрать «Использовать существующий узел», и проверка уникальности не будет ругаться на префиксы, так как соответствие уже установлено.

Решение №4: Очистка идентификатора информационной базы

Иногда проблема кроется глубже, чем просто в текстовом префиксе. Современные конфигурации используют уникальные GUID (идентификаторы) баз. Если третья база БП была создана путем копирования второй базы, у них будут идентичные внутренние ID. Проанализируем ситуацию: даже если мы поменяем префиксы, система может «узнавать» старую базу и пытаться обновить существующую настройку вместо создания новой.

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


// Пример очистки идентификатора информационной базы (выполнять в новой базе БП)
Константы.ИдентификаторИнформационнойБазы.Установить(ЗНАЧЕНИЕ(Справочник.ИдентификаторыИнформационныхБаз.ПустаяСсылка));
ПараметрыСеанса.ИнформационнаяБазаВыделена = Ложь;

После выполнения этого кода при первом входе система сгенерирует новый уникальный идентификатор, и для ЗУП эта база станет абсолютно «новой».

Решение №5: Настройка обмена «Снизу вверх»

Посмотрим на ситуацию под другим углом. Если создание обмена из ЗУП блокируется, попробуем инициировать его со стороны новой Бухгалтерии предприятия:

  1. В базе БП заходим в настройки синхронизации и создаем новую настройку.
  2. Выбираем вариант «Через файл без прямого подключения».
  3. На этапе сохранения настроек для второй базы программа сформирует файл XML.
  4. Переходим в ЗУП и выбираем «Загрузить настройки, созданные в другой программе».

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

Рекомендации по дальнейшей эксплуатации

Рассмотрим, на что стоит обратить внимание после того, как обмен успешно настроен:

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

← На главную