Многие пользователи и 1С-специалисты сталкиваются с достаточно неприятной ситуацией: после успешного обновления конфигурации «Бухгалтерия предприятия» до новой версии (например, 3.0.142.56) на, казалось бы, подходящей платформе (например, 8.3.23.1782), система запускается и работает без нареканий. Однако спустя некоторое время, иногда даже на следующий день, 1С неожиданно начинает выдавать сообщение о необходимости обновить платформу до более новой версии (например, 8.3.23.1865). Давайте вместе разберем, почему возникает такая «отложенная» реакция системы и какие пути решения этой проблемы существуют.
Мы выяснили, что основной причиной такого поведения 1С является динамическая проверка версий технологической платформы, выполняемая регламентными заданиями конфигурации. В современных релизах «1С:Предприятия» существует специальное регламентное задание, например, ОбновлениеИнформацииОВерсияхПлатформы (или в старых релизах ПолучениеОбновленийПрограммы), которое периодически, как правило, один-два раза в сутки, обращается к порталу технической поддержки 1С. Цель этого задания — получить актуальную информацию о минимально допустимых и рекомендуемых версиях технологической платформы для текущей версии конфигурации.
Рассмотрим подробнее этот механизм:
ОбновлениеИнформацииОВерсияхПлатформы срабатывает и успешно получает актуальные данные с портала 1С, конфигурация «узнает» о новых, более высоких требованиях к платформе. Если ваша текущая платформа не соответствует этим требованиям, система начинает выдавать соответствующие предупреждения. Это объясняет, почему проблема проявляется не сразу, а с задержкой.Дополнительной проблемой, которая усугубляет ситуацию, является то, что фирма «1С» может изменять требования к платформе даже после выпуска релиза конфигурации. Специалисты отмечают случаи, когда описание требований к версии «1С БП» правилось уже после выпуска конфигурации, с повышением требуемой платформы. Это означает, что даже если вы внимательно прочитали файл Readme.txt или описание релиза на сайте users.1c.ru до обновления, информация могла устареть к моменту фактического запуска регламентного задания.
Более того, в данной конкретной ситуации с релизом 3.0.142.56 была зафиксирована официальная ошибка. Техническая поддержка 1С подтвердила, что существовала ошибка (Код ошибки: 70061277), при которой система ошибочно выдавала предупреждение о несоответствии версии платформы. Эта ошибка была зарегистрирована 21.09.2023 и исправлена в следующем релизе конфигурации «Бухгалтерия предприятия, редакция 3.0», начиная с версии 3.0.143.24.
Такие ситуации создают сложности для 1С-специалистов, особенно для тех, кто работает на выезде. Представьте: вы обновили конфигурацию, убедились, что все работает, уехали от клиента, а через день ему звонят с жалобой на неработающую программу из-за внезапного требования платформы. Это, безусловно, вызывает обоснованное недовольство и вопросы к разработчикам.
Для тех, кому необходимо временно обойти эти динамические проверки и требования к платформе (например, пока администратор не обновит платформу или до выхода исправленного релиза конфигурации), существуют обходные пути с использованием расширений. Мы рассмотрим два основных подхода.
НомерСборкиПоТекущейВерсииПлатформыЭтот метод предполагает создание расширения, которое переопределяет стандартную функцию НомерСборкиПоТекущейВерсииПлатформы таким образом, чтобы она всегда возвращала заведомо подходящую (или старую) версию платформы. Таким образом, даже если конфигурация запросит минимальную версию, она получит ответ, что текущая платформа соответствует требованиям.
Давайте посмотрим на пример кода для такого расширения:
&Вместо("НомерСборкиПоТекущейВерсииПлатформы")
Функция ВП_НомерСборкиПоТекущейВерсииПлатформы(НомераСборокСтрокой)
Возврат "8.3.17.1"; // Или любую другую подходящую старую версию
КонецФункции
В данном примере функция всегда будет возвращать строку "8.3.17.1", обманывая систему относительно фактической версии используемой платформы. Вы можете указать любую другую версию, которая гарантированно "пройдет" проверку, например, ту, на которой ваша система работала стабильно ранее.
Предостережение: Использование этого метода может привести к тому, что конфигурация будет использовать функционал, требующий более новой версии платформы, что потенциально может вызвать ошибки или нестабильную работу в тех частях программы, которые активно используют новые возможности платформы. Этот метод рекомендуется только как временное решение.
Другой подход заключается в блокировании или изменении работы регламентного задания, которое обращается к внешним ресурсам для получения информации о версиях платформы. Это можно сделать, переопределив функцию ИнформацияОВерсияхПлатформы в модуле, отвечающем за получение обновлений.
Вот пример кода для такого расширения:
&Вместо("ИнформацияОВерсияхПлатформы")
Функция ИВЛ_ИнформацияОВерсияхПлатформы()
Результат = Новый Структура;
Результат.Вставить("МинимальнаяВерсияПлатформы" , ""); // Устанавливаем пустую строку
Результат.Вставить("РекомендуемаяВерсияПлатформы", ""); // Устанавливаем пустую строку
Возврат Результат;
КонецФункции
Это расширение перехватывает вызов функции, которая должна была бы вернуть информацию о минимальной и рекомендуемой версиях платформы, и вместо этого возвращает пустые значения. Таким образом, конфигурация не будет знать о каких-либо требованиях к версии платформы, и сообщения о необходимости обновления перестанут появляться.
Предостережение: Как и в предыдущем случае, это обходной путь. Отключая проверку, вы лишаетесь возможности получать актуальные рекомендации от 1С. Если новые функции конфигурации действительно требуют более современной платформы, это может привести к скрытым ошибкам, некорректной работе или проблемам с отчетностью, которые проявятся позже.
Как мы уже выяснили, в случае с релизом 3.0.142.56 и его требованиями к платформе, речь шла об ошибке. Компания 1С оперативно исправила ее.
70061277.Таким образом, наиболее надежным и рекомендуемым решением является обновление конфигурации до версии 3.0.143.24 или выше, а также, при необходимости, обновление технологической платформы до минимально допустимой версии, указанной в документации к этому исправленному релизу.
Чтобы минимизировать риски и избежать подобных проблем в будущем, предлагаем рассмотреть следующие рекомендации при обновлении конфигураций и платформы 1С:
Readme.txt или описание на портале users.1c.ru) на предмет минимально требуемых версий платформы. Убедитесь, что выбранная для установки версия платформы соответствует этим требованиям. Помните, что требования могут меняться, поэтому актуальная информация всегда на вес золота.Надеемся, что этот подробный разбор поможет вам избежать проблем с «отложенными» требованиями к платформе и обеспечит более гладкий процесс обновления вашей системы 1С.