При совместной эксплуатации устаревших конфигураций и современных баз данных на одном физическом или виртуальном сервере часто возникает необходимость параллельного запуска служб 1С:Предприятия 8.2 и 1С:Предприятия 8.3. Разберем по шагам, почему возникает ошибка «Различаются версии клиента и сервера» при подключении через оснастку администрирования и как корректно организовать работу двух служб без взаимных конфликтов.
Проанализируем ситуацию: для запуска двух экземпляров сервера 1С на одном хосте службы настраиваются на разные диапазоны сетевых портов и отдельные каталоги служебных данных srvinfo. Пример рабочих строк запуска служб:
"C:\Program Files\1cv82\8.2.19.83\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv82\srvinfo"
"C:\Program Files\1cv8\8.3.8.2197\bin\ragent.exe" -srvc -agent -regport 1741 -port 1740 -range 1760:1791 -d "C:\Program Files\1cv8\srvinfo"
Службы успешно запускаются, однако при попытке управления базами через стандартную консоль MMC (1CV8 Servers.msc) возникают две основные проблемы:
1740) в единый файл конфигурации. В итоге оснастка платформы 8.2 начинает обращаться к порту сервера 8.3 и теряет связь со своим кластером.radmin.dll: оснастка администрирования серверов 1С работает через библиотеку radmin.dll. В операционной системе Windows в реестре может быть глобально зарегистрирована только одна версия этой библиотеки. Если зарегистрирована версия от 8.2, то консоль 8.3 выдает ошибку о несовпадении версий клиента и сервера.Выясним причину потери баз в консоли: вместо редактирования порта по умолчанию необходимо добавить второй независимый узел сервера. Разберем по шагам, как это сделать:
localhost, а в поле «Порт» пропишем порт соответствующего агента (например, 1740 для 8.3 или 1540 для 8.2).Рассмотрим, как обойти ограничение Windows на регистрацию COM-библиотек. Чтобы консоль нужной версии запускалась гарантированно без ошибок несовпадения версий, настроим предварительную регистрацию radmin.dll перед каждым открытием оснастки.
Создадим командный файл admin82.bat для управления сервером 8.2:
regsvr32 /s "C:\Program Files\1cv82\8.2.19.83\bin\radmin.dll"
start "" "C:\Program Files\1cv82\8.2.19.83\bin\1CV82 Servers.msc"
Создадим командный файл admin83.bat для управления сервером 8.3:
regsvr32 /s "C:\Program Files\1cv8\8.3.8.2197\bin\radmin.dll"
start "" "C:\Program Files\1cv8\8.3.8.2197\bin\1CV8 Servers.msc"
Также для перерегистрации можно использовать штатный файл RegMSC.cmd, который находится в каталоге bin установленной платформы.
Рассмотрим современный способ администрирования кластера платформы 8.3 без использования MMC-оснастки. В платформе 8.3 доступен сервис удаленного администрирования ras.exe и консольная утилита rac.exe, которые полностью независимы от системных COM-библиотек.
1740 и порт самой службы RAS (например, 1745):
"C:\Program Files\1cv8\8.3.8.2197\bin\ras.exe" cluster --port 1745 localhost:1740
rac.exe для создания баз, просмотра сеансов и управления кластером без риска конфликта с платформой 8.2.Проанализируем альтернативный вариант, исключающий необходимость одновременного запуска двух служб. Если на сервере 8.2 функционирует старая база (например, конфигурация 1С:Бухгалтерия предприятия 1.6 на обычных формах), ее можно перенести на платформу 8.3:
.dt).Такой подход позволяет полностью отказаться от службы 8.2, избавив систему от дублирования процессов и сложностей с администрированием портов.