При обновлении конфигураций 1С, особенно таких масштабных решений, как 1С:Бухгалтерия, разработчики часто устанавливают жесткие требования к минимальной версии технологической платформы. В ситуации, когда критически важно сохранить текущую версию платформы на сервере и клиентах, чтобы не прерывать работу предприятия, возникает потребность в «обходе» этой проверки. Рассмотрим, как проанализировать и решить эту задачу.
Фирма «1С» внедряет контроль версии платформы не ради ограничения пользователей, а для обеспечения корректной работы функционала. В современных конфигурациях, построенных на БСП (Библиотеке стандартных подсистем), проверка выполняется при старте системы. Она считывает требования из модулей конфигурации или хранилищ настроек. Если текущая версия ниже требуемой, система блокирует вход. В последних релизах 1С стала «прятать» параметры проверки в Хранилище настроек пользователей, что усложняет поиск нужного кода через обычный глобальный поиск.
Для того чтобы принудительно пропустить проверку, нам нужно найти точку в коде, где инициируется завершение работы из-за несоответствия версии. Разберем по шагам процесс поиска:
Отладка с подключением к серверу.Замер производительности или просто пошаговую отладку в момент запуска системы, чтобы отследить, какой модуль вызывает метод завершения работы или вывода предупреждения.Когда вы обнаружите место, где выполняется проверка, не стоит менять код самой конфигурации — это усложнит дальнейшие обновления. Лучшим решением будет использование Расширения конфигурации. Разберем создание такого расширения:
Примерная логика расширения может выглядеть следующим образом:
// Пример логики в расширении для метода проверки версии
&Вместо("ПроверитьВерсиюПлатформы")
Процедура Расш_ПроверитьВерсиюПлатформы()
// Игнорируем стандартную проверку
Возврат;
КонецПроцедуры
Обратите внимание: в последних версиях 1С данные настройки могут храниться в ХранилищеНастроек. В этом случае в расширении можно предусмотреть код, который программно очищает или сбрасывает значения этих настроек при инициализации системы.
Необходимо осознавать, что использование подобных «костылей» — это временная мера. Разберем причины, почему это опасно:
Если вы применили расширение для временного доступа к работе, обязательно запланируйте обновление платформы до требуемой версии (например, до 8.3.22.2239) в ближайшее окно обслуживания. Помните, что лучший путь — это «закопать стюардессу» (отказаться от костылей) и привести инфраструктуру в соответствие с требованиями разработчика, как только работа будет стабилизирована.
Рассмотренный метод поможет вам избежать простоя в экстренной ситуации, однако всегда стремитесь к соблюдению требований Технологической платформы для обеспечения надежности ваших бизнес-процессов.