Файлы списка информационных баз 1С: ibases.v8i, srvinfo и реестр кластера
Содержание
Список баз, который пользователь видит в окне запуска 1С, хранится в файле ibases.v8i в профиле пользователя: в Windows это %APPDATA%\1C\1CEStart\ibases.v8i, в Linux — ~/.1C/1cestart/ibases.v8i. На сервере 1С свой список: кластер держит перечень зарегистрированных баз в реестре кластера — файле 1CV8Clst.lst в каталоге srvinfo\reg_1541.
Типичная ситуация: бухгалтеру поменяли ноутбук, а в окне запуска пусто, хотя базы «на сервере никуда не делись». Так и есть: сервер свои базы помнит, а клиентский список остался в профиле на старом компьютере. Ниже — где лежит каждый из этих файлов, как они устроены и как их переносить.
Два разных списка: что помнит клиент и что помнит сервер
Путаница возникает из-за того, что «список баз» в 1С — это два независимых хранилища.
| Что | Где хранится | Что содержит |
|---|---|---|
| Список в окне запуска | ibases.v8i в профиле пользователя | Названия баз и строки подключения |
| Настройки окна запуска | 1CEStart.cfg рядом с ibases.v8i | Общие списки, адреса интернет-сервисов, параметры запуска |
| Реестр кластера | 1CV8Clst.lst в srvinfo\reg_1541 | Базы кластера, параметры СУБД, рабочие серверы, администраторы |
| Реестр центрального сервера | 1cv8wsrv.lst в srvinfo | Список кластеров и администраторы центрального сервера |
Клиентский список — это просто набор ярлыков. Удалить базу из окна запуска не значит удалить её с диска или с сервера: пропадает только строчка в ibases.v8i.
Файловый вариант
В файловом режиме база — это каталог с файлом 1Cv8.1CD. Никакого «серверного списка» файловых баз не существует: путь к каталогу знает только ibases.v8i конкретного пользователя.
Отсюда практическое следствие. Если на общем диске лежат десять каталогов с базами, а в списке у бухгалтера их три, остальные семь можно добавить кнопкой «Добавить» → «Добавление в список существующей информационной базы» и указать каталог с 1Cv8.1CD.
Клиент-серверный вариант
Здесь в ibases.v8i записаны только имя сервера и имя базы в кластере. Сами данные лежат в СУБД (MS SQL Server, PostgreSQL), а связка «имя базы → сервер СУБД, имя БД, пользователь СУБД» хранится в реестре кластера.
Пути к файлам списка баз в Windows и Linux
Файлы клиента лежат в профиле пользователя, поэтому у каждого пользователя Windows свой список.
| ОС | Файл | Путь |
|---|---|---|
| Windows | Список баз | C:\Users\<имя>\AppData\Roaming\1C\1CEStart\ibases.v8i |
| Windows | Настройки стартера | C:\Users\<имя>\AppData\Roaming\1C\1CEStart\1CEStart.cfg |
| Windows | Общие настройки для всех пользователей | C:\ProgramData\1C\1CEStart\1CEStart.cfg |
| Linux | Список баз | /home/<имя>/.1C/1cestart/ibases.v8i |
| Linux | Настройки стартера | /home/<имя>/.1C/1cestart/1cestart.cfg |
Быстрый способ открыть папку в Windows — нажать Win+R и ввести:
%APPDATA%\1C\1CEStart
Каталог AppData скрыт, поэтому через проводник без включения скрытых файлов его не видно. Ввод пути вручную это ограничение обходит.
Рядом в профиле есть кэш и пользовательские настройки баз: %APPDATA%\1C\1cv8\ и %LOCALAPPDATA%\1C\1cv8\. Имена подкаталогов там — это GUID из параметра ID в ibases.v8i. По нему легко понять, какой кэш к какой базе относится.
А что в реестре Windows?
Список баз в реестре Windows не хранится — только в файлах. В реестре полезно смотреть другое: параметры службы агента сервера 1С. Ветка HKLM\SYSTEM\CurrentControlSet\Services\ содержит раздел службы (обычно с названием вида 1C:Enterprise 8.3 Server Agent (x86-64)), а в его параметре ImagePath — строка запуска ragent.exe. Именно оттуда видно, где на этом сервере лежит каталог кластера.
Список баз на сервере 1С: каталог srvinfo и реестр кластера
Сервер 1С хранит свои данные в рабочем каталоге, который задаётся ключом -d в строке запуска агента:
"C:\Program Files\1cv8\8.3.24.1691\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
Пути по умолчанию:
- 🪟 Windows:
C:\Program Files\1cv8\srvinfo - 🐧 Linux:
/home/usr1cv8/.1cv8/1C/1cv8
Если сервер ставили не по умолчанию, не гадайте — посмотрите ключ -d. В Windows он в ImagePath службы или в свойствах службы в оснастке «Службы». В Linux — в строке процесса:
ps aux | grep ragent
Что лежит внутри
- 📄
1cv8wsrv.lst— реестр центрального сервера: какие кластеры на нём зарегистрированы и кто администратор центрального сервера. - 📁
reg_1541— каталог кластера. Число в имени — порт менеджера кластера, на втором кластере с портом 2541 появитсяreg_2541. - 📄
reg_1541\1CV8Clst.lst— реестр кластера: список информационных баз, параметры подключения к СУБД, рабочие серверы, администраторы кластера, блокировки и регламентные задания. - 📁
reg_1541\snccntx…и подкаталоги с GUID баз — служебные данные сеансов и кэш сервера. К списку баз они не относятся.
Как посмотреть список баз без открытия файлов
Файл 1CV8Clst.lst текстовый, но его формат не предназначен для чтения человеком. Список баз удобнее получить штатно:
- Откройте консоль администрирования серверов 1С.
- Раскройте
Центральные серверы 1С:Предприятия→ имя сервера →Кластеры→ кластер →Информационные базы.
На Linux или в скриптах — через сервер администрирования ras и утилиту rac:
rac cluster list
rac infobase summary list --cluster=<UUID кластера>
Первая команда выдаёт UUID кластера, вторая — имена и описания баз. Утилите нужен запущенный ras, по умолчанию он слушает порт 1545.
Не редактируйте 1CV8Clst.lst вручную. Одна лишняя скобка — и агент не поднимет кластер. Добавлять и удалять базы надо через консоль или rac.
Как устроен файл ibases.v8i и как его править вручную
ibases.v8i — текстовый файл в формате INI, кодировка UTF-8 с BOM. Каждая база — секция с именем в квадратных скобках:
[Бухгалтерия — основная]
Connect=Srvr="srv-1c";Ref="bp_main";
ID=5b1f6e0a-3c7d-4e1a-9a8f-2d4c6b7e9f10
OrderInList=16384
Folder=/Бухгалтерия
OrderInTree=16384
External=0
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.3
[Склад — копия для тестов]
Connect=File="D:\Bases\Sklad_test";
ID=a7c3d2e1-0b4f-4c9e-8d6a-1f2e3b4c5d6e
OrderInList=32768
Folder=/Тестовые
OrderInTree=32768
External=0
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.3
Что значат основные параметры:
| Параметр | Назначение |
|---|---|
Connect | Строка подключения: File="путь" для файловой базы, Srvr="сервер";Ref="имя базы в кластере" для серверной, ws="адрес" для публикации на веб-сервере |
ID | GUID записи; по нему платформа находит кэш и настройки базы в профиле |
Folder | Папка в дереве окна запуска; / — корень |
OrderInList, OrderInTree | Порядок в списке и в дереве |
App | Каким клиентом запускать: Auto, ThinClient, ThickClient, WebClient |
ClientConnectionSpeed | Скорость соединения: Normal или Low |
Version | Версия платформы для запуска; 8.3 — любая установленная 8.3 |
Если на сервере не стандартный порт, он пишется через двоеточие: Srvr="srv-1c:2541".
Правила ручной правки
- Закройте окно запуска 1С. Открытый стартер может перезаписать файл своей версией списка.
- Сделайте копию
ibases.v8iрядом, напримерibases.v8i.bak. - Правьте в редакторе, который сохраняет UTF-8 (Notepad++, VS Code, «Блокнот» в Windows 10/11 с выбором UTF-8). Если сохранить в ANSI, кириллица в названиях превратится в кракозябры.
- Для новой записи сгенерируйте новый GUID — дубли
IDу двух баз приведут к тому, что они будут делить кэш и настройки:
[guid]::NewGuid()
- Запустите 1С и проверьте, что базы на месте.
Пароли и безопасность списка баз
Пароли пользователей 1С в ibases.v8i не хранятся. Учётные записи и хэши паролей лежат в самой информационной базе, а файл списка содержит только адреса.
Есть одно исключение, которое создают сами пользователи. В свойствах базы в окне запуска можно задать дополнительные параметры запуска, и кто-то вписывает туда /N"Иванова" /P"12345", чтобы не вводить пароль. Эта строка сохраняется в ibases.v8i открытым текстом. Любой, кто скопирует файл, получит логин и пароль.
Что делать вместо этого:
- 🔐 настроить аутентификацию операционной системы — пользователь входит в 1С под своей доменной учётной записью;
- 🧹 пройтись по
ibases.v8iна рабочих местах поиском по/Pи убрать найденное; - 👥 не раздавать общий список с параметрами входа внутри.
Что хранит сервер
Реестр кластера чувствительнее. В 1CV8Clst.lst записаны параметры подключения к СУБД для каждой базы, включая пользователя СУБД и его пароль. Пароль хранится не открытым текстом, но считать файл безопасным нельзя: доступ к srvinfo фактически даёт доступ к базам данных.
- 🛡️ Права на каталог
srvinfo— только у учётной записи службы (USR1CV8или та, под которой работает агент) и администраторов сервера. - 👤 Задайте администратора центрального сервера и администратора кластера в консоли. Пока их нет, любой с доступом к порту 1540 может управлять кластером через консоль.
- 💾 Включите
srvinfoв резервное копирование сервера.
Если потерян пароль администратора кластера, не пересоздавайте кластер. Восстановите 1CV8Clst.lst из резервной копии, сделанной до смены пароля. Для этого придётся остановить службу агента — все сеансы пользователей оборвутся, поэтому делайте это в нерабочее время и предупредите людей заранее.
Перенос и раздача списка баз на новые компьютеры
Один компьютер
Проще всего скопировать ibases.v8i со старого ПК в %APPDATA%\1C\1CEStart\ на новом при закрытом окне запуска. Подойдёт и выгрузка: дважды щёлкните по файлу .v8i — стартер предложит добавить из него базы в текущий список.
Кэш и настройки форм не переносите: они пересоздадутся при первом входе.
Много компьютеров: общий список
Для отдела удобнее один файл на общем ресурсе, который 1С подключает ко всем пользователям:
- Сделайте эталонный список у себя и сохраните его, например, как
\\fs\1c\bases.v8i. - Дайте пользователям права только на чтение этой папки.
- В окне запуска нажмите «Настройка» и в списке общих информационных баз добавьте путь к файлу.
После этого в 1CEStart.cfg появится строка:
CommonInfoBases=\\fs\1c\bases.v8i
Чтобы не настраивать каждого пользователя руками, эту строку прописывают в общем файле C:\ProgramData\1C\1CEStart\1CEStart.cfg — он действует для всех профилей на компьютере. Его можно разложить групповой политикой или скриптом входа.
Базы из общего списка пользователь не может удалить или переименовать — это и плюс, и защита от «у меня пропала бухгалтерия».
Скрипт для копирования персонального списка
Если общий список не подходит, а нужно разово раздать файл, хватит простого bat при входе в систему:
@echo off
set DEST=%APPDATA%\1C\1CEStart
if not exist "%DEST%" mkdir "%DEST%"
if not exist "%DEST%\ibases.v8i" copy "\\fs\1c\ibases.v8i" "%DEST%\ibases.v8i"
Проверка if not exist нужна, чтобы не затирать базы, которые пользователь уже добавил сам.