Справочные материалы по 1С

Роли, права доступа в 1С 8.x

Как узнать, доступна ли определенная роль текущему пользователю?

Если Не РольДоступна("Менеджер") Тогда
	Сообщить("Просмотр заявок от покупателей не разрешен!");
КонецЕсли;          
Как получить информацию о ролях конфигурации?

Функция СписокВозможныхРолейКонфигурации()

	СписокРолей = новый СписокЗначений;

	РолиКонфигурации = Метаданные.Роли;
	Для каждого Роль из РолиКонфигурации Цикл
		СписокРолей.Добавить(Роль.Имя);
	КонецЦикла;

	Возврат СписокРолей;
КонецФункции          
Как выполнить код без проверки прав?

1. Использовать привилегированный модуль 
2. Размещение программного кода, который должен выполняться БЕЗ КОНТРОЛЯ 
ОГРАНИЧЕНИЙ, в общий модуль с установкой у модуля флага ПРИВИЛЕГИРОВАННЫЙ.

	Использовать привилегированный режим исполнения программного кода
Аналогичный режиму работы кода привилегированных модулей. Режим можно 
включить/выключить средствами встроенного языка: 
УстановитьПривилегированныйРежим(<Включить>)
Параметр <Включить> (обязательный) 
Тип: Булево. Определяет, будет ли включен привилегированный режим: 
Истина - включить режим; 
Ложь - выключить режим. 

функция
	ПривилегированныйРежим()

	позволяет определить, включен привилегированный режим, или нет. 

	Использование привилегированного режима позволяет, во-первых, ускорить 
работу, так как не будут накладываться ограничения на доступ к данным, 
а во-вторых, позволяет выполнять операции с данными от лица пользователей, 
которым эти данные недоступны.

	Привилегированный режим рекомендуется использовать тогда, когда с 
логической точки зрения нужно отключить проверку прав, или когда можно
отключить проверку прав, чтобы ускорить работу. Допустимо использовать 
привилегированный режим тогда, когда работа с данными от лица некоторого 
пользователя не нарушает установленные для этого пользователя права доступа.        



Задайте вопрос программисту 1С

+7 901 312 83 57