Как автоматически добавить информационную базу 1С пользователю через BAT-файл или скрипт?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При администратировании систем 1С часто возникает необходимость массово или дистанционно добавить новую информационную базу в окно запуска пользователям. Ручной ввод пути к базе на каждом рабочем месте требует времени и создает риск ошибок. Рассмотрим, как решить эту задачу с помощью командных файлов, VBScript и штатных механизмов стартера 1С.

Вариант 1. Запись информации о базе в файл ibases.v8i с помощью скрипта

Список информационных баз конкретного пользователя Windows хранится в текстовом файле ibases.v8i, который находится по пути %APPDATA%\1C\1CEStart\ibases.v8i. Чтобы база появилась в стандартном окне запуска, достаточно дописать блок настроек этой базы в указанный файл.

Разберем важный технический нюанс: файл ibases.v8i использует кодировку UTF-8. Если пытаться дописывать кириллический текст через стандартную команду CMD echo >>, файл сохранится в кодировке CP866, и пользователь увидит некорректные символы вместо названия базы. Поэтому для записи данных в кодировке UTF-8 из командного файла рекомендуется использовать вызов PowerShell.

Посмотрим на пример командного файла BAT, добавляющего сетевую базу 1С:


powershell -Command "Add-Content -Path '$env:APPDATA\1C\1CEStart\ibases.v8i' -Value '`n[Наша новая база]`nConnect=srvr=""Server1C"";ref=""BaseDB"";`nClientServerRunMode=Auto`nSelectOnEntry=1`nOrderInList=1`nFolder=/`n' -Encoding UTF8"

Проанализируем параметры, которые дописываются в файл:

  1. [Наша новая база] — наименование базы, которое отобразится в стартере 1С.
  2. Connect — строка подключения (файловый вариант File="C:\Bases\DB"; или серверный srvr="Server";ref="Base";).
  3. OrderInList — порядок сортировки базы в списке.

Обратите внимание: параметр ID (уникальный GUID базы) указывать в скрипте необязательно. Если параметр ID отсутствует, платформа 1С автоматически сгенерирует его при первом запуске окна выбора баз. Напротив, дублирование одного и того же ID у разных пользователей при копировании готовых файлов может привести к сбоям при сохранении персональных настроек отображения.

Вариант 2. Чтение и модификация файлов с помощью VBScript

Если в организации запрещен запуск PowerShell или требуется более сложная логика проверки (например, замена устаревшего пути к базе на новый), можно использовать сценарии VBScript.

Разберем базовый пример чтения и обработки текстового файла с помощью VBScript:


Set objFS = CreateObject("Scripting.FileSystemObject")
strFile = "C:\test\file.txt"
Set objFile = objFS.OpenTextFile(strFile)
Do Until objFile.AtEndOfStream
    strLine = objFile.ReadLine
    If InStr(strLine, "ex3") > 0 Then
        strLine = Replace(strLine, "ex3", "ex5")
    End If 
    WScript.Echo strLine
Loop

С помощью объекта Scripting.FileSystemObject скрипт может открыть файл ibases.v8i, проверить наличие уже созданной базы и, если запись отсутствует, дописать нужный блок параметров.

Вариант 3. Централизованное подключение через 1CEStart.cfg (Рекомендуемый способ)

Выясним, как обойтись без постоянной модификации пользовательских файлов ibases.v8i. Самым надежным и масштабируемым решением является использование параметра CommonInfoBases в конфигурационном файле стартера 1CEStart.cfg.

Схема работы выглядит следующим образом:

  1. Администратор создает общий файл со списком баз (например, list.v8i) и выкладывает его в сетевую папку \\server\share\list.v8i или на веб-сервер http://server/list.v8i.
  2. В файл 1CEStart.cfg прописывается ссылка на этот общий список с помощью директивы CommonInfoBases.

В зависимости от задачи, файл 1CEStart.cfg можно настроить на двух уровнях:

1. Для всех пользователей компьютера:
Файл располагается по пути %PROGRAMDATA%\1C\1CEStart\1CEStart.cfg. Изменения в нем автоматически подключают общий список баз для всех учётных записей текущего ПК или терминального сервера.

2. Для конкретного пользователя:
Файл располагается по пути %APPDATA%\1C\1CEStart\1CEStart.cfg.

Пример содержимого файла 1CEStart.cfg:


CommonInfoBases=\\server\share\list.v8i
UseLargeIcons=0
ShowConnections=0

Для автоматической подстановки настроек новым пользователям Windows файл 1CEStart.cfg можно разместить в профиле по умолчанию: C:\Users\Default\AppData\Roaming\1C\1CEStart\1CEStart.cfg. При создании нового профиля операционная система автоматически скопирует конфигурацию стартера 1С.

← На главную