В процессе администрирования крупных баз данных 1С:Управление торговлей 11 часто возникает необходимость провести ревизию списка пользователей. Одной из типовых задач является поиск сотрудников, у которых снят флажок "Вход в программу разрешен". Это актуально при увольнении сотрудников, необходимости освобождения лицензий или плановой очистке групп доступа. Разберем детально, какими способами можно выявить таких пользователей, если в стандартном списке справочника Пользователи нужный отбор не выведен по умолчанию.
Рассмотрим наиболее простой и доступный способ, не требующий навыков программирования. В современных конфигурациях на базе БСП (Библиотеки стандартных подсистем) предусмотрены мощные аналитические отчеты по правам доступа.
Проанализируем полученный результат: отчет выведет список всех элементов справочника Пользователи, у которых в настройках аутентификации снята соответствующая галочка. Этот метод позволяет быстро подготовить список для администратора.
Выясним важную техническую особенность: в актуальных версиях 1С:УТ 11 флаг "Вход в программу разрешен" тесно связан с признаком "Недействителен". Если пользователь больше не работает, администраторы часто устанавливают флаг "Недействителен", что автоматически скрывает его из списков выбора, но не удаляет из базы для сохранения истории документов.
Чтобы найти таких пользователей, воспользуемся инструментом Универсальный отчет:
Недействителен со значением Да.Этот способ позволяет увидеть тех пользователей, которые уже помечены как архивные, что часто совпадает с задачей поиска лиц с ограниченным входом.
Посмотрим на ситуацию со стороны разработчика. Иногда флаг в справочнике Пользователи может не совпадать с реальным состоянием в системном списке Пользователей Информационной Базы (ПИБ). Разберем, как программно получить список тех, у кого отключены все виды аутентификации.
Для решения задачи нам потребуется проанализировать свойства объекта ПользовательИнформационнойБазы. Рассмотрим следующий пример кода:
ПользователиИБ = ПользователиИнформационнойБазы.ПолучитьПользователей();
Для Каждого ТекущийПользователь Из ПользователиИБ Цикл
// Проверяем все возможные способы входа
ДоступРазрешен = ТекущийПользователь.АутентификацияСтандартная
ИЛИ ТекущийПользователь.АутентификацияОС
ИЛИ ТекущийПользователь.АутентификацияOpenID;
Если Не ДоступРазрешен Тогда
Сообщить("Пользователь без доступа: " + ТекущийПользователь.Имя);
КонецЕсли;
КонецЦикла;
В данном фрагменте кода мы используем метод ПолучитьПользователей(), который возвращает массив всех записей из системного списка. Мы анализируем три ключевых свойства: АутентификацияСтандартная (вход по логину/паролю 1С), АутентификацияОС (вход через доменную учетную запись) и АутентификацияOpenID. Если все три флага установлены в Ложь, пользователь физически не может авторизоваться в системе.
Часто задача звучит так: "Найти пользователей со снятым флажком и исключить их из групп доступа". Выполнять это вручную для каждого пользователя долго. Рассмотрим, как автоматизировать этот процесс с помощью обработки Групповое изменение реквизитов.
Проанализируем алгоритм действий:
Вход в программу разрешен Равно Нет.Важный момент: если вы не видите поле Вход в программу разрешен в списке доступных для отбора реквизитов справочника, убедитесь, что в настройках обработки включено отображение служебных реквизитов (кнопка "Дополнительные параметры" — флажок "Показывать служебные реквизиты").
Если нам необходимо выяснить, когда и кому был закрыт доступ, мы можем проанализировать Журнал регистрации. Каждое изменение прав или параметров аутентификации фиксируется системой.
Выполним следующие шаги:
Это поможет не только найти таких пользователей, но и понять, кто из администраторов внес изменения, что критично для аудита информационной безопасности.
Мы разобрали несколько подходов к поиску пользователей с ограниченным доступом. Для быстрой визуальной проверки идеально подходит отчет "Сведения о пользователях" с настроенным расширенным отбором. Если же требуется массовая обработка данных (например, исключение из групп), лучше использовать Групповое изменение реквизитов. Программистам же стоит опираться на свойства объекта ПользовательИнформационнойБазы для получения максимально достоверной информации из системного уровня платформы.