На каком сервере работает ваша база 1С: проверка из программы, окна запуска, rac и сети

· 10 мин

Содержание

Быстрее всего определить сервер 1С можно в самой программе: откройте Главное меню → Справка → О программе и посмотрите строку информационной базы. Если там Srvr="srv1c";Ref="buh";, база работает на сервере srv1c и называется в кластере buh. Если строка начинается с File=, сервера 1С нет — база файловая и лежит в указанной папке.

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

Что именно ищем и какой способ выбрать

Под вопросом «какой у нас сервер 1С» обычно скрывается одна из четырёх задач:

  • 🖥️ имя или IP-адрес машины, где запущен сервер 1С:Предприятия;
  • 🗂️ имя базы в кластере — оно может не совпадать с названием в списке баз;
  • 🔢 версия платформы сервера — нужна перед обновлением клиентов;
  • 🧩 состав кластера — сколько рабочих серверов и какие базы на них зарегистрированы.

Строка соединения у разных типов баз выглядит по-разному:

Начало строкиТип базыЧто это значит
File="D:\Bases\Buh"файловаяСервера 1С нет, база — папка с файлом 1Cv8.1CD
Srvr="srv1c";Ref="buh"клиент-сервернаяСервер srv1c, имя базы в кластере buh
Srvr="srv1c:1641";Ref="buh"клиент-сервернаяКластер на нестандартном порту 1641
ws="http://web/buh"через веб-серверСервер 1С скрыт за публикацией, смотрите default.vrd

Сравнение способов, чтобы сразу выбрать свой:

СпособГде выполнятьНужны праваЧто покажет
«О программе»клиент 1С или конфигураторпользователь базыимя сервера и базы
Окно запуска, ibases.v8iкомпьютер пользователянетстроки всех баз в списке
racлюбой компьютер с доступом к RASадминистратор кластерасерверы, базы, сеансы
netstat, Монитор ресурсовкомпьютер пользователяобычныеIP-адрес и порты
Консоль кластераWindowsадминистратор кластеравсё дерево кластера
Службы, srvinfoсам серверадминистратор ОСверсия, порты, каталог

Строка соединения в окне «О программе»

Это главный способ для любого пользователя. Права администратора не нужны.

В режиме «1С:Предприятие»

  1. Запустите базу как обычно.
  2. Откройте главное меню — кнопка с тремя полосками в левом верхнем углу (в интерфейсе «Такси»).
  3. Выберите Справка → О программе.
  4. Найдите поле «Информационная база» или строку с путём к базе.

Пример того, что вы увидите:

Srvr="srv-1c-01";Ref="bp30_main";

Здесь srv-1c-01 — сетевое имя сервера, bp30_main — имя базы в кластере. В том же окне указана версия платформы клиента. Версию сервера окно не покажет: о ней ниже.

💡 Текст окна можно выделить и скопировать — удобно отправить администратору целиком, без ручного переписывания.

В конфигураторе

В конфигураторе путь тот же: Справка → О программе. Строка соединения выводится в нижней части окна. Способ полезен, когда пользовательский режим не открывается из-за ошибки, а конфигуратор запускается.

Из встроенного языка

Если у вас есть права на запуск внешних обработок, строку можно получить кодом:

Сообщить(СтрокаСоединенияИнформационнойБазы());

Функция ИмяКомпьютера(), вызванная в серверной процедуре (с директивой &НаСервере), вернёт имя машины, на которой реально выполнился код. В кластере из нескольких рабочих серверов это точнее, чем имя в строке соединения: там указан центральный сервер, а работать база может на другом.

Окно запуска и файл ibases.v8i

Если база не открывается вовсе, смотрите настройки в окне запуска 1С.

  1. Запустите 1С:Предприятие, появится список информационных баз.
  2. Выделите нужную базу — внизу окна отобразится её строка соединения.
  3. Для подробностей нажмите «Изменить…».
  4. На первом шаге будет выбран тип расположения: на компьютере или в локальной сети — для файловой базы, на сервере 1С:Предприятия — для клиент-серверной.
  5. На следующем шаге видны поля «Кластер серверов 1С:Предприятия» и «Имя информационной базы в кластере».

Список баз хранится в текстовом файле. В Windows он лежит в профиле пользователя:

%APPDATA%\1C\1CEStart\ibases.v8i

Вставьте этот путь в адресную строку Проводника и откройте файл Блокнотом. Каждая база — отдельный блок:

[Бухгалтерия основная]
Connect=Srvr="srv-1c-01";Ref="bp30_main";
ID=5c2b1f0e-...

Если список баз приходит централизованно, в 1CEStart.cfg рядом будут строки CommonInfoBases= со ссылкой на общий файл .v8i на сетевом ресурсе. Тогда ищите строку соединения в нём.

⚠️ На терминальном сервере (RDP, RemoteApp) файл ibases.v8i лежит в профиле пользователя на терминале, а не на его ноутбуке.

Утилита rac: серверы, базы и сеансы кластера

rac — консольная утилита администрирования кластера. Она входит в поставку платформы и лежит в каталоге bin, например C:\Program Files\1cv8\8.3.24.1342\bin\rac.exe. Работает в Windows и Linux одинаково.

rac общается не с кластером напрямую, а с сервером администрирования RAS. По умолчанию он слушает порт 1545. Если RAS не запущен, на сервере его стартуют командой:

ras cluster --daemon

В Windows RAS чаще регистрируют отдельной службой, чтобы он запускался вместе с системой. Запуск RAS сеансы пользователей не затрагивает.

Пошагово

  1. Получите идентификатор кластера:
rac srv-1c-01:1545 cluster list

В выводе ищите поля cluster, host и port. Поле host — имя центрального сервера.

  1. Посмотрите рабочие серверы кластера:
rac srv-1c-01:1545 server list --cluster=<id_кластера>

Каждый рабочий сервер выводится с адресом агента и диапазоном портов рабочих процессов.

  1. Выведите список баз:
rac srv-1c-01:1545 infobase summary list --cluster=<id_кластера>
  1. Проверьте, кто и с какого компьютера подключён:
rac srv-1c-01:1545 session list --cluster=<id_кластера>

Поле host в сеансе — компьютер пользователя, infobase — идентификатор базы.

Если у кластера заданы администраторы, добавьте к командам --cluster-user=<имя> --cluster-pwd=<пароль>. Все доступные подкоманды и параметры выводит rac help и, например, rac help session.

💡 Запускайте rac той же версии, что и сервер. Утилита другой версии может не подключиться к RAS или вывести неполные данные.

Сетевые подключения клиента: netstat и Монитор ресурсов

Способ работает, когда строке соединения не доверяют. Например, в ней указан DNS-псевдоним, а нужно понять, на какой IP-адрес реально идёт трафик.

Порты клиент-серверной 1С по умолчанию:

ПортКто слушает
1540агент сервера (ragent)
1541менеджер кластера (rmngr)
1560–1591рабочие процессы (rphost), диапазон задаётся в свойствах рабочего сервера

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

Командная строка Windows

  1. Запустите базу 1С и не закрывайте её.
  2. Узнайте номер процесса клиента:
tasklist | findstr 1cv8

Тонкий клиент — 1cv8c.exe, толстый клиент и конфигуратор — 1cv8.exe.

  1. Покажите его соединения, подставив PID из второй колонки:
netstat -ano | findstr 4820

В колонке «Внешний адрес» будет что-то вроде 10.0.5.21:1561. Это IP сервера и порт рабочего процесса.

  1. Имя по IP-адресу получите так:
nslookup 10.0.5.21

PowerShell

$ids = (Get-Process 1cv8c, 1cv8 -ErrorAction SilentlyContinue).Id
Get-NetTCPConnection -State Established |
  Where-Object { $ids -contains $_.OwningProcess } |
  Select-Object RemoteAddress, RemotePort, OwningProcess

Без командной строки

Запустите resmon (Монитор ресурсов) → вкладка «Сеть» → блок «TCP-подключения». Отметьте галочкой процесс 1cv8c.exe — в таблице останутся только его соединения с удалёнными адресами.

В Linux то же даёт команда ss -tnp | grep 1cv8.

Консоль администрирования кластера в Windows

Консоль — графическая оснастка MMC. Она показывает кластер деревом: центральные серверы, кластеры, рабочие серверы, информационные базы, сеансы.

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

Ярлык консоли появляется после установки компонента «Администрирование сервера 1С:Предприятия». Частая проблема — консоль выдаёт ошибку или пустое окно. Причина обычно одна: не зарегистрирована библиотека radmin.dll нужной версии. Запустите командную строку от имени администратора и выполните:

regsvr32 "C:\Program Files\1cv8\8.3.24.1342\bin\radmin.dll"

Номер версии в пути замените на свой. Версия radmin.dll должна совпадать с версией сервера.

Как найти сервер в консоли

  1. В дереве консоли щёлкните правой кнопкой по узлу «Central 1C:Enterprise 8.3 servers».
  2. Выберите создание нового центрального сервера и укажите имя из строки соединения. Порт агента по умолчанию 1540.
  3. Раскройте сервер → «Кластеры» → нужный кластер.
  4. В узле «Рабочие серверы» — все машины кластера с их портами.
  5. В узле «Информационные базы» — базы. Найдите свою по имени из Ref=.
  6. В узле «Сеансы» колонка «Компьютер» показывает, откуда подключены пользователи, а в узле «Рабочие процессы» видно, на каком сервере идёт работа.

Консоль позволяет завершать сеансы и удалять базы из кластера. Для определения сервера ничего не меняйте: только смотрите. Принудительное завершение сеанса оборвёт работу пользователя без сохранения данных.

Службы, каталог srvinfo и публикация на веб-сервере

Эти способы выполняются на самом сервере. Они отвечают на вопрос, какая версия сервера установлена и где хранятся его настройки.

Служба агента сервера

Откройте services.msc и найдите службу с именем вида «Агент сервера 1С:Предприятия 8.3». В свойствах службы поле «Исполняемый файл» содержит полную команду запуска:

"C:\Program Files\1cv8\8.3.24.1342\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"

Из одной строки видно сразу всё:

  • 🔢 версия платформы сервера — папка 8.3.24.1342;
  • 🔌 порты агента, кластера и рабочих процессов;
  • 📁 каталог с данными кластера — после ключа -d.

То же одной командой PowerShell:

Get-CimInstance Win32_Service |
  Where-Object { $_.PathName -like '*ragent*' } |
  Select-Object Name, State, PathName

На одном сервере бывает несколько агентов разных версий на разных портах. Тогда служб будет несколько — смотрите на порт и сверяйте со строкой соединения.

В Linux процесс агента ищут командой ps aux | grep ragent, службу — через systemctl list-units | grep 1c.

Каталог srvinfo

В каталоге из ключа -d есть папка reg_1541 (номер совпадает с портом кластера). В ней лежит реестр кластера 1CV8Clst.lst — служебный файл со списком баз и рабочих серверов.

Файл 1CV8Clst.lst не редактируйте вручную и не удаляйте: кластер может потерять список баз. Смотреть его можно только как текст, а для чтения надёжнее rac и консоль.

Технологический журнал

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

Веб-клиент и публикация

Если база открывается по ссылке http://..., клиент общается с веб-сервером, а тот — с сервером 1С. Ищите файл default.vrd в каталоге публикации на веб-сервере (для IIS обычно в C:\inetpub\wwwroot\<имя публикации>). В нём атрибут ib содержит обычную строку соединения:

<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       base="/buh" ib="Srvr=&quot;srv-1c-01&quot;;Ref=&quot;bp30_main&quot;;"/>

&quot; — это экранированные кавычки, читайте строку как Srvr="srv-1c-01";Ref="bp30_main";.

Сторонние утилиты

Для наглядного просмотра соединений подойдёт TCPView из набора Sysinternals: он показывает процесс, удалённый адрес и порт в реальном времени. Для глубокого разбора трафика — Wireshark с фильтром tcp.port == 1541. Обычно хватает встроенных средств, описанных выше.

Что у вас есть под рукой?

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

Почему в строке соединения одно имя сервера, а в netstat другой IP?
В строке может быть DNS-псевдоним или центральный сервер кластера. Если в кластере несколько рабочих серверов, менеджер направляет сеанс на любой из них. Настоящий адрес — у соединения с портом из диапазона рабочих процессов.
Как узнать версию сервера 1С, не заходя на сервер?
Посмотрите, какая версия платформы у клиента в окне «О программе»: клиент и сервер должны совпадать по номеру версии, иначе подключиться не получится. Если клиентов несколько версий, точный ответ даст путь службы агента на сервере.
Можно ли понять, что база файловая, без окна «О программе»?
Да. Выделите базу в окне запуска: у файловой базы внизу будет путь к папке со строкой File=. У клиент-серверной — Srvr= и Ref=.
Совпадает ли имя базы в списке с именем в кластере?
Не обязательно. В списке баз — произвольное название, которое задал пользователь. Имя в кластере стоит после Ref= и только оно ищется в консоли и в выводе rac.
Нужны ли права администратора кластера для rac?
Пока администраторы кластера не назначены — нет. Если они заданы, команды со списками баз, серверов и сеансов потребуют --cluster-user и --cluster-pwd. Без пароля остаётся способ через netstat на компьютере пользователя.