При обновлении платформы 1С:Предприятие иногда возникает необходимость вернуться на предыдущую версию из-за обнаруженных ошибок или несовместимости с веб-клиентом. Однако стандартное удаление новой платформы через программу установки Windows приводит к удалению службы агента сервера (1C:Enterprise 8.3 Server Agent). В результате после установки старой версии служба может не появиться в списке служб или перестать запускаться.
Рассмотрим подробно, почему возникает эта проблема, как правильно переключать версии платформы 1С без удаления настроек кластера и как вручную зарегистрировать службу агента сервера.
При деинсталляции платформы через стандартный мастер установки система полностью удаляет связанную службу агента сервера из реестра Windows. Если на сервере была настроена работа нескольких баз, параметры портов или авторизация рабочей учетной записи, эти данные могут быть утеряны или потребовать повторной настройки.
Если вы просто устанавливаете другую версию платформы параллельно, инсталлятор может не создать новую службу автоматически, если флаг «Установить сервер 1С:Предприятия как сервис Windows» был снят или в реестре остались заблокированные ключи от предыдущей службы.
Это самый быстрый и безопасный способ сменить рабочую версию платформы на сервере без удаления самой службы, настроек кластера и учетных записей. Проанализируем порядок действий:
services.msc).regedit) от имени администратора.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent
ImagePath и изменим путь к исполняемому файлу ragent.exe, указав номер требуемой версии платформы. Наример, заменим путь:"C:\Program Files\1cv8\8.3.9.1818\bin\ragent.exe" -srvc -agent ...
"C:\Program Files\1cv8\8.3.8.2088\bin\ragent.exe" -srvc -agent ...
Если служба была удалена и не появляется после установки платформы, разберем способ ее создания с помощью параметров самого исполняемого файла ragent.exe.
Откроем командную строку (cmd.exe) от имени администратора, перейдем в каталог bin нужной версии платформы и выполним команду регистрации:
cd "C:\Program Files\1cv8\8.3.8.2088\bin"
ragent.exe -instsrvc -port 1540 -regport 1541 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -usr .\USR1CV8 -pwd "ВашПароль"
Основные параметры команды:
-instsrvc — регистрация исполняемого файла в качестве службы Windows;-port — порт главного рабочего процесса (по умолчанию 1540);-regport — порт главного агента кластера (по умолчанию 1541);-range — диапазон портов для рабочих процессов (по умолчанию 1560:1591);-d — путь к каталогу данных кластера (srvinfo);-usr и -pwd — имя и пароль служебной учетной записи Windows, под которой запускается сервис.Если требуется отменить регистрацию службы, выполним команду:
ragent.exe -rmsrvc
Альтернативный способ регистрации службы — использование системной утилиты Windows sc.exe. Выясним, как правильно сформировать синтаксис команды в командной строке от имени администратора:
sc create "1C:Enterprise 8.3 Server Agent" binPath= "\"C:\Program Files\1cv8\8.3.8.2088\bin\ragent.exe\" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d \"C:\Program Files\1cv8\srvinfo\"" start= auto obj= ".\USR1CV8" password= "ВашПароль"
Важно: В синтаксисе утилиты sc обязательно должен присутствовать пробел сразу после знака равенства (например, binPath= , start= , obj= ).
Иногда при старте службы агента сервер Windows выдает ошибку авторизации пользователя USR1CV8 или отказывает во входе. Посмотрим на основные причины и способы их устранения:
secpol.msc), перейдем в раздел Локальные политики — Назначение прав пользователя. Убедимся, что учетная запись USR1CV8 добавлена в право Вход в систему в качестве службы.lusrmgr.msc (Локальные пользователи и группы).USR1CV8 есть полные права доступа (Чтение и Запись) на каталог данных кластера (по умолчанию C:\Program Files\1cv8\srvinfo).Часто причиной отката платформы становятся сбои в передаче дат при работе через веб-клиент. Если откат платформы затруднен из-за настроек безопасности или конфигурации веб-сервера (Apache / IIS), проблему с датами можно решить на уровне конфигурации 1С:
XMLСтрока(Дата) или Формат(Дата, "ДФ=yyyy-MM-ddTHH:mm:ss") перед передачей на клиент.ЗаписьJSON и ПрочитатьJSON с явным указанием формата дат ISO 8601.