Проверка прав у роли программно

1. Gendelf 25.12.24 11:13 Сейчас в теме
Добрый день. Необходимо программно по каждой роли проверить есть ли в ней права на Администрирование, Журнал регистрации и т.п. Как это можно сделать?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user2107191 25.12.24 11:14 Сейчас в теме
3. Gendelf 25.12.24 16:32 Сейчас в теме
(2)
ПравоДоступа


ПравоДоступа("Администрирование", ТекСтрока)

ТекСтрока - объект метаданных роль. При этом возвращает Истина, даже там где галки Администрирование нет.
4. user2107191 25.12.24 16:44 Сейчас в теме
(3) Внимательно же прочитал параметры метода, да? Ничего не перепутал?
5. Gendelf 25.12.24 16:54 Сейчас в теме
(4) да, пробовал даже ПравоДоступа("Администрирование", ТекСтрока, ТекСтрока)
6. user2107191 25.12.24 16:55 Сейчас в теме
(5) Круто! То есть ты хотел узнать - а есть у роли право администрирования самой себя... Ну и как? Есть?
10. Gendelf 25.12.24 17:19 Сейчас в теме
(6) я про другое. Есть ли у текущей роли право "Администрирование", его по факту нет, но возвращает Истина.
11. user2107191 25.12.24 17:23 Сейчас в теме
(10) Да, ты про другое. Право не может существовать в воздухе, оно привязано к конкретному объекту.
Для какого объекта ты проверяешь право "Администрирование"?

ЧИТАЙ ПАРАМЕТРЫ!
14. Gendelf 26.12.24 10:13 Сейчас в теме
(11)
Для какого объекта ты проверяешь право "Администрирование"?


В этом и проблема, мне нужно получить роли в которых есть например "Администрирование" или "Журнал регистрации"
15. user2107191 26.12.24 10:22 Сейчас в теме
(14) Да нет никакой проблемы!!! Открой в конфигураторе роль, и посмотри, для каких объектов существует такое право!!! Право доступа не может существовать без объекта метаданных! Ключей без замка не бывает!

Например, для регистра сведений есть такое право - "Администрирование"???
Прикрепленные файлы:
16. Gendelf 26.12.24 10:49 Сейчас в теме
(15) т.е. обязателен перебор объектов и проверка по каждому объекту отдельно?
19. user2107191 26.12.24 11:27 Сейчас в теме
(16) В общем случае - конечно. Но есть и частные исключения.
Но обычно интересует наличие права к конкретному объекту.
Подсказка: в твоём случае это конкретный объект.
17. Gendelf 26.12.24 10:53 Сейчас в теме
(15) т.е. просто узнать у роли "Роль1" есть право "Администрирование" или нет, мы не можем?
20. user2107191 26.12.24 11:28 Сейчас в теме
(17) Можем. Вот когда ответишь на вопрос, тогда и поймешь
Например, для регистра сведений есть такое право - "Администрирование"???
13. spacecraft 25.12.24 17:37 Сейчас в теме
(10) "Если в момент выполнения метода установлен привилегированный режим, то всегда возвращается Истина."
user1619761; Gendelf; +2 Ответить
7. Gendelf 25.12.24 16:56 Сейчас в теме
(4) вот так пробовал

Для Каждого ТекСтрока Из Метаданные.Роли Цикл

зн = ПравоДоступа("Администрирование", ТекСтрока, ТекСтрока);

КонецЦикла;
8. пользователь 25.12.24 17:00
Сообщение было скрыто модератором.
...
9. Gendelf 25.12.24 17:17 Сейчас в теме
(8) цикл на будущее, чтобы проверять все права на конфигурацию
12. user2107191 25.12.24 17:24 Сейчас в теме
(9)
цикл на будущее, чтобы проверять все права на конфигурацию
Неверно. Ты перебираешь в цикле Роли.
А никак не "все права на конфигурацию".
Право и Роль - суть разное.
18. Gendelf 26.12.24 11:01 Сейчас в теме
21. пользователь 26.12.24 11:35
Сообщение было скрыто модератором.
...
22. пользователь 26.12.24 11:51
Сообщение было скрыто модератором.
...
23. пользователь 26.12.24 13:03
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот