|
УПП Получить список пользователей по роли
| ☑ |
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) А в запросе как метаданные эти достать?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший