Как исправить несовпадение номера версии конфигурации и версии поставщика при обновлении 1С:Бухгалтерии?

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

В процессе сопровождения информационных баз 1С мы нередко сталкиваемся с ситуацией, когда номер релиза в свойствах конфигурации или константе НомерВерсииКонфигурации не совпадает с тем, что отображается в окне поддержки. Например, в свойствах конфигурации указан релиз 2.0.65.19, а механизм поиска доступных обновлений предлагает применить релизы ветки 2.0.64. Попробуем детально разобраться в причинах этого поведения и последовательно решим проблему выравнивания метаданных.

Анализ проблемы: почему возникает рассинхронизация

Выясним причину такого расхождения. В платформе 1С существуют две ключевые структуры: основная конфигурация базы данных и конфигурация поставщика. Когда специалист выполняет стандартное обновление через пункт Конфигурация — Поддержка — Обновить конфигурацию, платформа синхронно обновляет и объекты метаданных, и встроенную конфигурацию поставщика.

Однако если предыдущее обновление было выполнено некорректно — через меню Конфигурация — Сравнить, объединить с конфигурацией из файла, — в основную конфигурацию переносятся объекты нового релиза, включая номер версии в свойствах, но сама конфигурация поставщика при этом остается нетронутой на старом релизе. В результате окно поддержки (Конфигурация — Поддержка — Настройка поддержки) фиксирует старый номер версии, и штатный помощник обновлений ищет файлы обновлений .cfu только относительно этой устаревшей версии поставщика.

Шаг 1. Определение фактического релиза конфигурации

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

  1. Выгрузим текущую рабочую конфигурацию в отдельный файл через меню Конфигурация — Сохранить конфигурацию в файл (получаем файл .cf).
  2. Откроем эталонные файлы конфигураций (.cf) релизов, которые находятся между версией поставщика и версией из свойств (в нашем случае от 2.0.64.19 до 2.0.65.19).
  3. Выполним поочередное сравнение через пункт меню Конфигурация — Сравнить конфигурации, выбрав выгруженный файл базы и эталонный файл релиза.
  4. Релиз, при сравнении с которым отличия отсутствуют (или содержат только известные пользовательские доработки), и является фактической версией нашей конфигурации.

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

Шаг 2. Подготовка эталонного файла конфигурации (CF)

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

  1. Развернем новую пустую информационную базу из шаблона базовой версии поставщика (например, 2.0.64.19).
  2. Последовательно применим к ней все файлы обновлений .cfu вплоть до фактического релиза рабочей базы (2.0.65.19).
  3. После завершения процесса выгрузим из полученной базы готовый файл через Конфигурация — Сохранить конфигурацию в файл.

Способ 1. Обновление конфигурации поставщика без изменения рабочей конфигурации

Рассмотрим основной метод, который позволяет выровнять версию поставщика без риска перезаписать текущие доработки или объекты метаданных базы.

  1. Обязательно создадим резервную копию информационной базы (выгрузка .dt или копия на уровне СУБД).
  2. Откроем конфигуратор и перейдем в меню Конфигурация — Поддержка — Обновить конфигурацию.
  3. Выберем вариант Выбор файла обновления и укажем путь к полученному полному файлу .cf той версии, которая фактически установлена в рабочей базе (в нашем примере — 2.0.65.19).
  4. На этапе сопоставления конфигураций перед нами откроется окно Сравнение, объединение. Снимем абсолютно все флажки с объектов в дереве метаданных.
  5. Нажмем кнопку Выполнить.

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

Обратите внимание: если часть объектов нового релиза ранее переносилась через простое объединение, они могли остаться без признака поддержки. Зайдем в Конфигурация — Поддержка — Настройка поддержки, нажмем кнопку Сравнить, объединить и проверим правила для типовых объектов, выставив для них правило Не редактируется или Редактируется с сохранением поддержки.

Способ 2. Полная перепостановка конфигурации на поддержку

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

  1. В окне Конфигурация — Поддержка — Настройка поддержки нажмем кнопку Включить возможность изменения.
  2. Нажмем кнопку Снять с поддержки и подтвердим действие. Конфигурация полностью перейдет в статус снятой с поддержки.
  3. Перейдем в главное меню: Конфигурация — Сравнить, объединить с конфигурацией из файла и выберем эталонный файл .cf релиза 2.0.65.19.
  4. Платформа обнаружит в файле конфигурацию поставщика и выдаст диалоговое окно: «Выбранная конфигурация содержит конфигурацию поставщика. Поставить на поддержку?». Ответим утвердительно.
  5. В появившемся окне объединения настроим правила поддержки и объединения объектов, после чего применим изменения клавишей F7.

После выравнивания версий поставщика и рабочей базы штатный механизм обновления снова начнет корректно определять доступные обновления и позволит переходить на следующие релизы конфигурации в обычном режиме.

← На главную