Как запустить 1С:Бухгалтерию 3.0 на версии платформы ниже минимально требуемой?

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

При обновлении современных конфигураций 1С (особенно «Бухгалтерии предприятия 3.0») системные администраторы и разработчики часто сталкиваются с жестким ограничением: программа отказывается запускаться, требуя обновить платформу до определенного релиза (например, до 8.3.15.2107). Это создает проблемы, если в текущий момент нет возможности обновить серверную часть или клиентские лицензии. Рассмотрим подробнее, как обойти эту проверку, какие риски это влечет и как правильно настроить сервер для работы с несколькими версиями платформы.

Почему возникает блокировка запуска конфигурации

Проанализируем ситуацию: начиная с определенных релизов, разработчики 1С внедряют в состав Библиотеки стандартных подсистем (БСП) механизмы проверки технических характеристик окружения. Если версия платформы 1С:Предприятие ниже заявленной в коде, система выдает критическую ошибку и блокирует вход в приложение. Выясним причину такой строгости: часто это связано не с прихотью разработчиков, а с обновлением механизмов безопасности, сертификатов SSL для обмена с банками и контролирующими органами, а также исправлением критических утечек памяти в ядре платформы.

Способ 1: Модификация программного кода проверки

Разберем самый быстрый, но «грубый» метод — внесение изменений непосредственно в код конфигурации. Этот метод подходит, если база находится на поддержке с возможностью изменения. Нам необходимо найти фрагмент кода, где описываются разрешенные версии для конкретных веток платформы.

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


// До правки:
Если ТекущаяВерсия = "8.3.15" Тогда
    Результат = "8.3.15.2107";
ИначеЕсли ТекущаяВерсия = "8.3.16" Тогда
    Результат = "8.3.16.1814";
КонецЕсли;

// После правки (разрешаем использование версии 1830):
Если ТекущаяВерсия = "8.3.15" Тогда
    Результат = "8.3.15.1830"; // Понижаем планку до текущей установленной
ИначеЕсли ТекущаяВерсия = "8.3.16" Тогда
    Результат = "8.3.16.1814";
КонецЕсли;

После внесения таких изменений система «поверит», что установленная платформа 8.3.15.1830 является допустимой, и позволит завершить обновление информационной базы и запустить сеанс.

Способ 2: Использование расширения конфигурации (безопасный метод)

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

Рассмотрим алгоритм создания такого «костыля» через расширение:

  1. Создаем новое расширение в базе данных.
  2. Находим процедуру, которая выводит окно с сообщением о необходимости обновления платформы. Обычно у этого окна установлено свойство БлокироватьВесьИнтерфейс.
  3. В расширении используем аннотацию &Вместо для этой процедуры или просто отключаем вызов данного окна.
  4. Если проверка зашита глубже, можно перехватить функцию ПриОпределенииОбъектовСВерсиямиПлатформы и очистить возвращаемый список обязательных требований.

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

Способ 3: Правильная настройка нескольких платформ на сервере

Если вы решили все же установить новую платформу, но боитесь задеть другие базы, работающие на старой версии, разберем ситуацию с запуском двух служб 1C:Enterprise 8.3 Server Agent. Часто при этом возникает ошибка: «конечный компьютер отверг запрос на подключение» при попытке зайти в консоль управления.

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

  1. Установим новую версию платформы в отдельную директорию.
  2. Зарегистрируем новую службу сервера вручную через командную строку, указав другие порты (например, основной порт 1640 вместо 1540 и диапазон портов 1641, 1660-1691).
  3. Для работы с консолью управления каждой версии используйте соответствующую утилиту из папки bin конкретного релиза. Помните, что консоль от 8.3.18 не будет корректно работать с кластером 8.3.15.
  4. Чтобы избежать остановки службы при запуске консоли, убедитесь, что вы используете команду regsvr32 для правильной библиотеки radmin.dll из каталога той версии платформы, которой собираетесь управлять в данный момент.

Скрытые технические риски при использовании старой платформы

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

Резюме: Мы проанализировали способы обхода проверки минимальной версии платформы. Помните, что это временное решение. Использование кода Результат = "8.3.15.1830" поможет срочно запустить базу и сдать отчетность, но для стабильной работы необходимо планировать полноценный переход на актуальные релизы платформы.

← На главную