Имя: Пароль:
1C
 
РольДоступна() или ПравоДоступа() ?
,
0 OldCondom
 
25.07.18
10:46
1. Другое 60% (3)
2. ПравоДоступа 40% (2)
3. РольДоступна 0% (0)
Всего мнений: 5

Извечный вопрос.
Всегда использовал конструкцию "и РольДоступна("ПолныеПрава"). Но тут возник спор с саповцами, что нарушаем саму парадигму разграничения прав(сам ни**я не понял).
В целом, правда похоже на костыль дополнительная проверка на полные права.

Допустим, надо всем ограничить доступ к справочнику, если нет прав "МожноРедактироватьЭтотСправочник". Как правильнее?

Если РольДоступна("МожноРедактироватьЭтотСправочник") или РольДоступна("ПолныеПрава")

или

Если ПравоДоступа("Изменение", Метаданные.Справочники.ЭтотСправочник)
?
7 Локи-13
 
25.07.18
11:11
(0) Зависит от задачи.

Право доступа у него может быть, а вот роли нет.
Что тогда? Давать доступ или нет?
Это две разные функции для разных задач.

ПравоДоступа - проверяем перед выполнением операции с БД, чтобы не получить ошибку.

РольДоступна - проверка по бизнес-процессу. У роли может вообще не быть галочек к объектам.

Другое
10 Cthulhu
 
25.07.18
11:29
(7) угумц.. утрированно - возможность и способ, что нужно проверять - зависит от контекста.

Другое
18 Tonik992
 
25.07.18
12:16
(17) По-моему самый исчерпывающий ответ.

Другое
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн