Обновлятор-1с. Всё о проверке минимальной версии платформы, необходимой для обновления конфигурации (v2)
2023-01-17T18:55:29+00:00Введение
Для каждого выпускаемого обновления конфигурации разработчик (фирма "1С" или какой-то другой вендор) обычно рекомендует минимальную версию платформы 1с.
Что будет если не выполнить это требование:
- либо обновление не установится вовсе
- либо при запуске базы появится сообщение о невозможности работы пока не будет обновлена платформа 1с
Информация о необходимой версии платформы обычно указывается в файле ReadMe.txt в папке с обновлением.
Рассмотрим какие возможности в части автоматического контроля соответствия версии платформы и применяемого обновления предлагает обновлятор.
Внимание! Все возможности, что описываются ниже относятся к случаю, когда вы доверили обновлятору автоматический поиск нужного обновления, а не указали его напрямую.
Проверка манифеста обновления
Манифест - это специальный файл с именем "1cv8.mft", который есть в папке каждого обновления.
В нём указывается минимальная редакция платформы (например, '8.3') с которой совместимо данное обновление.
И если используемая версия 1с меньше указанной в манифесте, то обновление не состоится в любом случае, так как иначе это могло бы привести к повреждению базы.
Единственный способ отключить эту проверку - исправить манифест.
Проверка на сайте и/или в файлах readme.txt, ...новое в версии.htm
По умолчанию обновлятор проверяет минимальную версию платформы тремя способами: и на сайте и в файле "readme.txt" и в файле "...новое в версии.htm".
Как работает проверка на сайте
Эта проверка работает при соблюдении следующих условий:
- в настройках обновлятора включена опция "Искать обновления на сайте"
- для данной конфигурации на сайте 1с выкладывается специальный файл "v8upd11.zip" с описанием обновлений
В этом случае обновлятор при поиске обновления на сайте 1с получает минимальную версию платформы из файла "v8upd11.zip".
Подробности
Полученную с сайта минимальную версию платформы обновлятор также записывает в файл "MinAppVersion.txt" в папку с обновлением.
Это на тот случай, если в будущем обновлятор найдёт это обновление локально при выключенной опции "Искать обновления на сайте". В этом случае он будет использовать значение, записанное в файле "MinAppVersion.txt" в папке с обновлением.
Как работает проверка в файлах readme.txt, ...новое в версии.htm
Обновлятор анализирует файлы "ReadMe.txt" и "...новое в версии.htm" в папке с обновлением конфигурации, чтобы узнать минимальную версию платформы.
Нужно понимать, что этот способ проверки не является 100%, ведь файлы "ReadMe.txt" и "...новое в версии.htm" предназначены для человека, а не для программы. Но в абсолютном большинстве случаев удаётся вытащить необходимую информацию из файлов.
Эта проверка приобрела особую значимость с тех пор как фирма "1С" начала выпускать обновления, для которых в файле "v8upd11.zip" (см. способ проверки на сайте) указана по прежнему одна минимальная версия платформы, а в файле "ReadMe.txt" и "...новое в версии.htm" накладываются дополнительные ограничения на версии платформы больше минимальной.
Что это вообще значит, когда указаны сразу несколько платформ в качестве минимальной?
Например, в файле "ReadMe.txt" указано, что текущая версия конфигурации предназначена для использования с версией технологической платформы 1С:Предприятие 8 не ниже 8.3.15.2107, 8.3.16.1814, 8.3.17.1851, 8.3.18.1208.
Это значит:
- можно использовать версию платформы 8.3.15, которая >= 8.3.15.2107
- можно использовать версию платформы 8.3.16, которая >= 8.3.16.1814
- можно использовать версию платформы 8.3.17, которая >= 8.3.17.1851
- можно использовать версию платформы 8.3.18, которая >= 8.3.18.1208
- можно использовать версию платформы >= 8.3.19
Если используемая версия платформы 1с меньше минимальной, то дальнейшее поведение обновлятора будет зависеть от значения опции "При несоответствии минимальной версии платформы" в свойствах базы:
Обновлятор откажется применять обновление. В отчёт также красным цветом будет выведено предупреждение о необходимости в более новой версии 1с, а статус базы в отчёте после этой попытки будет "с ошибками".
Обновлятор применит обновление, но перед этим выдаст предупреждение о необходимости более новой версии 1с в отчёт красным цветом, а статус базы после обновления в отчёте будет "есть предупреждения".
И если у вас настроено оповещение на почту при ошибках, то вы получите уведомление об этом предупреждении.
В дополнение к предыдущему пункту обновлятор пропустит автоматическое выполнение обработчиков обновления, отложив их запуск до того момента, когда база будет открыта пользователем.
Дело в том, что устаревшая версия платформы может выполнить с ошибками код обработчиков для перехода на новую версию конфигурации. Чем больше отставание текущей версии платформы от минимальной для данного обновления, тем выше шанс такой ошибки.
Зайдите в свойства этой базы, закладка "Обновление", раздел "Ограничения" и найдите здесь опцию "Где искать минимальную версию платформы":
Здесь вы можете включить или наоборот исключить поиск минимальной версии в указанных источниках.