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

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

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

Механизм выбора версии платформы при веб-соединении

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

  1. Пользователь запускает стартер 1cestart.exe и выбирает информационную базу с типом подключения «Веб-сервер».
  2. Стартер отправляет HTTP-запрос по указанному веб-адресу информационной базы.
  3. Веб-сервер, обработав запрос через подключенный модуль расширения 1С (например, wsap22.dll или wsap24.dll для Apache), возвращает клиенту точный номер версии платформы, на которой работает сам модуль.
  4. Стартер 1cestart.exe игнорирует локально заданную строку версии в свойствах базы и выполняет запуск того релиза тонкого клиента, который затребовал веб-сервер.

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

Способ 1. Перепубликация информационной базы через Конфигуратор (Рекомендуемый)

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

  1. Запустим программу 1С:Предприятие от имени администратора. Для этого нажимаем правой кнопкой мыши на ярлык запуска и выбираем пункт «Запуск от имени администратора». Это критически важно, иначе у программы не будет прав на перезапись конфигурационных файлов веб-сервера в каталоге Program Files.
  2. В окне запуска убедимся, что Конфигуратор открывается именно на новой версии платформы (например, 8.3.10). Заходим в информационную базу в режиме Конфигуратор.
  3. В главном меню переходим в раздел Администрирование > Публикация на веб-сервере....
  4. В открывшемся окне проверяем параметры веб-сервера и имя публикации, после чего нажимаем кнопку «Опубликовать».
  5. Конфигуратор автоматически перезапишет пути к модулям платформы в конфигурации веб-сервера. После успешного сообщения соглашаемся на перезапуск веб-сервера (если система выдаст соответствующий запрос).

Способ 2. Ручная правка конфигурационного файла веб-сервера Apache

Если доступ в Конфигуратор ограничен или публикация настраивается вручную на выделенном веб-сервере, выполним ручное обновление директивы загрузки модуля расширения 1С. Разберем этот процесс по шагам:

  1. Открываем каталог установки веб-сервера Apache (по умолчанию путь выглядит как C:/Program Files/Apache Software Foundation/Apache2.2/conf/ или C:/Program Files (x86)/Apache Software Foundation/Apache2.2/conf/).
  2. Находим файл конфигурации httpd.conf и открываем его в текстовом редакторе с правами администратора.
  3. Находим строку подключения модуля расширения 1С LoadModule. Она выглядит следующим образом:

LoadModule _1cws_module "C:/Program Files (x86)/1cv8/8.3.7.1790/bin/wsap22.dll"

  1. Заменяем путь в строке на актуальную установленную версию платформы:

LoadModule _1cws_module "C:/Program Files (x86)/1cv8/8.3.10.2588/bin/wsap22.dll"

  1. Сохраняем изменения в файле httpd.conf.
  2. Открываем консоль управления службами Windows (services.msc), находим службу Apache и выполняем ее Перезапуск (Restart). Без перезапуска службы веб-сервер продолжит удерживать в оперативной памяти старую DLL-библиотеку.

Важные технические нюансы и ограничения

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

  1. Соответствие разрядности: Разрядность веб-сервера Apache и разрядность модуля платформы 1С должны строго совпадать. Если веб-сервер установлен в 32-разрядном варианте (x86), путь к модулю должен указывать на каталог Program Files (x86)/1cv8/.... Если Apache 64-разрядный (x64), подключаемая библиотека должна браться из каталога Program Files/1cv8/... (64-разрядного клиента 1С). При несовпадении разрядности служба Apache завершится с критической ошибкой при запуске.
  2. Один экземпляр Apache — одна версия платформы: Один работающий процесс Apache не может одновременно загрузить модули разных релизов 1С. Все базы данных, опубликованные на одном веб-сервере, будут одновременно переведены на ту версию платформы, которая указана в httpd.conf. Если требуется одновременная работа баз на разных версиях 1С, потребуется настроить отдельные службы Apache на разных сетевых портах.
  3. Автоматическое обновление клиентов: Чтобы клиентам не приходилось вручную устанавливать новые релизы, в файле публикации базы default.vrd можно настроить тег DistributiveLocation, указав путь к сетевому каталогу или веб-ресурсу с инсталлятором тонкого клиента. В таком случае тонкий клиент сам предложит скачать и установить необходимую версию при первом обращении к базе.
  4. Очистка старых версий: На клиентских компьютерах рекомендуется удалять неиспользуемые старые релизы платформы и проверять файл 1cestart.cfg (в каталогах %APPDATA%\1C\1CEStart и %ALLUSERSPROFILE%\1C\1CEStart), чтобы исключить жесткую фиксацию запуска через параметр DefaultVersion.

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

← На главную