При масштабном обновлении конфигурации «1С:Бухгалтерия предприятия 3.0» (БП 3.0) с устаревших релизов пользователи часто сталкиваются с неприятной ситуацией: после завершения всех процедур обновления список настроек синхронизации данных оказывается пуст. При этом в сопряженной базе (например, «1С:Управление торговлей») настройки остаются на месте. Давайте подробно разберем, почему это происходит, куда исчезают данные и как восстановить работоспособность обмена, не прибегая к ручной настройке с нуля.
Основная причина «исчезновения» настроек кроется в глобальном изменении архитектуры обменов в экосистеме 1С. В старых релизах БП 3.0 (до версии 3.0.40 и выше) обмен данными строился на технологии «Конвертация данных 2.0». Эта технология подразумевала использование жестких правил обмена (XML-файлов), которые нужно было обновлять при каждом изменении структуры метаданных любой из баз.
В современных релизах фирма «1С» перевела типовые обмены на технологию EnterpriseData (универсальный формат обмена). Рассмотрим основные последствия этого перехода:
ОбменУправлениеТорговлейБухгалтерияПредприятия30) помечаются как устаревшие и снимаются с поддержки. Интерфейс программы переключается на работу с универсальным планом обмена СинхронизацияДанныхЧерезУниверсальныйФормат.Прежде чем паниковать, нам необходимо убедиться, что данные о синхронизации не удалены окончательно, а просто скрыты из стандартного интерфейса. Для этого проанализируем состав планов обмена через технический режим.
Перейдем в меню «Функции для технического специалиста» (ранее «Все функции»). Нам нужно найти раздел «Планы обмена». Проверим наличие узлов в плане обмена, соответствующем вашей версии УТ (например, ОбменУправлениеТорговлей11БухгалтерияПредприятия30). Если узлы с кодами «УТ» и «БП» там присутствуют, значит, информация о сопоставлении объектов и технические параметры подключения сохранены в базе.
Также проверим состояние регистра сведений Общие настройки узлов информационных баз. Если записи в нем есть, значит, инфраструктура обмена жива, и нам нужно лишь «показать» её новому интерфейсу.
Иногда решение бывает тривиальным. Проанализируем настройки программы после обновления. Часто при критических обновлениях сбрасываются функциональные опции. Перейдем в раздел Администрирование — Настройки синхронизации данных. Убедимся, что установлена галочка «Синхронизация данных». Без этой галочки список настроек будет пуст, даже если в планах обмена есть активные узлы.
Если настройки физически есть, но в списке синхронизаций пусто, нам необходимо инициировать процедуру перехода. В БП 3.0 предусмотрен штатный механизм для таких случаев. Разберем алгоритм действий:
Важно: Перед этим шагом обязательно убедитесь, что релиз «1С:Управление торговлей» также обновлен до актуального (не ниже 11.2.3 или 10.3.35, в зависимости от версии), иначе обмен не сможет инициализироваться на стороне УТ.
Если автоматический переход не удался и вам все же приходится создавать настройку заново, критически важно избежать дублирования данных (номенклатуры, контрагентов и т.д.). Для этого проанализируем старую базу (бэкап) и выясним два параметра:
При создании новой синхронизации в обновленной БП 3.0 укажите точно такие же префиксы и коды узлов, какие были в старой базе. Это позволит системе автоматически подцепить данные из регистра сведений Соответствия объектов информационных баз. Этот регистр хранит уникальные идентификаторы (GUID) объектов в обеих базах. Если коды узлов совпадут, новые настройки «увидят» старые связи, и дублирования не произойдет.
Рассмотрим ситуацию, если вы решите написать скрипт для принудительного запуска миграции. За логику перехода отвечает программный интерфейс библиотеки стандартных подсистем (БСП). В коде это выглядит примерно так (упрощенно):
// Пример логики поиска старых настроек
ПланыОбменаМенеджер = ПланыОбмена.ОбменУправлениеТорговлейБухгалтерияПредприятия30;
ВыборкаУзлов = ПланыОбменаМенеджер.Выбрать();
Пока ВыборкаУзлов.Следующий() Цикл
Если ВыборкаУзлов.ЭтоГруппа Тогда Продолжить; КонецЕсли;
// Логика переноса параметров в новый план обмена
// СинхронизацияДанныхЧерезУниверсальныйФормат
КонецЦикла;
Проанализируем также содержание файла ReadMe.txt из дистрибутива обновления. Разработчики 1С указывают, что для успешного обновления настроек версия БП должна быть не ниже 3.0.40. Если вы обновлялись с более раннего релиза (например, 3.0.35) сразу на 3.0.150, то цепочка обработчиков обновления могла прерваться. В таком случае рекомендуется выполнить промежуточное обновление до версии 3.0.40 или 3.0.60, запустить базу в пользовательском режиме, дождаться завершения процедур обновления данных, и только потом двигаться дальше.
Если в старой базе использовались модифицированные правила обмена (КД 2.0), то после перехода на EnterpriseData они перестанут работать. Выясним причину: формат EnterpriseData не использует внешние файлы правил в том виде, к которому мы привыкли. Вся логика теперь жестко прописана внутри конфигурации в виде XDTO-пакетов.
Для восстановления кастомной логики вам придется:
Подведем итог. Чтобы восстановить пропавшие настройки синхронизации, выполним следующие действия:
Помните, что при обновлении с очень старых релизов («лохматых») критически важно соблюдать этапность. Переход на EnterpriseData — это одна из самых значимых вех в развитии БП 3.0, и она требует особого внимания со стороны администратора системы.