Имя: Пароль:
1C
1С v8
УПП Получить список пользователей по роли
,
0 laby1
 
27.04.16
08:33
Как в УПП получить список пользователей, которым назначена указанная роль.
1 NoiseRND
 
27.04.16
08:38
Анализ прав пользователей.epf
2 Heckfy
 
27.04.16
08:39
Глобальный контекст (Global context)
РольДоступна (IsInRole)
Синтаксис:

РольДоступна(<Роль>)
Параметры:

<Роль> (обязательный)

Тип: Строка; ОбъектМетаданных: Роль.
Название роли как она задана в конфигураторе или объект описания метаданного роли.
Возвращаемое значение:

Тип: Булево.
Истина - роль доступна текущему пользователю; Ложь - в противном случае.
Описание:

Определяет доступность указанной роли текущему пользователю.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Если передан неверный тип параметра или указано неверное значение, генерируется исключение.
Пример:

Если Не РольДоступна("Менеджер") Тогда
    Сообщить("Просмотр заявок от покупателей не разрешен!");
КонецЕсли;
3 FIXXXL
 
27.04.16
08:43
(2) это под каждым зайти надо :)
(0) доступ на БСП или по старинке?
в БСП можно запросом вытянуть
по старинке если надо перебирать в цикле

ПользовательИнформационнойБазы (InfoBaseUser)
Роли (Roles)
Использование:

Только чтение.
Описание:

Тип: РолиПользователя.
Содержит коллекцию ролей пользователя информационной базы.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Доступно только пользователю с административными правами.
4 FIXXXL
 
27.04.16
08:44
(3) первый цикл по

Глобальный контекст (Global context)
ПользователиИнформационнойБазы (InfoBaseUsers)
Использование:

Только чтение.
Описание:

Тип: МенеджерПользователейИнформационнойБазы.
Используется для управления списком пользователей информационной базы.

Доступность:

Сервер, толстый клиент, внешнее соединение.

вложенный - по ролям и искать по имени роли
5 Heckfy
 
27.04.16
08:47
Ну тогда как то так.... :)
Пользователи=ПользователиИнформационнойБазы().ПолучитьПользователей();
Для Каждого Пользователь Из Пользователи Цикл
Роли=Пользователь.Роли();
Для Каждого Роль Из Роли Цикл
Если Роль=ТвояРоль Тогда
Сообщить(""+Пользователь);
КонецЕсли;
КонецЦикла;
КонецЦикла;
6 laby1
 
27.04.16
09:50
Через профили запрос сделал:

ВЫБРАТЬ различные
    Пользователи.Код КАК ИмяВхода,
    Пользователи.Ссылка КАК ФИО,
    ПрофилиПолномочийПользователей.Ссылка КАК Профиль
ИЗ
    Справочник.Пользователи КАК Пользователи
        ПОЛНОЕ СОЕДИНЕНИЕ Справочник.ПрофилиПолномочийПользователей КАК ПрофилиПолномочийПользователей
        ПО Пользователи.ПрофильПолномочийПользователя = ПрофилиПолномочийПользователей.Ссылка
        ПОЛНОЕ СОЕДИНЕНИЕ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
        ПО Пользователи.ФизЛицо = СотрудникиОрганизаций.Физлицо
ГДЕ
    ПрофилиПолномочийПользователей.СоставРолей.ИмяРоли = &Роль
    И СотрудникиОрганизаций.Актуальность = &Актуальность

УПОРЯДОЧИТЬ ПО
    Пользователи.Наименование

А как достать те, которые назначены без профиля роли - в какой табл?
7 FIXXXL
 
27.04.16
09:54
(6) через метаданные (5)
8 laby1
 
27.04.16
09:59
(7) А в запросе как метаданные эти достать?
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший