Проверка наличия роли у пользователя с помощью функции глобального контекста РольДоступна(), не всегда вернёт верное значение.
Дело в том, что в конфигурациях на основе БСП, при включении пользователя в предопределенную группу доступа Администраторы, пользователю назначаются только две роли: Полн. и Адм. Все остальные роли откл. вне зависимости, включен ли пользователь в какие-либо еще группы доступа. Система считает, что другие роли этому пользователю не нужны. Поэтому функция РольДоступна() = Ложь в нашем случае.
Чтобы проверка роли вернула в нашем случае правильное значение делайте:
Если УправлениеДоступом.ЕстьРоль("НаименованиеНашейРоли") Тогда Сообщить("Да - Всё ОК"); КонецЕсли;
НО!!!! В таком случае роль будет Доступна!!! Если у пользователя полные права!!!
Если хотите проверить на доступность роли ВНЕ ЗАВИСИМОСТИ от прав пользователя, тогда вытаскивайте/переносите из общего
модуля: УправлениеДоступом
Функцию: ЕстьРоль
к себе в модуль и закомментируйте в ней:
//Если Пользователи.ЭтоПолноправныйПользователь(Пользователь) Тогда //Возврат Истина; //КонецЕсли;