В процессе сопровождения информационных баз 1С мы нередко сталкиваемся с ситуацией, когда номер релиза в свойствах конфигурации или константе НомерВерсииКонфигурации не совпадает с тем, что отображается в окне поддержки. Например, в свойствах конфигурации указан релиз 2.0.65.19, а механизм поиска доступных обновлений предлагает применить релизы ветки 2.0.64. Попробуем детально разобраться в причинах этого поведения и последовательно решим проблему выравнивания метаданных.
Выясним причину такого расхождения. В платформе 1С существуют две ключевые структуры: основная конфигурация базы данных и конфигурация поставщика. Когда специалист выполняет стандартное обновление через пункт Конфигурация — Поддержка — Обновить конфигурацию, платформа синхронно обновляет и объекты метаданных, и встроенную конфигурацию поставщика.
Однако если предыдущее обновление было выполнено некорректно — через меню Конфигурация — Сравнить, объединить с конфигурацией из файла, — в основную конфигурацию переносятся объекты нового релиза, включая номер версии в свойствах, но сама конфигурация поставщика при этом остается нетронутой на старом релизе. В результате окно поддержки (Конфигурация — Поддержка — Настройка поддержки) фиксирует старый номер версии, и штатный помощник обновлений ищет файлы обновлений .cfu только относительно этой устаревшей версии поставщика.
Прежде чем приступать к исправлению, определим, в каком реальном состоянии находятся метаданные нашей базы. Для этого выполним следующие действия:
.cf)..cf) релизов, которые находятся между версией поставщика и версией из свойств (в нашем случае от 2.0.64.19 до 2.0.65.19).Также важно проверить, выполнились ли обработчики обновления данных. Если константу НомерВерсииКонфигурации изменили вручную без запуска процедур обновления, данные могут остаться несконвертированными. Проверим запуск процедур через обработку ОбновлениеИнформационнойБазы при старте сеанса в режиме 1С:Предприятие.
Если для выравнивания поддержки у нас в наличии есть только файлы обновлений с расширением .cfu, а полного файла .cfu нужного промежуточного релиза нет, подготовим его самостоятельно:
.cfu вплоть до фактического релиза рабочей базы (2.0.65.19).Рассмотрим основной метод, который позволяет выровнять версию поставщика без риска перезаписать текущие доработки или объекты метаданных базы.
.dt или копия на уровне СУБД)..cf той версии, которая фактически установлена в рабочей базе (в нашем примере — 2.0.65.19).В результате платформа обновит только внутреннюю конфигурацию поставщика, оставив все объекты метаданных рабочей базы без изменений. Версия в окне поддержки станет актуальной.
Обратите внимание: если часть объектов нового релиза ранее переносилась через простое объединение, они могли остаться без признака поддержки. Зайдем в Конфигурация — Поддержка — Настройка поддержки, нажмем кнопку Сравнить, объединить и проверим правила для типовых объектов, выставив для них правило Не редактируется или Редактируется с сохранением поддержки.
Разберем альтернативный вариант, который подходит для типовых конфигураций или конфигураций, в которых все доработки четко зафиксированы.
.cf релиза 2.0.65.19.F7.После выравнивания версий поставщика и рабочей базы штатный механизм обновления снова начнет корректно определять доступные обновления и позволит переходить на следующие релизы конфигурации в обычном режиме.