Синхронизация данных между 1С:Управление торговлей 11.4 (УТ) и 1С:Бухгалтерия предприятия 3.0 (БП) — это стандартный процесс, однако иногда возникают ситуации, когда необходимо изменить префикс базы-корреспондента. Это может потребоваться при переносе данных в новую базу, переименовании префиксов для устранения путаницы или в случаях, когда вместо понятного буквенного кода (например, "БП") система установила длинный уникальный идентификатор (GUID). Разберем подробно, как решить эту задачу, не прибегая к полному удалению и перенастройке обмена.
Прежде чем приступать к изменениям, проанализируем, как 1С идентифицирует базы в процессе обмена. В современных конфигурациях на базе БСП (Библиотека стандартных подсистем) используются механизмы планов обмена. Каждый узел плана обмена имеет реквизит Код, который и является техническим префиксом. Именно этот код подставляется в номера документов и используется для сопоставления файлов обмена.
Важно различать два вида префиксов:
ПрефиксИнформационнойБазы и определяет, какие буквы будут добавляться к документам, созданным непосредственно в текущей базе.Если в обычном диалоге настройки синхронизации поле префикса недоступно для редактирования, нам необходимо заглянуть "под капот" системы. Рассмотрим последовательность действий:
Воспользуемся поиском по функциям для технического специалиста (ранее "Все функции") и найдем регистр сведений Общие настройки узлов информационных баз. В этом регистре хранятся основные параметры сопоставления. Хотя напрямую поменять буквенный код здесь может быть сложно, этот регистр позволяет увидеть текущее состояние настроек и убедиться, что система правильно интерпретирует идентификаторы.
Проанализируем ситуацию с появлением GUID (длинного номера типа 92f6cbee...) вместо короткого префикса. Это часто происходит при автоматической настройке синхронизации через файл или прямое подключение. Система генерирует уникальный ключ, чтобы избежать конфликтов. Чтобы вернуть буквенный префикс, нам придется редактировать непосредственно План обмена.
Это наиболее эффективный и быстрый способ изменить заблокированные поля. Выполним следующие шаги:
Синхронизация данных через универсальный формат или БухгалтерияПредприятия30.Код является служебным.Код и в колонке "Новое значение" введем нужный префикс (например, "БП").Внимание: После изменения кода узла в УТ необходимо выполнить аналогичную процедуру в базе БП. Там код узла, соответствующий нашей УТ, должен быть изменен на тот префикс, который установлен в УТ. Обмен работает по принципу зеркальности: Код "Этой базы" в УТ должен быть равен коду "Корреспондента" в БП, и наоборот.
Иногда требуется более тонкая настройка, если префикс зашит в кэш обмена или в безопасное хранилище. Рассмотрим пример того, как программно можно обратиться к узлу плана обмена для изменения его идентификаторов. Этот код можно выполнить через внешнюю обработку или консоль кода:
// Получаем ссылку на нужный узел плана обмена
УзелСсылка = ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.НайтиПоКоду("СТАРЫЙ_КОД");
Если Не УзелСсылка.Пустая() Тогда
УзелОбъект = УзелСсылка.ПолучитьОбъект();
// Устанавливаем новый буквенный префикс
УзелОбъект.Код = "БП";
// Можно также обновить наименование для удобства отображения
УзелОбъект.Наименование = "Синхронизация с Бухгалтерией (новый префикс)";
УзелОбъект.Записать();
Сообщить("Префикс успешно изменен");
КонецЕсли;
При ручной правке префиксов или кодов узлов часто происходит рассинхронизация номеров сообщений (номера принятых и отправленных пакетов). Если после смены префикса обмен выдает ошибку "Номер сообщения меньше или равен ранее принятому", выполним следующие действия:
Зайдем в настройки синхронизации, выберем Состав отправляемых данных. Там, в параметрах самого узла, можно вручную обнулить или установить нужные номера сообщений — для этой задачи есть обработка регистрации изменений на планах обмена. Также полезно очистить папку обмена от старых файлов (Message_XXX_YYY.xml), так как в их именах зашифрованы старые коды узлов. После смены кода файлы будут называться иначе, и система может "потерять" историю, если не привести имена файлов в соответствие с новыми кодами.
Выясним причину, почему в УТ 11.4 префиксы иногда живут "своей жизнью". В формате Enterprise Data префикс базы-корреспондента может передаваться внутри самого XML-пакета. При первой синхронизации система считывает префикс из настроек организации или констант удаленной базы. Если вы изменили префикс в БП, но не обновили его в параметрах подключения в УТ, данные могут продолжать приходить со старым префиксом или вызывать ошибки сопоставления объектов.
Проанализируем настройки организации: в некоторых случаях префикс для документов жестко привязан к конкретной организации в справочнике Организации. Проверьте вкладку "Настройки печати" или "Электронный документооборот" в карточке организации — там могут быть переопределения префиксов, которые игнорируют общие настройки плана обмена.
Резюмируя вышесказанное, отметим, что перенастройка обмена "с нуля" — это самый безопасный, но трудозатратный метод — в качестве альтернативы подойдёт прямой перенос документов из УТ в БП. Если же вы решили менять префикс вручную:
Код.Безопасное хранилище данных, если система продолжает "помнить" старые параметры подключения.Таким образом, мы выяснили, что префикс синхронизируемой базы — это не просто текстовая метка, а ключевой идентификатор Код в плане обмена, управление которым требует системного подхода и синхронности действий в обеих базах.