При автоматизированной установке платформы «1С:Предприятие» и тиражировании рабочих мест системные администраторы часто сталкиваются с задачей предварительного наполнения списка информационных баз. Возникает вопрос: существует ли специальный ключ командной строки, который позволяет просто добавить существующую базу в список ibases.v8i и сразу завершить работу, ничего не запуская?
Разберем эту задачу подробно, проанализируем ограничения встроенных параметров платформы и рассмотрим надежные способы автоматизации настройки списка баз.
Выясним причину, по которой стандартная командная строка не решает эту задачу напрямую. В платформе 1С:Предприятие 8 параметр CREATEINFOBASE действительно умеет регистрировать базу в списке, но он предназначен исключительно для физического создания новой информационной базы (пустой или из файла шаблона/резервной копии). Специального параметра командной строки для простой регистрации уже существующей (файловой или серверной) базы в локальном перечне без запуска пользовательского сеанса в платформе не предусмотрено.
Поэтому задача регистрации баз решается системными средствами путем работы с конфигурационными файлами стартера 1С.
Рассмотрим наиболее гибкий и масштабируемый подход. Вместо модификации локального файла баз каждого пользователя можно подключить централизованный список баз через директиву CommonInfoBases.
Конфигурационный файл стартера 1CEStart.cfg может располагаться:
%APPDATA%\1C\1CEStart\1CEStart.cfg%ALLUSERSPROFILE%\1C\1CEStart\1CEStart.cfg (в современных версиях Windows это каталог C:\ProgramData\1C\1CEStart\1CEStart.cfg).Если прописать путь к файлу списка в общесистемном каталоге ProgramData, настройки автоматически применятся для всех пользователей компьютера.
Посмотрим на пример указания пути в 1CEStart.cfg:
CommonInfoBases=\\server\share\1c_bases\bases.v8i
Кроме сетевого пути стартер 1С поддерживает загрузку списка по протоколам HTTP/HTTPS:
CommonInfoBases=http://vpn-server.local/1c/bases.v8i
При таком подходе при развертывании удаленного рабочего места через VPN достаточно один раз добавить строку с URL в конфигурационный файл. После этого любые изменения перечня баз производятся централизованно на веб-сервере без необходимости перенастраивать клиентские машины.
Разберем вариант, когда требуется локально наполнить файл баз пользователя ibases.v8i (расположенный в %APPDATA%\1C\1CEStart\). Файл имеет текстовую структуру INI и кодировку UTF-8.
Рассмотрим структуру описания серверной информационной базы:
[Бухгалтерия предприятия]
Connect=Srvr="srv-1c";Ref="buh";
ClientConnectionSpeed=Low
App=ThinClient
Version=8.3
Обратим внимание на важные параметры при удаленной работе:
ID (GUID базы) указывать не обязательно: стартер 1С при первом запуске и чтении файла автоматически сгенерирует недостающий идентификатор.App=ThinClient принудительно указывает режим тонкого клиента.ClientConnectionSpeed=Low включает режим сжатия трафика и оптимизации под низкую скорость соединения (актуально для VPN-каналов).Version=8.3 фиксирует версию платформы.Посмотрим на пример командного файла .bat, который проверяет наличие нужной папки, копирует шаблонные настройки и стартует процесс:
@echo off
if not exist "%AppData%\1C\1CEStart" md "%AppData%\1C\1CEStart" >nul
rem Проверяем, подключен ли уже общий список баз
find /i "CommonInfoBases" "%AppData%\1C\1CEStart\1CEStart.cfg" >nul 2>&1
if %errorlevel% neq 0 (
echo CommonInfoBases=\\corp\1c\bases.v8i >> "%AppData%\1C\1CEStart\1CEStart.cfg"
)
rem Запуск стартера платформы
start "" "C:\Program Files\1cv8\common\1cestart.exe"
Если для удаленного пользователя требуется создать ярлык под конкретную базу без открытия общего диалога запуска, можно вынести отдельный файл base_name.v8i на рабочий стол. При установленной платформе расширение .v8i автоматически ассоциировано со стартером 1cestart.exe, и двойной клик по такому файлу сразу инициирует подключение к указанной информационной базе.