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