При работе в терминальном режиме на базе Windows Server 2008 системные администраторы и пользователи 1С 7.7 часто сталкиваются с задачей разграничения видимости информационных баз. Например, необходимо добавить тестовую или служебную базу конкретному сотруднику так, чтобы остальные пользователи терминала её не видели и она не засоряла общий список.
Рассмотрим подробнее, как устроено хранение списка баз 1С 7.7, почему базы могут появляться у всех пользователей одновременно и какими способами можно настроить индивидуальный список баз.
Разберем механику работы платформы 1С 7.7. В отличие от более свежих версий платформы, 1С 7.7 хранит список подключенных информационных баз в системном реестре Windows в профиле текущего пользователя.
Основная ветка реестра, отвечающая за список баз текущего пользователя:
HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles
В этой ветке каждому параметру соответствует путь к каталогу информационной базы (с обязательным завершающим слэшем), а значением параметра является отображаемое название базы в окне запуска.
Однако на терминальном сервере Windows Server 2008 присутствует особенность: если запуск или настройка 1С производились под администратором в режиме установки приложений, список баз может дублироваться в системную ветку реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\TerminalServer\Install\Software\1C\1Cv7\7.7\Titles
Из-за этого все новые пользователи автоматически наследуют общий список баз при первом входе. Выяснив причину, разберем по шагам практические способы настройки индивидуального списка.
Поскольку ветка HKEY_CURRENT_USER уникальна для каждого пользователя терминального сервера, добавление записи непосредственно в профиль нужного сотрудника не затронет остальных пользователей.
Рассмотрим, как внести запись в реестр через командную строку или скрипт:
reg add:
reg add "HKCU\Software\1C\1Cv7\7.7\Titles" /v "C:\Bases\TestBase\" /t REG_SZ /d "Тестовая база" /f
Обратите внимание: путь к каталогу базы обязательно должен завершаться обратным слэшем \, иначе платформа 1С 7.7 не сможет корректно сопоставить запись в реестре с папкой базы.
Альтернативный вариант — создать .reg-файл следующего содержания и импортировать его под нужным пользователем:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles]
"C:\\Bases\\TestBase\\"="Тестовая база"
Проанализируем еще одно удобное решение, которое позволяет вообще не модифицировать список баз в окне запуска, а предоставить пользователю прямой доступ к тестовой базе.
Для этого создаем ярлык на рабочем столе пользователя с ключом командной строки для прямого запуска базы:
1cv7.exe (или 1cv7s.exe для сетевой версии).enterprise /d"ПутьКБазе":
"C:\Program Files (x86)\1Cv77\BIN\1cv7.exe" enterprise /d"C:\Bases\TestBase\"
Размещаем данный ярлык исключительно на рабочем столе или в меню «Пуск» конкретного пользователя (в папке его личного профиля). В этом случае другие пользователи терминала не увидят этот ярлык, а целевой сотрудник сможет сразу открывать нужную информационную базу.
Если информационных баз много и стандартное окно запуска 1С 7.7 становится неудобным, проанализируем варианты группировки баз:
Сочетание точечной настройки ветки HKEY_CURRENT_USER и создания личных ярлыков позволяет эффективно управлять списком информационных баз 1С 7.7 на терминальном сервере Windows Server 2008 без риска раскрытия тестовых баз другим сотрудникам.