Почему запускается старая версия платформы 1С вместо новой и как это исправить?

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

Довольно распространенная ситуация в практике системных администраторов и разработчиков 1С: на рабочем компьютере установлено несколько версий технологической платформы (например, старая 8.3.5.1383 и более свежая 8.3.10.2639). Вам необходимо запустить базу под управлением новой версии. Вы заходите в свойства информационной базы, явно прописываете нужный релиз, или даже переходите непосредственно в каталог bin новой платформы и запускаете исполняемый файл напрямую. Однако после открытия конфигуратора или пользовательского режима обнаруживается, что система все равно работает на старом «движке».

Сегодня мы подробно разберем, почему возникает такое поведение, как устроены внутренние механизмы выбора версии в платформе 1С:Предприятие, и какие шаги необходимо предпринять, чтобы гарантированно запустить требуемую версию платформы.

1. Главный виновники: Клиент-серверный режим работы и механизм принудительного перенаправления (Redirection)

Проанализируем ситуацию, когда база данных работает в клиент-серверном варианте. Здесь действует жесткое и бескомпромиссное правило: версия клиентского приложения должна строго соответствовать версии сервера 1С:Предприятия. Различие даже в последней цифре сборки (например, клиент 8.3.20.1613 и сервер 8.3.20.1679) в штатном режиме недопустимо из-за несовместимости сетевых протоколов передачи данных.

Рассмотрим по шагам, как отрабатывает механизм автоматического перенаправления, когда вы пытаетесь запустить базу напрямую из папки нового релиза:

  1. Вы запускаете файл 1cv8.exe из каталога C:\Program Files\1cv8\8.3.10.2639\bin\.
  2. Запущенный процесс инициализирует подключение к серверу 1С:Предприятия, на котором крутится целевая информационная база.
  3. Сервер отвечает клиенту и передает информацию о своей текущей версии (допустим, сервер работает на старом релизе 8.3.5.1383).
  4. Клиентское приложение понимает, что протоколы взаимодействия не совпадают. Вместо того чтобы сразу выдать ошибку аварийного завершения, срабатывает интеллектуальный механизм перенаправления (Redirection), встроенный в платформу.
  5. Процесс 8.3.10.2639 обращается к системному реестру Windows и конфигурационным файлам 1С на локальном компьютере, пытаясь найти установленную версию 8.3.5.1383.
  6. Если такая версия найдена, процесс новой версии незаметно для пользователя порождает (spawns) дочерний процесс 1cv8.exe из старого каталога C:\Program Files\1cv8\8.3.5.1383\bin\.
  7. Исходный процесс новой версии завершает свою работу, а перед пользователем открывается окно авторизации и сама база, запущенная на старом «движке».

Именно поэтому ручной запуск исполняемого файла из конкретной папки не дает результата в клиент-серверном варианте — сервер принудительно «скатывает» версию клиента до своей собственной. Выясним, как решать сопутствующие проблемы на стороне клиента и сервера.

2. Разница между исполняемыми файлами 1cv8.exe и 1cv8s.exe

Выясним причину, почему рекомендация «запустить напрямую из бина» часто не срабатывает из-за путаницы в исполняемых файлах каталога bin:

3. Скрытые проблемы конфигурационного файла 1CEStart.cfg

Иногда старая платформа запускается и для файловых баз, несмотря на явное указание версии в свойствах базы. Разберем по шагам, как влияют конфигурационные файлы программы запуска на поведение системы. Основным конфигурационным файлом является 1CEStart.cfg, который по умолчанию располагается по пути %appdata%\1C\1CEStart\ (или в общей папке для всех пользователей %programdata%\1C\1CEStart\).

Откроем этот файл с помощью любого текстового редактора и проанализируем ключевые параметры:


InstalledLocation=C:\Program Files\1cv8
InstalledLocation=C:\Program Files (x86)\1cv8

Посмотрим на пример правильного файла 1CEStart.cfg без принудительного занижения версии:


ConfigurationTemplatesLocation=C:\1C_Templates
InstalledLocation=C:\Program Files\1cv8
InstalledLocation=C:\Program Files (x86)\1cv8
UseLocalSchema=1

4. Настройка файла ibases.v8i и принудительное указание версии базы

Разберем ситуацию, когда нам необходимо принудительно заставить файловую базу открываться на определенной версии платформы. Все настройки списка информационных баз хранятся в файле ibases.v8i (обычно находится в папке %appdata%\1C\1CEStart\).

Посмотрим на пример структуры описания конкретной базы в файле ibases.v8i:


[МояНоваяБаза]
Connect=File="C:\1C_Bases\NewBase";
ID=e1b3d681-4b13-4cde-bc74-1a98de155d14
OrderInList=16384
Folder=/
OrderInFolder=1
UseApp=1CEnterprise
App=Auto
WA=1
Version=8.3.10

Обратите внимание на параметр Version=8.3.10. Вы можете вручную отредактировать этот параметр. Допускается указывать как конкретный релиз платформы (например, 8.3.10.2639), так и маску версии (например, 8.3.10 или просто 8.3). Система выберет наиболее свежую установленную платформу, соответствующую этой маске. Для удобного управления параметрами информационных баз подойдёт обработка для редактирования списка баз в ibases.

5. Проблемы с обновлением Агента сервера на стороне сервера 1С

Если вы являетесь администратором и обновили платформу на сервере, но клиенты все равно запускаются под старой версией, проблема кроется в службе Windows 1C:Enterprise 8.3 Server Agent. При установке новой платформы служба сервера не всегда автоматически обновляет путь к исполняемому файлу ragent.exe в реестре операционной системы. Для быстрой проверки параметров служб и выявления несоответствий версий можно использовать обработку для диагностики служб 1С и конфликтов версий платформы.

Разберем по шагам, как исправить эту проблему через реестр Windows:

  1. Нажмите сочетание клавиш Win + R, введите команду regedit и нажмите Enter для запуска Редактора реестра.
  2. Перейдите к ветке реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent.
  3. Найдите параметр ImagePath.
  4. Проанализируем его значение. Если там остался старый путь, например:
  5. 
    "C:\Program Files\1cv8\8.3.5.1383\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -appid 1cv8
    
  6. ...то сервер фактически продолжает работать на старом движке 8.3.5. Отредактируйте этот параметр, указав корректный путь к новой версии:
  7. 
    "C:\Program Files\1cv8\8.3.10.2639\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -appid 1cv8
    
  8. Остановите службу сервера 1С, убедитесь в диспетчере задач, что все процессы rphost.exe, rmngr.exe и ragent.exe завершены, и запустите службу заново.

6. Конфликт разрядностей платформы (32-bit и 64-bit)

Если на компьютере пользователя установлена старая 32-битная версия платформы и новая 64-битная, при автоматическом выборе система может отдать приоритет старой 32-битной платформе. Чтобы этого избежать, в свойствах базы в поле «Дополнительные параметры запуска» или в файле настроек необходимо явно указать требуемую разрядность.

Для принудительного использования 64-битного клиента используйте параметр запуска:

/AppArch64

Для использования 32-битного клиента:

/AppArch32

Этот параметр прописывается в свойствах конкретной информационной базы в окне запуска (кнопка «Изменить», последняя вкладка настроек, поле «Дополнительные параметры запуска»).

7. Использование пакетных (.bat) файлов для гарантированного запуска

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


@echo off
set PLATFORM_PATH="C:\Program Files\1cv8\8.3.10.2639\bin\1cv8.exe"
set BASE_CONNECTION=/F "C:\1C_Bases\MyBase"
start "" %PLATFORM_PATH% ENTERPRISE %BASE_CONNECTION% /N "Администратор" /P "Пароль"

Данный способ отлично подходит для файловых баз и позволяет разработчикам жестко контролировать среду выполнения приложения.

Подводя итоги, отметим: если вы столкнулись с запуском старого движка 1С, первым делом определите тип подключения к базе. В клиент-серверном варианте всегда обновляйте в первую очередь серверную часть и проверяйте параметры службы Агента сервера 1С. В файловом варианте внимательно проверяйте конфигурационный файл 1CEStart.cfg и настройки версии в списке баз.

← На главную