Настройка списка баз в 1С 7.7


В статье описан способ динамической настройки списка информационных баз пользователя 1С:Предприятие, версии 7.7 на основе настроек доменной учетной записи Windows

В «снеговиках» (1С 8), в отличие от «клюшек» (1С 7.7) есть классная возможность определять общий список баз. Что значительно упрощает перемещение информационной базы с одного сервера на другой в части настроек пользователей.

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

Как правило, для такой настройки, программист или админ выполняет эту работу до начала рабочего дня. В некоторых печальных случаях, этого сделать невозможно и вся ИТ-служба предприятия «попадает»…

Вдумчивый админ настроит запуск скрипта в политиках домена и для актуализации списка баз, пользователю необходимо будет перезапустить свой сеанс. Что, для последнего, не всегда удобно. Кто знает, сколько времени он потратил, чтобы открыть всю эту кучу разных «окошечек» и разместить на рабочем столе [-ах] в ему одному ведомом и удобном порядке?

Гораздо лучше, позаботится  об этом заранее, объединив, например, операции редактирования «нужной» ветки реестра и запуск 1С предприятия. В самом простом варианте, это выглядит, как размещенный в общем доступе vb-скрипт, который выполняет очистку списка баз, заполнение его заново по списку баз в теле скрипта или внешнем файле настройки и запуск 1С 7.7. Новый список баз в приложении будет представлен автоматически.

Необходимости приводить пример скрипта  не вижу. Достаточно взглянуть, как организован список информационных баз в ветке «HKCU\Software\1C\1cv7\7.7\Titles» реестра системы с настроенным приложением 1С 7.7.

Давайте подумаем, как можно улучшить это решение.

Например, список информационных баз можно хранить не в теле скрипта и, даже, не в отдельном конфигурационном файле, а в Active Directory. В «известной» подгруппе AD, создать группу [-ы], идентификатор которой дает нам [программе] понять, что группа определяет настройку доступа к базе данных. Имя информационной базы и путь к каталогу можно хранить в каких-нибудь реквизитах группы. Останется только получить идентификатор пользователя, выбрать через LDAP-запрос [пример похожего запроса можно посмотреть здесь] список его групп, определяющих доступ к информационным базам и, на основе данных реквизитов групп, заполнить список информационных баз.

Можно даже решиться на кардинальную перестройку системы безопасности доступа к информационной базе, убрав пароли для всех пользователей, но, установив проверку идентификатора пользователя домена при запуске приложения 1С 7.7. Что то вроде NTLM — аутентификации. В скрипте, кстати, можно тогда инициировать подключение непосредственно к информационной базе, без отображения списка информационных баз, если будет определено, что база — единственная в списке.