Определяем версию сервера 1С:Предприятия на практике

· 9 мин

Содержание

Версия сервера 1С:Предприятия — это номер версии платформы, установленной на машине с сервером, например 8.3.24.1548. Быстрее всего её определить по пути к исполняемому файлу службы агента: имя папки с ragent.exe всегда содержит полный номер версии.

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

На одной машине может быть установлено сразу несколько версий платформы. Поэтому вопрос почти всегда звучит не «какая версия стоит», а «какую версию реально использует запущенный сервер». Ответ даёт не список установленного ПО, а то, из какой папки стартует служба.

Версия сервера — это версия установленной платформы

Сервер 1С — это набор служб и процессов (ragent, rmngr, rphost), которые запускаются из каталога конкретной версии платформы. На Windows это обычно C:\Program Files\1cv8\8.3.24.1548\bin\, на Linux — /opt/1cv8/x86_64/8.3.24.1548/.

Номер версии в имени папки и есть версия сервера. Всё остальное — консоль, утилита rac, веб-модуль — лишь разные точки, из которых этот же номер можно увидеть.

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

Путь к службе агента сервера — самый надёжный способ

Служба агента сервера запускается из каталога версии, поэтому её путь — однозначный ответ.

На Windows:

  1. Откройте оснастку служб: Win+R → services.msc → Enter.
  2. Найдите службу, в описании которой есть «Агент сервера 1С:Предприятия» (в англоязычной системе — 1C:Enterprise 8.3 Server Agent).
  3. Двойной клик → поле Путь к исполняемому файлу. Номер версии в пути — например ...\1cv8\8.3.24.1548\bin\ragent.exe — это и есть версия сервера.

То же самое в командной строке, запущенной от администратора:

sc query | find /i "1C"
sc qc "1C:Enterprise 8.3 Server Agent"

Первая команда покажет имена зарегистрированных служб 1С (у именованных экземпляров имя отличается), вторая — путь к бинарнику выбранной службы вместе с номером версии в строке BINARY_PATH_NAME.

На Linux служба работает через systemd. Посмотрите, из какого каталога запущен агент:

systemctl status 'srv1cv8-*'

В выводе будет полный путь к ragent, например /opt/1cv8/x86_64/8.3.24.1548/ragent. Номер в пути — версия сервера.

Если на машине установлено несколько версий платформы, ориентируйтесь именно на путь запущенной службы, а не на самую свежую установленную папку. Служба может работать на старой версии, даже если рядом стоит более новая.

Отдельный случай — именованные экземпляры сервера. На одной машине их может быть несколько, у каждого своя служба агента, свой порт и, что важно, потенциально своя версия платформы. Поэтому sc query сначала показывает все службы 1С, и путь нужно смотреть у той, что относится к интересующему вас экземпляру.

Обратите внимание и на разрядность каталога: современный сервер почти всегда 64-разрядный, его бинарники лежат в ...\1cv8\<версия>\bin\ с 64-битной платформой (на Linux — x86_64). 32-разрядный сервер сегодня встречается редко, но если в пути вместо x86_64 стоит i386 или каталог Program Files (x86), перед вами 32-битная сборка той же версии.

Свойства процессов ragent и rphost в диспетчере задач

Если доступ к настройкам служб закрыт, версию покажут свойства уже запущенных процессов.

На Windows откройте диспетчер задач (Ctrl+Shift+Esc) → вкладка Подробности. Найдите процессы сервера:

  • ragent.exe — агент сервера;
  • rmngr.exe — менеджер кластера;
  • rphost.exe — рабочий процесс (их может быть несколько).

Правый клик по ragent.exe → Свойства → вкладка Подробности → строка Версия продукта. Там будет полный номер, например 8.3.24.1548. Можно открыть и расположение файла (Открыть расположение файла) — путь снова приведёт в папку версии.

Ещё один надёжный источник на Windows — список установленных программ: Параметры → Приложения (или Панель управления → Программы и компоненты). Записи вида «1С:Предприятие 8.3 (8.3.24.1548)» показывают все установленные версии. Какая из них работает сервером — определяют по пути службы из предыдущего раздела.

Консоль администрирования серверов 1С

Графическая консоль (оснастка MMC «Администрирование серверов 1С Предприятия») удобна для управления кластером, но прямого столбца «версия сервера» в ней нет.

Сама консоль привязана к версии платформы: её файлы лежат в том же каталоге ...\1cv8\<версия>\bin\. Номер версии видно в заголовке окна или в пункте меню Справка → О программе. Версия консоли должна совпадать с версией сервера, к которому вы подключаетесь — иначе подключение к агенту завершится ошибкой несоответствия версий. Именно эта связь и позволяет косвенно подтвердить версию: если консоль нужной версии подключилась к центральному серверу — сервер работает на ней же.

Что реально полезно смотреть в консоли:

  • список рабочих серверов кластера (ветка Серверы);
  • рабочие процессы и их загрузку (ветка Рабочие процессы);
  • сеансы и соединения перед обновлением.

Для точного номера версии всё равно надёжнее путь службы или свойства процесса на самой машине сервера.

Удалённая проверка утилитой rac

Утилита командной строки rac — это консольный клиент администрирования. Она лежит в том же каталоге версии (...\1cv8\<версия>\bin\rac.exe на Windows, /opt/1cv8/.../rac на Linux) и подключается к агенту сервера по порту 1540.

rac версионно-зависима так же, как консоль: запустить её нужно из каталога той версии, что совпадает с сервером. Поэтому папка, из которой rac успешно соединяется с агентом, уже отвечает на вопрос о версии.

Базовая проверка, что агент жив и отвечает:

rac cluster list

Команда вернёт список кластеров с их идентификаторами (UUID). Дальше по идентификатору кластера можно посмотреть рабочие серверы:

rac server list --cluster=<uuid-кластера>

Полный перечень доступных подкоманд выводит встроенная справка:

rac help

По умолчанию rac обращается к агенту на локальной машине и порту 1540. Для удалённого сервера укажите его адрес первым параметром, например rac <адрес-сервера> cluster list. Не выдумывайте флаги утилиты — если нужной команды нет в rac help, значит её и нет.

Клиент-серверная схема 1С работает так: клиент обращается к агенту (порт 1540), затем к менеджеру кластера (1541) и к рабочим процессам (диапазон портов задаётся в свойствах рабочего сервера). Консоль и rac идут через агент, поэтому сверять версию удобнее всего именно по нему.

Практический вывод: если вы администрируете сервер с другой машины, держите под рукой rac и консоль ровно той версии, что стоит на сервере. При обновлении платформы на сервере обновите инструменты администрирования на своём рабочем месте — иначе после апгрейда ни консоль, ни rac к агенту не подключатся, и вы потратите время на разбор «ошибки подключения», которая на деле означает лишь расхождение версий.

Версия модуля веб-публикации (IIS и Apache)

Если к серверу обращаются через веб-клиент или опубликованный сервис, в дело вступает модуль расширения веб-сервера. Он тоже versioned и лежит в каталоге платформы — по нему видно, какой версией опубликована база.

На IIS:

  1. Откройте Диспетчер служб IIS (inetmgr).
  2. Выберите опубликованное приложение → раздел Сопоставления обработчиков (Handler Mappings).
  3. В пути к библиотеке-обработчику будет каталог версии, например ...\1cv8\8.3.24.1548\bin\wsisapi.dll.

На Apache версия видна в конфигурации публикации — в директиве загрузки модуля (LoadModule) прописан полный путь к библиотеке веб-расширения с номером версии в имени папки.

Версия веб-модуля должна совпадать с версией сервера, к которому он подключается. Если базу переопубликовали новой платформой, а сервер оставили на старой (или наоборот), веб-клиент начнёт выдавать ошибку несоответствия версий. При обновлении платформы публикацию нужно пересоздавать той же версией.

Журнал регистрации и технологический журнал

Логи помогают, когда до самой машины сервера доступа нет, а подключиться клиентом можно.

Самый наглядный сигнал — ошибка при подключении клиента другой версии: платформа покажет сообщение Несоответствие версии клиента и сервера «1С:Предприятия» и укажет в нём оба номера. Это прямой способ прочитать версию сервера «со стороны клиента».

Технологический журнал сервера (настраивается файлом logcfg.xml в каталоге conf платформы) пишет служебные события кластера, включая запуск процессов. Если журнал уже включён, в его записях о старте можно увидеть каталог версии, из которого поднялись процессы.

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

Если серверов в кластере несколько

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

Главное правило кластера — все рабочие серверы должны работать на одной версии платформы. Смешанные версии приводят к нестабильной работе рабочих процессов и ошибкам при переносе сеансов между серверами.

Параметры каждого рабочего сервера — диапазон портов рабочих процессов, требования назначения функциональности, параметры отказоустойчивости — задаются в его свойствах в консоли администрирования. Версия платформы там не отображается, но сам факт, что рабочий сервер виден в списке и принимает нагрузку, означает, что его служба запущена и совместима с остальными узлами кластера. Поэтому порядок проверки простой: сначала убедитесь по rac server list --cluster=<uuid> или в консоли, что все рабочие серверы на месте, затем на каждой машине сверьте путь службы агента.

Для наглядности сведём способы в таблицу — она помогает выбрать подходящий под ваш уровень доступа.

СпособГде смотретьЧто получите
Служба агентаservices.msc → свойства, путь к файлуТочный номер версии в пути
ПроцессыДиспетчер задач → ragent.exe → свойстваПоле «Версия продукта»
Установленные программыПрограммы и компонентыВсе установленные версии (не только рабочую)
Консоль / racПодключение к агенту (порт 1540)Косвенно: версия клиента = версии сервера
Веб-модульПуть обработчика в IIS/ApacheВерсия, которой опубликована база
Ошибка подключенияСообщение о несоответствии версийНомер версии сервера «со стороны»

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

Каким способом проверить версию в вашей ситуации?

Частые вопросы

Чем версия сервера отличается от версии клиента?
Это одна и та же платформа, установленная в разных местах. На сервере работают службы ragent/rmngr/rphost, на рабочем месте — клиентское приложение. Для стабильной работы их версии должны быть совместимы, поэтому при обновлении платформу обновляют и на сервере, и на клиентах.
Почему в «Программах и компонентах» несколько версий 1С?
Платформа ставится side-by-side: новая версия не удаляет предыдущую. Какая из установленных версий реально работает сервером, определяет путь службы агента, а не самая свежая папка.
Можно ли узнать версию сервера, не останавливая его?
Да, все описанные способы — только на чтение. Останавливать службу или завершать рабочие процессы для проверки версии не нужно; это оборвёт сеансы пользователей без всякой пользы.
Версия платформы и режим совместимости конфигурации — это одно и то же?
Нет. Версия платформы — номер установленного сервера (8.3.24.1548). Режим совместимости — свойство конфигурации, которое ограничивает доступный функционал ради работы на старых платформах. Их значения не связаны.
Как проверить версию сервера удалённо, без доступа к его рабочему столу?
Через консоль администрирования или утилиту rac нужной версии, подключившись к агенту на порту 1540. Если и этого доступа нет — через ошибку несоответствия версий при подключении клиента другой версии.