Общий список информационных баз 1С: один файл на всю компанию
Содержание
Чтобы добавить базы 1С всем пользователям сразу, создайте общий файл списка .v8i и пропишите путь к нему строкой CommonInfoBases= в файле C:\ProgramData\1C\1CEStart\1CEStart.cfg. Этот файл читает окно запуска 1С у любого пользователя Windows на компьютере. Базы из общего списка появятся у всех при следующем открытии 1С.
Способов три, и выбирают их по масштабу. На одном компьютере или терминальном сервере хватает правки 1CEStart.cfg вручную. Для десятков рабочих мест файл раскладывают групповой политикой (GPO). Для смешанной сети без домена пишут скрипт входа. Во всех вариантах сам список баз лежит в одном месте, и правите вы только его.
Как 1С хранит список баз и где его взять для всех
У каждого пользователя Windows свой личный список: %APPDATA%\1C\1CEStart\ibases.v8i. Когда вы нажимаете «Добавить» в окне запуска, запись попадает именно туда. Другой пользователь этого же компьютера её не увидит.
Окно запуска собирает итоговый список из нескольких источников:
- 📄 личный
ibases.v8iпользователя; - ⚙️ файлы, указанные в параметре
CommonInfoBasesв настройках запуска; - 🌐 адреса интернет-сервисов со списками баз, если их настроили.
Настройки запуска лежат в двух файлах 1CEStart.cfg:
| Файл | Чьи настройки | Когда использовать |
|---|---|---|
%APPDATA%\1C\1CEStart\1CEStart.cfg | одного пользователя | точечная настройка, тест |
C:\ProgramData\1C\1CEStart\1CEStart.cfg (%ALLUSERSPROFILE%) | всех пользователей компьютера | терминальный сервер, общий ПК, раздача по сети |
Отсюда главный приём: не копируйте чужой ibases.v8i в профили пользователей. Личный файл перезапишется при первом же изменении, а у человека пропадут его собственные базы. Правильный путь — отдельный общий файл и ссылка на него.
Шаг 1. Готовим файл общего списка баз
Проще всего не писать файл с нуля, а выгрузить готовый из окна запуска.
- Запустите 1С под учётной записью администратора.
- Добавьте в список все базы, которые нужны сотрудникам, и разложите их по папкам.
- Закройте 1С, откройте
%APPDATA%\1C\1CEStart\и скопируйтеibases.v8iв сетевую папку, например\\srv-files\1C\bases.v8i.
Если хотите собрать файл вручную, вот формат записей для файловой и серверной базы:
[Бухгалтерия ООО Ромашка]
Connect=File="\\srv-files\1C\Bases\Buh_Romashka";
ID=6f1c2a4e-3b7d-4c8e-9a10-2b5f6d7e8a91
Folder=/Бухгалтерия
External=0
ClientConnectionSpeed=Normal
App=Auto
[Зарплата и кадры]
Connect=Srvr="srv1c";Ref="zup";
ID=0b9e7c51-8d2a-4f36-b4c7-91e0a3d5f2c8
Folder=/Кадры
External=0
ClientConnectionSpeed=Normal
App=Auto
Что важно в каждой записи:
- 🏷 Имя в квадратных скобках — так база называется в окне запуска.
- 🔗 Connect — строка подключения:
File=для файловой базы,Srvr=иRef=для серверной. - 🆔 ID — уникальный идентификатор. Каждой базе нужен свой GUID. Сгенерировать его можно в PowerShell командой
[guid]::NewGuid(). - 📁 Folder — папка в дереве списка.
/— корень.
Сохраняйте .v8i в кодировке UTF-8. В Блокноте это пункт «UTF-8 с BOM» при сохранении. В ANSI русские имена баз превратятся в «кракозябры».
В старых инструкциях общий список называют «файлом списка» или .lst. Рабочий формат для 8.3 — тот же .v8i, его и используйте.
Шаг 2. Подключаем общий список у всех пользователей компьютера
Откройте Блокнот от имени администратора и файл C:\ProgramData\1C\1CEStart\1CEStart.cfg. Если файла нет — создайте. Добавьте строку:
CommonInfoBases=\\srv-files\1C\bases.v8i
Указывайте путь в формате UNC (\\сервер\папка\файл), а не через букву сетевого диска. Диск Z: подключён не у всех и не всегда успевает подключиться до запуска 1С.
Можно подключить несколько списков — по одной строке CommonInfoBases= на каждый файл. Например, отдельный список для бухгалтерии и отдельный для склада. Так одному отделу не покажутся чужие базы.
Сохраните файл в той же кодировке, в какой он был. Это видно в строке состояния Блокнота справа внизу.
Проверка: закройте все окна 1С, войдите под обычным пользователем и запустите 1С. Базы из общего файла появятся в списке.
Тот же параметр можно задать мышкой, но только для текущего пользователя: в окне запуска кнопка «Настройка…», поле со списком адресов интернет-сервисов и списков общих информационных баз. Удобно, чтобы проверить файл перед раздачей.
Права на папку и файл списка: кто читает, кто правит
Общий список — это обычный файл в сети. Если любой сотрудник сможет его изменить, однажды кто-то переименует базу или сотрёт строку подключения у всей компании.
Настройте права так:
| Объект | Пользователи 1С | Администратор 1С |
|---|---|---|
Файл bases.v8i | чтение | изменение |
Папка с bases.v8i | чтение | изменение |
| Каталог файловой базы | изменение (чтение, запись, удаление) | полный доступ |
C:\ProgramData\1C\1CEStart\1CEStart.cfg | чтение | изменение |
Вторая и третья строки часто путают. Чтения хватает только для файла списка. Для самой файловой базы пользователю нужны права на запись в её каталог: 1С создаёт там файлы блокировок и пишет данные. С правом «только чтение» база в списке появится, но не откроется.
Права раздают группе, а не людям поимённо. Создайте в домене группу вроде 1C_Users, дайте права ей и добавляйте сотрудников туда.
Список баз не защищает данные. Видеть базу в списке и войти в неё — разные вещи. Вход контролирует сама база: список пользователей и их роли задаются внутри конфигурации, в БП 3.0 и ЗУП 3.1 — в разделе Администрирование → Настройки пользователей и прав. Если базу видит лишний человек, но у него нет пользователя в базе, войти он не сможет.
Массовая раздача через групповые политики (GPO)
В домене удобнее не обходить компьютеры, а один раз настроить политику. Используют компонент «Предпочтения групповой политики» (Group Policy Preferences), элемент «Файлы».
- Положите эталонный
1CEStart.cfgсо строкойCommonInfoBases=в сетевую папку, например\\srv-files\1C\deploy\1CEStart.cfg. Права на чтение — группе «Компьютеры домена». - В консоли управления групповой политикой создайте объект GPO и привяжите его к подразделению с компьютерами сотрудников.
- Откройте
Конфигурация компьютера → Настройка → Конфигурация Windows → Файлы. - Создайте элемент: источник — путь к эталонному файлу, назначение —
C:\ProgramData\1C\1CEStart\1CEStart.cfg, действие «Заменить». - На клиенте выполните
gpupdate /forceи перезагрузите компьютер или дождитесь планового обновления политики.
Политика компьютера отрабатывает до входа пользователя, поэтому список будет на месте уже при первом запуске 1С.
Действие «Заменить» перезаписывает весь 1CEStart.cfg на компьютере. Если там были другие настройки (например, путь установки платформы), перенесите их в эталонный файл.
Новую базу добавляете один раз — в bases.v8i на сервере. Политику трогать не нужно: она указывает на файл, а не на его содержимое.
Серверная база: что учесть в клиент-серверном варианте
В клиент-серверном варианте список содержит только ссылку на базу в кластере: имя сервера и имя базы. Сама база должна быть заранее создана в кластере через консоль администрирования серверов 1С.
Строка подключения выглядит так: Srvr="srv1c";Ref="buh";. Здесь srv1c — имя сервера 1С, buh — имя базы в кластере, а не её название в списке. Если кластер работает не на стандартном порту, порт указывают через двоеточие: Srvr="srv1c:2541";.
Чтобы клиенты достучались до сервера, проверьте сеть:
- 🔌 порт агента сервера —
1540; - 🔌 порт менеджера кластера —
1541; - 🔌 диапазон портов рабочих процессов — по умолчанию
1560:1591, задаётся в свойствах рабочего сервера; - 🖥 имя
srv1cдолжно разрешаться в IP на каждом клиенте. Если DNS нет, пропишите его вC:\Windows\System32\drivers\etc\hosts.
Плюс серверного варианта для общего списка: не нужно давать сотрудникам права на файлы базы. Доступ к данным идёт через сервер 1С, а в сети лежит только bases.v8i.
Версия клиента должна совпадать с версией сервера 1С. Если на компьютерах установлено несколько платформ, задайте нужную в записи базы строкой Version=8.3.24 (подставьте свою версию). Без этого окно запуска выберет платформу само и может промахнуться.
Скрипты: когда домена нет или GPO неудобны
Если компьютеры не в домене, тот же результат даёт скрипт. Его запускают один раз от администратора на каждом ПК или кладут в автозагрузку.
Вариант на PowerShell: добавляет строку в общий 1CEStart.cfg, если её там ещё нет.
$cfg = "$env:ProgramData\1C\1CEStart\1CEStart.cfg"
$line = "CommonInfoBases=\\srv-files\1C\bases.v8i"
New-Item -ItemType Directory -Force -Path (Split-Path $cfg) | Out-Null
if (-not (Test-Path $cfg)) { New-Item -ItemType File -Path $cfg | Out-Null }
$text = Get-Content $cfg -ErrorAction SilentlyContinue
if ($text -notcontains $line) {
Add-Content -Path $cfg -Value $line -Encoding Unicode
}
Скрипт не трогает остальные строки и не плодит дубли при повторном запуске. Ключ -Encoding Unicode дописывает строку в UTF-16. Если существующий файл у вас в UTF-8, замените ключ на UTF8, иначе получится файл в смешанной кодировке. Перед массовым запуском проверьте его на одной машине: откройте получившийся файл и убедитесь, что 1С видит базы.
Вариант для тех, кому общий список не нужен: ярлык на рабочем столе с готовым подключением. Ярлык запускает конкретную базу без окна выбора:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh"
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"\\srv-files\1C\Bases\Buh_Romashka"
/S — серверная база, /F — файловая. Ярлык кладут в C:\Users\Public\Desktop, и он появляется у всех пользователей компьютера.
А что с реестром Windows? Список баз и настройки запуска 1С в реестре не хранятся — только в файлах .v8i и .cfg. Реестр в этой задаче нужен лишь для автозапуска скрипта при входе (раздел Run), если GPO нет.
Почему база не появилась или не открывается
Сначала определите, на каком этапе сбой: базы нет в списке или она есть, но не запускается.
Если для проверки приходится завершать процессы 1С на терминальном сервере, у пользователей оборвутся открытые сеансы и пропадут несохранённые документы. Делайте это вне рабочего времени или предупредите людей заранее.
Если ничего не помогло, проверьте, какой 1CEStart.cfg реально читается. Временно добавьте ту же строку CommonInfoBases= в личный %APPDATA%\1C\1CEStart\1CEStart.cfg одного пользователя. Если базы появились — проблема в файле в ProgramData (права, кодировка, путь). Если нет — в самом bases.v8i или в доступе к сетевой папке.