Уведомления
Очистить все

Проверка наличия роли у пользователя

1 Записи
1 Пользователи
0 Likes
3,404 Просмотры
96-150 Okolokompa Форум
(@sadovod)
Prominent Member
Присоединился: 4 года назад
Записи: 258
Создатель темы  

Проверка наличия роли у пользователя с помощью функции глобального контекста РольДоступна(), не всегда вернёт верное значение.

Дело в том, что в конфигурациях на основе БСП, при включении пользователя в предопределенную группу доступа Администраторы, пользователю назначаются только две роли: Полн. и Адм. Все остальные роли откл. вне зависимости, включен ли пользователь в какие-либо еще группы доступа. Система считает, что другие роли этому пользователю не нужны. Поэтому функция РольДоступна() = Ложь в нашем случае.

Чтобы проверка роли вернула в нашем случае правильное значение делайте:

Если УправлениеДоступом.ЕстьРоль("НаименованиеНашейРоли") Тогда
Сообщить("Да - Всё ОК");
КонецЕсли;

НО!!!! В таком случае роль будет Доступна!!! Если у пользователя полные права!!!

Если хотите проверить на доступность роли ВНЕ ЗАВИСИМОСТИ от прав пользователя, тогда вытаскивайте/переносите из общего

модуля: УправлениеДоступом

Функцию: ЕстьРоль

к себе в модуль и закомментируйте в ней:

//Если Пользователи.ЭтоПолноправныйПользователь(Пользователь) Тогда
//Возврат Истина;
//КонецЕсли;

   
Цитата
Поделиться: