Файл ibases.v8i: сохранить, перенести и раздать список информационных баз
Содержание
Чтобы экспортировать список баз 1С 8.3, скопируйте файл ibases.v8i из папки %APPDATA%\1C\1CEStart\. В нём записаны все базы из окна запуска: названия, строки подключения, группы. Положите этот файл на другой компьютер в ту же папку, и список появится в том же виде.
Способов три, выбор зависит от масштаба. Для одного ПК хватит проводника. Для десятка профилей на терминальном сервере удобнее командная строка или PowerShell. Для всей организации лучше не копировать файл, а подключить общий список через 1cestart.cfg.
Экспорт списка баз — это не выгрузка данных. В ibases.v8i нет ни проводок, ни справочников, только «ярлыки» к базам. Сами данные сохраняют выгрузкой в .dt или копией каталога файловой базы.
Где 1С хранит список информационных баз
Окно запуска (программа 1cestart.exe) читает список из текстового файла. Его расположение зависит от системы:
| Система | Путь к списку баз |
|---|---|
| Windows (текущий пользователь) | %APPDATA%\1C\1CEStart\ibases.v8i |
| Windows, полный путь | C:\Users\<имя>\AppData\Roaming\1C\1CEStart\ibases.v8i |
| Linux | ~/.1C/1cestart/ibases.v8i |
Рядом лежит 1cestart.cfg — настройки окна запуска. В нём, в частности, хранятся ссылки на общие списки баз (параметр CommonInfoBases). Если базы у пользователя «приходят» из общего списка, то в ibases.v8i их может и не быть. Тогда экспортировать нужно оба файла.
Внутри ibases.v8i — обычный текст в кодировке UTF-8. Каждая база занимает отдельный блок:
[Бухгалтерия ООО Ромашка]
Connect=File="D:\Bases\Romashka_BP";
ID=6f1c2a7e-4b3d-4f0a-9c1e-2d5b8a7c9e10
OrderInList=16384
Folder=/Бухгалтерия
OrderInTree=16384
External=0
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.3
[ЗУП (сервер)]
Connect=Srvr="srv-1c";Ref="zup_main";
ID=1a2b3c4d-5e6f-4a1b-8c9d-0e1f2a3b4c5d
Folder=/Зарплата
...
Главное здесь три строки:
- 📁
Connect=File="..."— файловая база, указан каталог с файлом1Cv8.1CD; - 🖥
Connect=Srvr="...";Ref="..."— клиент-серверная база : имя кластера и имя базы на нём; - 🌐
Connect=ws="http://..."— база, опубликованная на веб-сервере; - 🗂
Folder=/Бухгалтерия— группа, в которой база показана в дереве окна запуска.
ID — уникальный идентификатор записи. По нему платформа связывает базу с локальным кэшем в %APPDATA%\1C\1cv8\. Менять его вручную не нужно.
Экспорт списка баз вручную через проводник
Отдельной кнопки «Экспортировать список» в окне запуска 1С нет. Экспорт сводится к копированию файла. На одном компьютере это занимает минуту:
- Закройте все окна 1С, включая окно запуска. Если оно открыто, при выходе может перезаписать файл своей версией.
- Нажмите
Win+R, введите%APPDATA%\1C\1CEStartи нажмите Enter. Откроется нужная папка — скрытуюAppDataискать не придётся. - Скопируйте
ibases.v8iна флешку, в облако или в сетевую папку. - Если в окне запуска настраивали общие списки или веб-адреса, заберите и
1cestart.cfg.
Чтобы понять, есть ли у вас общие списки, откройте окно запуска 1С и нажмите кнопку Настройка.... В открывшемся окне есть поле со списком адресов общих информационных баз. Пусто — значит, всё лежит в ibases.v8i.
Выгрузить не весь список, а одну-две базы, можно тем же файлом. Откройте копию ibases.v8i в Блокноте, оставьте нужные блоки от строки [Название] до следующего такого же заголовка, остальное удалите. Сохраните в UTF-8.
Не правьте рабочий ibases.v8i, пока открыто окно запуска. Сначала закройте 1С, потом редактируйте. И держите копию исходного файла.
Пакетный экспорт из командной строки и PowerShell
Когда пользователей много, ходить по профилям вручную долго. Командная строка снимает копию за секунды.
Копия списка текущего пользователя
Скрипт сохраняет оба файла в папку с именем компьютера и пользователя. Его можно положить в планировщик и получать свежую копию раз в неделю:
@echo off
set "DST=D:\Backup\1C-list\%COMPUTERNAME%_%USERNAME%"
if not exist "%DST%" mkdir "%DST%"
copy /Y "%APPDATA%\1C\1CEStart\ibases.v8i" "%DST%\" >nul
if exist "%APPDATA%\1C\1CEStart\1cestart.cfg" copy /Y "%APPDATA%\1C\1CEStart\1cestart.cfg" "%DST%\" >nul
echo Список баз сохранен в %DST%
Списки всех пользователей терминального сервера
На RDS-сервере у каждого пользователя свой профиль и свой список. Скрипт, запущенный от администратора, обходит C:\Users и забирает файл из каждого профиля:
@echo off
set "ROOT=D:\Backup\1C-list"
for /D %%U in (C:\Users\*) do (
if exist "%%U\AppData\Roaming\1C\1CEStart\ibases.v8i" (
if not exist "%ROOT%\%%~nxU" mkdir "%ROOT%\%%~nxU"
copy /Y "%%U\AppData\Roaming\1C\1CEStart\ibases.v8i" "%ROOT%\%%~nxU\" >nul
)
)
Список баз в таблицу CSV
Иногда нужен не файл для переноса, а перечень: какие базы есть у сотрудника и куда они смотрят. PowerShell разбирает ibases.v8i и сохраняет таблицу, которая открывается в Excel:
$src = "$env:APPDATA\1C\1CEStart\ibases.v8i"
$out = "$env:USERPROFILE\Desktop\spisok-baz-1c.csv"
$rows = @()
$cur = $null
foreach ($line in Get-Content -Path $src -Encoding UTF8) {
if ($line -match '^\[(.+)\]$') {
if ($cur) { $rows += [pscustomobject]$cur }
$cur = [ordered]@{ Name = $Matches[1]; Connect = ''; Folder = '' }
}
elseif ($cur -and $line -match '^(Connect|Folder)=(.*)$') {
$cur[$Matches[1]] = $Matches[2]
}
}
if ($cur) { $rows += [pscustomobject]$cur }
$rows | Export-Csv -Path $out -NoTypeInformation -Encoding UTF8 -Delimiter ';'
Write-Host "Баз в списке:" $rows.Count
Разделитель ; выбран под русский Excel: файл откроется сразу по колонкам. Такую таблицу удобно сверять при аудите: видно, у кого остались ссылки на старый сервер или на удалённые каталоги.
Реестр Windows: что там искать, а что нет
Частый совет «выгрузите ветку реестра» пришёл из времён 1С 7.7. Там список баз действительно жил в реестре, в ветке HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles. Экспорт делался через regedit → Файл → Экспорт в .reg-файл.
В 1С 8.3 список информационных баз в реестре не хранится. Сколько ни ищите по названию базы через regedit, нужного не найдёте: всё в ibases.v8i и 1cestart.cfg.
Если в организации ещё работают старые базы 7.7, выгрузить их список можно так:
reg export "HKCU\Software\1C\1Cv7\7.7\Titles" "%USERPROFILE%\Desktop\1c77-bases.reg" /y
На новом компьютере файл импортируют двойным щелчком или командой reg import. Это действует только для текущего пользователя, ведь ветка лежит в HKCU.
| Версия | Где список баз | Как экспортировать |
|---|---|---|
| 1С 7.7 | реестр, HKCU\Software\1C\1Cv7\7.7\Titles | reg export в .reg |
| 1С 8.3 | файл ibases.v8i в профиле | копирование файла |
| 1С 8.3, общий список | .v8i по пути из CommonInfoBases | копирование общего файла и 1cestart.cfg |
Как перенести список баз на новый компьютер
Порядок одинаков для переезда на новый ПК, переустановки Windows и смены учётной записи.
- Установите платформу 1С той же разрядности и версии, что стояла раньше, или новее. Окно запуска появится после первого старта.
- Запустите 1С один раз и закройте. Так создастся папка
%APPDATA%\1C\1CEStart. - Положите туда сохранённый
ibases.v8i. Если на новом ПК уже есть свой список и он не нужен, согласитесь на замену. - При необходимости верните
1cestart.cfg. - Откройте окно запуска и проверьте, что базы на месте и сгруппированы по папкам.
Если на новом ПК уже есть свои базы
Замена файла сотрёт текущий список. Чтобы объединить два списка, есть два пути:
- ✂️ Ручное слияние. Откройте оба файла в Блокноте и перенесите блоки из старого в новый. Названия в квадратных скобках не должны повторяться.
- 🔗 Подключение как общего списка. Положите старый файл, например, в
D:\1C\old-bases.v8i. В окне запуска нажмитеНастройка...и добавьте путь к нему в список общих информационных баз. Базы из него появятся рядом с вашими, а свойibases.v8iостанется нетронутым.
Что проверить после переноса
Строки подключения переносятся как есть. Работать они будут, только если на новом месте доступны те же ресурсы:
- 📁 файловая база по пути
D:\Bases\...откроется, только если такой каталог есть на новом ПК. Для сетевых баз используйте UNC-пути вида\\server\Bases\BP, а не буквы подключённых дисков; - 🖥 серверная база требует доступа к серверу 1С по сети: агент кластера слушает порт 1540, менеджер — 1541, плюс диапазон портов рабочих процессов;
- 🌐 веб-база требует доступа к адресу публикации.
Локальный кэш и пользовательские настройки форм лежат в %APPDATA%\1C\1cv8\ и %LOCALAPPDATA%\1C\1cv8\. Переносить их не обязательно: при первом входе платформа создаст кэш заново.
Один список баз для всех: CommonInfoBases и скрипты развёртывания
При массовом развёртывании копировать файл каждому пользователю неудобно. Через месяц списки разъедутся: у кого-то база добавлена, у кого-то нет. Надёжнее держать один эталонный список и подключать его всем.
Общий файл в сетевой папке
Создайте эталонный bases.v8i и положите его в сетевую папку с правом чтения для пользователей, например \\srv-files\1C$\bases.v8i. Затем пропишите путь в 1cestart.cfg:
CommonInfoBases=\\srv-files\1C$\bases.v8i
Файл можно положить в двух местах:
Расположение 1cestart.cfg | Кого затрагивает |
|---|---|
%APPDATA%\1C\1CEStart\1cestart.cfg | только текущего пользователя |
C:\ProgramData\1C\1CEStart\1cestart.cfg | всех пользователей компьютера |
Добавили новую базу в эталонный файл — она появится у всех при следующем открытии окна запуска. Личные базы пользователей из ibases.v8i при этом не пропадают.
Раздача через логон-скрипт или групповые политики
Если общий файл по какой-то причине не подходит (ноутбуки вне домена, разные списки по отделам), раздавайте копию при входе в систему. Простейший логон-скрипт:
@echo off
set "SRC=\\srv-files\1C$\buh\bases.v8i"
set "DST=%APPDATA%\1C\1CEStart"
if not exist "%DST%" mkdir "%DST%"
copy /Y "%SRC%" "%DST%\ibases.v8i" >nul
Учтите: такой скрипт при каждом входе перезаписывает личный список. Базы, которые пользователь добавил сам, исчезнут. Если это нежелательно, используйте CommonInfoBases — он не трогает личный файл.
В домене то же самое делается без скриптов: элемент «Файлы» в настройках групповых политик (Group Policy Preferences) копирует 1cestart.cfg в C:\ProgramData\1C\1CEStart\ на компьютеры нужного подразделения.
Сбои после переноса списка и их причины
Большинство проблем при экспорте списка баз видны сразу после первого запуска на новом месте. Разберите свой симптом: