При настройке или повторном создании синхронизации данных между конфигурациями 1С:Зарплата и управление персоналом 3.1 и 1С:Бухгалтерия предприятия 3.0 нередко возникает блокирующая ошибка: «Значение префикса первой информационной базы не уникально» (или аналогичное сообщение относительно базы-корреспондента). В результате мастер настройки прерывает работу, и обмен данными становится невозможным.
Разберем детально, почему возникает данный сбой, как устроены механизмы планов обмена в типовых конфигурациях и какими способами можно быстро восстановить штатную работу синхронизации.
Проанализируем техническую суть проблемы. Механизм обмена данными на базе Библиотеки стандартных подсистем (БСП) использует специальный объект метаданных — ПланОбмена (в нашем случае это ПланОбмена.ОбменЗарплата3Бухгалтерия3). Каждый узел этого плана обмена идентифицируется уникальным кодом, в качестве которого выступает префикс информационной базы. Если в базе уже зарегистрирован узел с определенным префиксом, система не позволит создать еще одну настройку с тем же кодом узла, предотвращая коллизии при регистрации изменений.
Выделим ключевые причины возникновения ошибки:
Неполное или некорректное удаление предыдущей настройки: настройку синхронизации удалили через стандартный пользовательский интерфейс, но узел в плане обмена остался в базе данных (был лишь помечен на удаление или завис из-за сбоя).
Схема обмена «Несколько ЗУП к одной Бухгалтерии» (1:N): в единой бухгалтерской базе ведется учет нескольких юридических лиц, а расчет зарплаты осуществляется в разных базах ЗУП. Если во второй базе ЗУП оставлен префикс по умолчанию (например, ЗК или 00), при попытке подключить ее к БП возникает конфликт уникальности кодов узлов.
Разворачивание базы из резервной копии: если рабочая база копировалась для тестирования или переноса, в ней сохраняются старые служебные узлы синхронизации со старыми идентификаторами.
Способ 1. Очистка плана обмена через навигационную ссылку
Рассмотрим наиболее быстрый способ решения, когда требуется удалить зависший узел обмена без использования конфигуратора.
Разберем по шагам последовательность действий:
Откроем программу 1С:Бухгалтерия предприятия (или 1С:ЗУП, в зависимости от того, в какой базе произошел сбой).
В правом верхнем углу главного окна программы нажмем кнопку «Получить ссылку / Перейти по ссылке» (пиктограмма звеньев цепи) либо воспользуемся комбинацией горячих клавиш Shift + F11.
В появившемся диалоговом окне ввода ссылки вставим команду перехода к списку узлов:
e1cib/list/ПланОбмена.ОбменЗарплата3Бухгалтерия3 и нажмем «Перейти».
В открывшейся форме списка узлов плана обмена внимательно проанализируем имеющиеся элементы:
— Предопределенный узел (помечен специальной иконкой/меткой — обычно это узел текущей базы) удалять категорически нельзя.
— Все остальные узлы, относящиеся к неработающим, старым или сбившимся настройкам синхронизации, необходимо выделить и пометить на удаление клавишей Delete.
Перейдем в раздел «Администрирование» — «Обслуживание» — «Удаление помеченных объектов» и выполним полное физическое удаление помеченных узлов из базы.
Повторим аналогичную проверку во второй информационной базе (1С:ЗУП), чтобы исключить наличие зависших узлов с противоположной стороны.
Заново запустим мастер настройки синхронизации данных через «Администрирование» — «Синхронизация данных».
Способ 2. Удаление узлов через «Функции для технического специалиста»
Если прямой переход по навигационной ссылке заблокирован правами доступа или настройками интерфейса, воспользуемся стандартным меню функций для технического специалиста.
Выполним следующие шаги:
Включим режим отображения функций: перейдем в Главное меню — Настройки — Параметры и установим флаг «Режим технического специалиста» (в более ранних версиях платформы — «Все функции»). Нажмем «ОК».
Откроем Главное меню — Функции для технического специалиста.
В дереве объектов раскроем ветку «Планы обмена».
Найдем в списке объект Синхронизация данных через универсальный формат или Обмен Зарплата и управление персоналом, ред. 3 и Бухгалтерия предприятия, ред. 3.
Откроем список элементов и пометим на удаление лишние дублирующие узлы, после чего удалим их через стандартную процедуру удаления помеченных объектов.
Способ 3. Корректная смена префикса информационной базы
Проанализируем ситуацию, когда к одной базе 1С:Бухгалтерия подключаются две или более баз 1С:ЗУП. В этом случае удаление узла не решит задачу, так как обе зарплатные базы должны параллельно обмениваться данными с бухгалтерией.
Разберем правильный порядок настройки префиксов:
Откроем первую базу 1С:ЗУП, перейдем в раздел «Администрирование» — «Синхронизация данных» и зададим уникальный префикс, например, З1.
Откроем вторую базу 1С:ЗУП и в том же разделе укажем другой уникальный префикс, например, З2.
В базе 1С:Бухгалтерия убедимся, что задан собственный префикс (например, БП).
Настроим синхронизацию последовательно: сначала между ЗУП 1 и БП, затем между ЗУП 2 и БП. При таком подходе в плане обмена ПланОбмена.ОбменЗарплата3Бухгалтерия3 будут созданы два независимых узла с кодами З1 и З2, и конфликт уникальности не возникнет.
Посмотрим на программный способ проверки уникальности кодов узлов, который можно использовать во внешней обработке для диагностики состояния обменов:
ВыборкаУзлов = ПланыОбмена.ОбменЗарплата3Бухгалтерия3.Выбрать();
Пока ВыборкаУзлов.Следующий() Цикл
Если ВыборкаУзлов.Ссылка = ПланыОбмена.ОбменЗарплата3Бухгалтерия3.ЭтотУзел() Тогда
Сообщить("Текущий узел (эта база): " + ВыборкаУзлов.Наименование + " [Код: " + ВыборкаУзлов.Код + "]");
Иначе
Сообщить("Узел корреспондента: " + ВыборкаУзлов.Наименование + " [Код: " + ВыборкаУзлов.Код + "]"
+ ?(ВыборкаУзлов.ПометкаУдаления, " (ПОМЕЧЕН НА УДАЛЕНИЕ)", ""));
КонецЕсли;
КонецЦикла;
Важные особенности регистрации изменений и смены префиксов
При выполнении описанных операций обратим внимание на два критически важных момента:
Сброс таблицы регистрации изменений: при удалении узла плана обмена безвозвратно удаляется список объектов, зарегистрированных к выгрузке для данного узла. После повторной настройки синхронизации данные за прошлые периоды не будут отправлены автоматически. Потребуется открыть форму «Состав отправляемых данных» и зарегистрировать нужные документы вручную.
Влияние смены префикса на нумерацию: изменение префикса информационной базы затрагивает только вновь создаваемые документы. Номера ранее проведенных документов останутся без изменений, поэтому периодичность и хронология учета не нарушатся.
Таким образом, для устранения ошибки достаточно очистить неиспользуемые узлы соответствующего плана обмена через навигационную ссылку e1cib/list/ПланОбмена.ОбменЗарплата3Бухгалтерия3, выполнить удаление помеченных объектов и заново настроить синхронизацию с уникальными префиксами для каждой информационной базы.