При первом запуске «1С:Предприятия» на новом рабочем месте или в новом профиле пользователя система обнаруживает пустой список информационных баз и выводит стандартное модальное окно с вопросом: «Список информационных баз пуст. Добавить в список новую информационную базу?». Системные администраторы часто стремятся заменить этот текст на собственную подсказку с контактами службы технической поддержки (например, указать телефон или адрес внутренней хелпдеск-системы), а также скрыть стандартные кнопки выбора. Рассмотрим, почему это нельзя сделать стандартными методами платформы и как правильно решить данную задачу на уровне архитектуры сопровождения.
Проанализируем устройство окна запуска 1cestart.exe. Текст диалога о пустом списке баз заложен в скомпилированные библиотеки ресурсов локализации платформы (файлы вида *res.dll). В платформе отсутствуют штатные параметры запуска или настройки в конфигурационных файлах, позволяющие переопределить текст этого окна либо состав его кнопок.
Попытки модификации исполняемых файлов или библиотек ресурсов стартера с помощью HEX-редакторов несут в себе серьезные риски:
Вместо попыток исправить текст диалогового окна стартера разберем корректные инженерные подходы, которые полностью исключают появление ситуации с пустым списком баз у пользователя.
Наиболее надежный штатный способ организации работы пользователей — автоматическое подключение общих списков баз при помощи файла конфигурации программы запуска 1CEStart.cfg. Этот файл располагается по пути %ALLUSERSPROFILE%\1C\1CEStart\1CEStart.cfg (общий для всех пользователей компьютера) или в каталоге профиля %APPDATA%\1C\1CEStart\1CEStart.cfg.
С помощью директивы CommonInfoBases мы можем указать путь к централизованному файлу со списком баз (.v8i). При этом поддерживаются как пути локальной сети (UNC), так и публикация через веб-сервер по протоколам HTTP/HTTPS.
Посмотрим на пример заполнения файла 1CEStart.cfg:
InstalledLocation=C:\Program Files\1cv8
CommonInfoBases=http://intranet.company.local/1c_bases/corp_bases.v8i
CommonInfoBases=\\fileserver\1c_share\bases_sales.v8i
Обратим внимание на важный практический нюанс: чтение списков баз из общих сетевых папок Windows по протоколу SMB может вызывать ощутимую задержку при старте программы (от 5 до 15 секунд при нестабильном сетевом окружении). Размещение статического файла .v8i на корпоративном веб-сервере полностью нивелирует эту задержку и обеспечивает мгновенную загрузку списка баз при открытии стартера.
Если требуется гарантированно донести до сотрудников контакты технической поддержки непосредственно в окне выбора баз, рассмотрим создание специальной информационной записи. Добавим в общий файл .v8i фиктивную запись, которая будет визуально выделяться в стартовом окне.
Пример блока описания в файле .v8i:
[*** Телефон техподдержки: 102-30-40 ***]
Connect=ws="http://dummy-support-host/faq"
OrderInList=1
ClientConnectionSpeed=Normal
App=Auto
DefaultVersion=8.3
При таком подходе список баз пользователя никогда не окажется пустым. Стартер откроется штатно, первой строкой пользователь увидит справочные контакты, а вопрос системы о необходимости добавления новой базы отображаться не будет.
Разберем вариант, когда требуется доставить индивидуальный файл со списком баз ibases.v8i в профиль каждого пользователя до его первого входа в 1С. Для этого воспользуемся механизмом Group Policy Preferences (GPP):
ibases.v8i, содержащий ссылки на необходимые информационные базы.SYSVOL).Update или Replace, указав целевой путь: %APPDATA%\1C\1CEStart\ibases.v8i.При входе пользователя в операционную систему файл автоматически появится в его рабочем профиле, исключая показ системного сообщения о пустом списке.
Выясним, как полностью обойти окно стартера, если сотрудникам требуется работать строго с одной конкретной конфигурацией. Для этого используются два сценария:
.v8i: Готовый файл ярлыка конкретной информационной базы выносится прямо на рабочий стол пользователя. По двойному клику запускается исполняемый файл нужной версии платформы, минуя стартер со списком баз.1cv8.exe или тонкого клиента 1cv8c.exe с параметрами подключения:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBConnectionString "Srvr=""app-server"";Ref=""trade_db"";"
Использование централизованных настроек 1CEStart.cfg или прямой доставки параметров подключения позволяет полностью устранить обращение пользователя к системному окну добавления баз и обеспечивает предсказуемую работу службы сопровождения.