Использование метода "РольДоступна()"
Для проверки прав доступа в коде следует использовать метод ПравоДоступа
.
Например, неправильно:
Если РольДоступна("ДобавлениеИзменениеСтранМира") Тогда ...
Если РольДоступна("ПросмотрОтчетаПопулярныеСтраны") Тогда ...
правильно
Если ПравоДоступа("Редактирование", Метаданные.Справочники.СтраныМира) Тогда ...
Если
ПравоДоступа("Просмотр", Метаданные.Отчеты.ПопулярныеСтраны) Тогда ...
Такой подход позволяет повысить устойчивость кода к пересмотру состава ролей в конфигурации, а также обеспечить работоспособность конфигурации в особых режимах работы, когда реальный состав ролей отличается от спроектированного.
В тех случаях, где роль не дает никаких прав на объекты метаданных, а служит только для определения того или иного дополнительного права, следует использовать метод РольДоступна
. При использовании в конфигурации Библиотеки стандартных подсистем
(БСП) следует использовать функцию РолиДоступны
общего модуля Пользователи
.
Например, без использования БСП:
Если РольДоступна(...) Или <ЭтоПолноправныйПользователь> Или ПривилегированныйРежим() Тогда ...
Либо аналогичная проверка с использованием БСП:
Если Пользователи.РолиДоступны(...) Тогда ...
См. также
Экранирование кода
// sonar:DeprecatedMethodIsInRole:off
// sonar:DeprecatedMethodIsInRole:on