Как изменить префикс или код узла синхронизируемой базы в 1С:УТ 11.4

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

Синхронизация данных между 1С:Управление торговлей 11.4 (УТ) и 1С:Бухгалтерия предприятия 3.0 (БП) — это стандартный процесс, однако иногда возникают ситуации, когда необходимо изменить префикс базы-корреспондента. Это может потребоваться при переносе данных в новую базу, переименовании префиксов для устранения путаницы или в случаях, когда вместо понятного буквенного кода (например, "БП") система установила длинный уникальный идентификатор (GUID). Разберем подробно, как решить эту задачу, не прибегая к полному удалению и перенастройке обмена.

Понимание структуры хранения префиксов

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

Важно различать два вида префиксов:

  1. Префикс этой информационной базы: хранится в константе ПрефиксИнформационнойБазы и определяет, какие буквы будут добавляться к документам, созданным непосредственно в текущей базе.
  2. Префикс (код) узла корреспондента: определяет, от какой базы приходят данные. Если в УТ настроен обмен с БП, то в плане обмена "Синхронизация данных через универсальный формат" будет узел, код которого должен совпадать с префиксом базы БП.

Метод 1: Изменение кода узла через стандартный интерфейс и регистры

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

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

Проанализируем ситуацию с появлением GUID (длинного номера типа 92f6cbee...) вместо короткого префикса. Это часто происходит при автоматической настройке синхронизации через файл или прямое подключение. Система генерирует уникальный ключ, чтобы избежать конфликтов. Чтобы вернуть буквенный префикс, нам придется редактировать непосредственно План обмена.

Метод 2: Использование группового изменения реквизитов

Это наиболее эффективный и быстрый способ изменить заблокированные поля. Выполним следующие шаги:

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

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

Метод 3: Работа с регистрами через программный код

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


// Получаем ссылку на нужный узел плана обмена
УзелСсылка = ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.НайтиПоКоду("СТАРЫЙ_КОД");

Если Не УзелСсылка.Пустая() Тогда
    УзелОбъект = УзелСсылка.ПолучитьОбъект();
    // Устанавливаем новый буквенный префикс
    УзелОбъект.Код = "БП";
    // Можно также обновить наименование для удобства отображения
    УзелОбъект.Наименование = "Синхронизация с Бухгалтерией (новый префикс)";
    УзелОбъект.Записать();
    Сообщить("Префикс успешно изменен");
КонецЕсли;

Проблема изменения номеров сообщений

При ручной правке префиксов или кодов узлов часто происходит рассинхронизация номеров сообщений (номера принятых и отправленных пакетов). Если после смены префикса обмен выдает ошибку "Номер сообщения меньше или равен ранее принятому", выполним следующие действия:

Зайдем в настройки синхронизации, выберем Состав отправляемых данных. Там, в параметрах самого узла, можно вручную обнулить или установить нужные номера сообщений — для этой задачи есть обработка регистрации изменений на планах обмена. Также полезно очистить папку обмена от старых файлов (Message_XXX_YYY.xml), так как в их именах зашифрованы старые коды узлов. После смены кода файлы будут называться иначе, и система может "потерять" историю, если не привести имена файлов в соответствие с новыми кодами.

Особенности Enterprise Data (ED)

Выясним причину, почему в УТ 11.4 префиксы иногда живут "своей жизнью". В формате Enterprise Data префикс базы-корреспондента может передаваться внутри самого XML-пакета. При первой синхронизации система считывает префикс из настроек организации или констант удаленной базы. Если вы изменили префикс в БП, но не обновили его в параметрах подключения в УТ, данные могут продолжать приходить со старым префиксом или вызывать ошибки сопоставления объектов.

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

Итоги и рекомендации

Резюмируя вышесказанное, отметим, что перенастройка обмена "с нуля" — это самый безопасный, но трудозатратный метод — в качестве альтернативы подойдёт прямой перенос документов из УТ в БП. Если же вы решили менять префикс вручную:

Таким образом, мы выяснили, что префикс синхронизируемой базы — это не просто текстовая метка, а ключевой идентификатор Код в плане обмена, управление которым требует системного подхода и синхронности действий в обеих базах.

← На главную