Общий список информационных баз 1С: один файл на всю компанию

· 9 мин

Содержание

Чтобы добавить базы 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С под учётной записью администратора.
  2. Добавьте в список все базы, которые нужны сотрудникам, и разложите их по папкам.
  3. Закройте 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), элемент «Файлы».

  1. Положите эталонный 1CEStart.cfg со строкой CommonInfoBases= в сетевую папку, например \\srv-files\1C\deploy\1CEStart.cfg. Права на чтение — группе «Компьютеры домена».
  2. В консоли управления групповой политикой создайте объект GPO и привяжите его к подразделению с компьютерами сотрудников.
  3. Откройте Конфигурация компьютера → Настройка → Конфигурация Windows → Файлы.
  4. Создайте элемент: источник — путь к эталонному файлу, назначение — C:\ProgramData\1C\1CEStart\1CEStart.cfg, действие «Заменить».
  5. На клиенте выполните 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 или в доступе к сетевой папке.

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

Может ли пользователь удалить базу из общего списка?
Удалить запись из общего файла он не может, если у него только право чтения на bases.v8i. Его действия в окне запуска касаются личного списка.
Сохранятся ли личные базы пользователя после подключения общего списка?
Да. Общий список добавляется к личному ibases.v8i, а не заменяет его. Пользователь видит и свои, и общие базы.
Как показать разным отделам разные базы?
Сделайте несколько файлов .v8i и подключайте каждому отделу свой через отдельную политику GPO. Или прописывайте несколько строк CommonInfoBases там, где нужен доступ к двум спискам.
Нужно ли перезапускать компьютеры после добавления новой базы в общий файл?
Нет. Достаточно, чтобы пользователь заново открыл окно запуска 1С. Перезагрузка нужна только при первой раздаче 1CEStart.cfg через политику.
Работает ли общий список на терминальном сервере?
Да, это самый частый сценарий. Файл C:\ProgramData\1C\1CEStart\1CEStart.cfg на терминальном сервере действует на всех, кто на него входит.