При обновлении платформы 1С:Предприятие на версию 8.3.15 и выше многие пользователи и системные администраторы сталкиваются с неприятной ситуацией: старые базы, работающие на серверах предыдущих версий (например, 8.3.12), перестают запускаться. Даже если в настройках информационной базы явно указан номер версии, система игнорирует это и выдает ошибку несоответствия версии клиента и сервера. Разберем детально, почему это происходит и как настроить корректную работу нескольких версий платформы на одном компьютере.
Начиная с релиза 8.3.15, компания «1С» существенно переработала механизм работы программы запуска — 1cestart.exe. Проанализируем основные изменения:
Первым делом рассмотрим самый простой вариант, который должен работать в штатном режиме. Посмотрим на настройки конкретной информационной базы в списке:
8.3.12.1714 или сокращенно 8.3.12.Если после этого база все равно не запускается и требует версию сервера, значит, лоунчер 1cestart.exe физически не может найти исполняемые файлы версии 8.3.12 на диске, хотя они там есть.
Проанализируем работу основного конфигурационного файла загрузчика. Файл 1CEStart.cfg содержит параметры, которыми руководствуется программа запуска. Рассмотрим подробнее, где он находится и что в нем должно быть.
Обычно файл располагается по пути: C:\ProgramData\1C\1CEStart\1CEStart.cfg. Также стоит проверить пользовательский путь: %APPDATA%\1C\1CEStart\1CEStart.cfg.
Разберем, какие строки должны присутствовать в этом файле для корректного поиска установленных платформ. Нам необходимо убедиться, что параметр InstalledLocation указывает на все каталоги, где установлена 1С.
Пример правильного содержания файла для систем, где установлены и 32-битные, и 64-битные версии:
InstalledLocation=C:\Program Files\1cv8
InstalledLocation=C:\Program Files (x86)\1cv8
UseHWLicenses=1
AppAutoInstallLastVersion=1
Важный момент: если вы прописываете эти строки, а после перезапуска компьютера или программы они исчезают, значит, в вашей сети действуют доменные политики (GPO) или скрипты очистки, настроенные системным администратором. В этом случае изменения нужно вносить на уровне контроллера домена или обращаться к администратору для корректировки эталонного конфига.
Если лоунчер по какой-то причине не удается «подружить» с разными версиями, рассмотрим вариант создания прямого ярлыка для базы. Это гарантирует запуск именно тем движком, который необходим.
Для этого в свойствах ярлыка на рабочем столе или в командной строке укажем путь к конкретному 1cv8.exe нужной версии. Посмотрим на пример такой строки:
"C:\Program Files (x86)\1cv8\8.3.12.1714\bin\1cv8.exe" ENTERPRISE /S "ServerName\BaseName"
Этот метод является обходным и не очень удобным, если баз много, но он отлично помогает выяснить, в чем проблема: в самой платформе или именно в программе запуска 1cestart.exe.
Иногда при установке новой платформы записи о старых версиях в реестре Windows повреждаются. Программа запуска ищет установленные версии не только по папкам, но и по ветке реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\1C\1Cv8\Installer\Installs (для 64-бит)
или
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\1C\1Cv8\Installer\Installs (для 32-бит).
Выясним, как это исправить без ручного редактирования реестра. Разберем по шагам:
После завершения процедуры установщик обновит все записи в реестре, и новый лоунчер 8.3.15 должен «увидеть» восстановленную версию.
Проанализируем ситуацию с правами доступа. Иногда после установки новой платформы права на папку Common или на папки версий в Program Files могут быть ограничены. Убедитесь, что у пользователя есть права на «Чтение и выполнение» содержимого папки со старой версией платформы.
Также обратим внимание на файл списка баз .v8i. В нем можно принудительно задать не только версию, но и битность приложения. Рассмотрим структуру параметров в этом файле:
[Название Вашей Базы]
Connect=Srvr="server";Ref="base";
ID=...
OrderInList=...
Folder=/
OrderInTree=...
External=0
ClientConnectionSpeed=Normal
App=Auto
Version=8.3.12
Bit=32
Добавление параметра Bit=32 часто помогает, если загрузчик пытается запустить 64-битный клиент для базы, требующей старую 32-битную платформу.
Подводя итог, можно сказать, что в большинстве случаев проблема решается либо принудительным указанием путей в 1CEStart.cfg, либо переустановкой (исправлением) старой версии платформы для восстановления путей в системном реестре. Совместная работа разных версий 1С вполне возможна, если корректно настроить среду окружения и файлы конфигурации.