Как обновить платформу 1С:Предприятие 8.3 на сервере и настроить службу с помощью bat-файла

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

При обновлении прикладных решений 1С (таких как «Зарплата и управление персоналом», «Бухгалтерия предприятия» или «Управление торговлей») системные администраторы часто сталкиваются с жестким требованием со стороны конфигурации: необходимо обновить технологическую платформу 1С:Предприятие 8.3. Этот процесс нередко вызывает затруднения, особенно если на одном сервере должны сосуществовать несколько версий платформы, используются нестандартные сетевые порты или разворачивается тестовый контур.

В этой статье мы подробно разберем, как правильно подойти к обновлению платформы 1С, проанализируем требования конфигураций к релизам платформы, а также детально изучим механизм регистрации службы сервера 1С с помощью автоматизированных скриптов командной строки (bat-файлов) для 32-разрядных (x86) и 64-разрядных (x64) систем.

Анализ требований конфигураций: минимальная и рекомендуемая версии

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

  1. Рекомендуемая версия — это релиз платформы, на котором велась разработка и тестирование конфигурации перед выпуском. Как правило, 1С рекомендует самые последние, актуальные на момент релиза версии.
  2. Минимальная версия — это наиболее ранняя версия платформы, на которой гарантируется работоспособность текущего релиза конфигурации без критических ошибок ядра.

Рассмотрим практический пример. Если для работы конфигурации «Управление торговлей» (УТ 11) указана рекомендуемая платформа 8.3.16.1063, но минимально допустимая версия составляет 8.3.12.1685, это означает, что система будет функционировать и на более старых релизах платформы. Однако для стабильной работы всей экосистемы баз данных (например, если на сервере также крутится «Бухгалтерия предприятия 3.0», требующая платформу не ниже 8.3.15.1830) разумно выбрать стабильный, проверенный временем релиз из ветки 8.3.15.

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

Подготовка к установке платформы на сервере

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

  1. Отключите создание автоматической службы. На этапе выбора компонентов и параметров запуска снимите флаг «Установить сервер "1С:Предприятия" как сервис Windows». Если этого не сделать, установщик попытается перезаписать существующую службу 1С, что приведет к остановке текущего сервера и сбросу всех настроек портов и путей.
  2. Сохраните старую версию. Новые релизы платформы устанавливаются в отдельные каталоги (например, в C:\Program Files\1cv8\8.3.15.1830\). Это позволяет быстро откатиться назад в случае обнаружения критических ошибок в новом релизе.
  3. Подготовьте учетную запись. Служба сервера 1С должна запускаться от имени специально созданного локального или доменного пользователя (по умолчанию это USR1CV8). Убедитесь, что вы знаете пароль от этой учетной записи, так как он потребуется при ручной регистрации новой службы.

Регистрация службы сервера 1С с помощью bat-файла

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

Рассмотрим структуру и параметры утилиты ragent.exe, которая отвечает за запуск агента сервера «1С:Предприятия 8»:

Универсальный bat-скрипт для 64-разрядного сервера 1С

Ниже представлен текст пакетного файла для создания службы 64-разрядного сервера 1С. Скрипт принимает два параметра при запуске: полный номер релиза платформы и первые две цифры номеров портов.


rem %1 – полный номер версии 1С:Предприятия (например, 8.3.15.1830)
rem %2 – первые две цифры портов. Для портов 1540, 1541, 1560:1591 – это 15. Для портов 2540, 2541, 2560:2591 – это 25.

set SrvUserName=".\USR1CV8"
set SrvUserPwd="ВашПарольПользователяUSR1CV8"
set RangePort=%260:%291
set BasePort=%241
set CtrlPort=%240
set SrvDir="D:\srvinfo_%1"
set SrvcName="1C:Enterprise 8.3x64 Server Agent %1"
set BinPath="\"C:\Program Files\1cv8\%1\bin\ragent.exe\" -srvc -agent -regport %BasePort% -port %CtrlPort% -range %RangePort% -d \"%SrvDir%\" -debug"
set Desctiption="1C:Enterprise 8.3x64 Server Agent %1"

if not exist %SrvDir% mkdir %SrvDir%

sc stop %SrvcName%
sc delete %SrvcName%
sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption% depend= Dnscache/Tcpip/lanmanworkstation/lanmanserver

Чтобы запустить этот батник, откройте командную строку (cmd) от имени Администратора, перейдите в папку со скриптом и выполните команду:

register-s64.bat 8.3.15.1830 25

В результате на портах 2540 и 2541 будет зарегистрирована служба под управлением платформы версии 8.3.15.1830, а служебные файлы кластера будут автоматически созданы в каталоге D:\srvinfo_8.3.15.1830.

Адаптация bat-скрипта для 32-разрядного (x86) сервера 1С

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


rem %1 – полный номер версии 1С:Предприятия (например, 8.3.15.1830)
rem %2 – первые две цифры номеров портов (например, 15 или 25)

set SrvUserName=".\USR1CV8"
set SrvUserPwd="ВашПарольПользователяUSR1CV8"
set RangePort=%260:%291
set BasePort=%241
set CtrlPort=%240
set SrvDir="D:\srvinfo_%1"
set SrvcName="1C:Enterprise 8.3x86 Server Agent %1"
set BinPath="\"C:\Program Files (x86)\1cv8\%1\bin\ragent.exe\" -srvc -agent -regport %BasePort% -port %CtrlPort% -range %RangePort% -d \"%SrvDir%\" -debug"
set Desctiption="1C:Enterprise 8.3x86 Server Agent %1"

if not exist %SrvDir% mkdir %SrvDir%

sc stop %SrvcName%
sc delete %SrvcName%
sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption% depend= Dnscache/Tcpip/lanmanworkstation/lanmanserver

Критически важные аспекты безопасности

При ручной настройке служб Windows у администраторов часто возникает соблазн указать в качестве учетной записи запуска значение LocalSystem (Локальная система). Это серьезная ошибка безопасности. Проанализируем, почему этого делать нельзя:

Правильное решение: Запуск должен производиться только от имени пользователя USR1CV8. При этом учетной записи должны быть явно предоставлены права «Вход в качестве службы» (Log on as a service) через локальные политики безопасности (утилита secpol.msc в разделе Local Policies -> User Rights Assignment). Также пользователю USR1CV8 необходимо выдать полные права (Full Control) на уровне NTFS на создаваемый каталог баз данных и каталог файлов кластера (параметр -d).

Решение возможных проблем при обновлении

Если после регистрации службы сервер не запускается или пользователи получают ошибки лицензирования, выполните следующие проверочные действия:

  1. Ошибка 1060 (Указанная служба не установлена). Возникает, если вы пытаетесь удалить или остановить службу, которой еще не существует в системе. Это нормальное поведение при первом запуске bat-файла, так как секция sc stop и sc delete отрабатывает превентивно перед созданием (sc create) службы.
  2. Требование лицензии на тестовом сервере. Программные лицензии 1С привязываются к конфигурации железа сервера. Если вы разворачиваете тестовый контур на другой машине, нельзя использовать существующие пин-коды повторно — это аннулирует лицензию на основном сервере. Для тестовых целей рекомендуется использовать официальные комплекты разработчика или лицензии типа «Мини-сервер».
  3. Конфликт портов. Если старая служба 1С продолжает работать на стандартных портах 1540/1541, новая служба обязательно должна быть запущена на свободных портах (например, 2540/2541). В строке подключения у пользователей при этом обязательно должен указываться новый порт, например: ИмяСервера:2541.
← На главную