Чтение и проверка прав и ролей пользователей в 1С 8.3
✍️ @odin1C_rus
&НаСервере
Процедура ЧтениеИПроверкаПравИРолейПользователей() // Варианты прав: Чтение, Изменение, Добавление, Удаление, Проведение
// Чтение права к объекту метаданных у текущего пользователя
Если ПравоДоступа("Изменение", Метаданные.Справочники.Материалы) Тогда
Сообщить("Доступ к справочнику Материалы на изменение открыт!");
КонецЕсли;
// Чтение права к объекту метаданных у определенной роли
Если Не ПравоДоступа("Удаление", Метаданные.Справочники.Материалы, Метаданные.Роли.Менеджер) Тогда
Сообщить("У роли Менеджер нет прав на удаление в справочнике Материалы!");
КонецЕсли;
// Проверка права к объекту метаданных у других пользователей
ВсеПользователи = ПользователиИнформационнойБазы.ПолучитьПользователей();
Для Каждого Пользователь Из ВсеПользователи Цикл
Если ПравоДоступа("Изменение", Метаданные.Справочники.Материалы, Пользователь) Тогда
Сообщить("Доступ для " + Пользователь.Имя + " на изменение открыт!");
КонецЕсли;
КонецЦикла;
// Чтение роли у текущего пользователя
Если РольДоступна("Администратор") Тогда
Сообщить("У Вас права Администратора!");
КонецЕсли;
// Проверка права у пользователя и в случае его отсутствия - вызов исключения
ВыполнитьПроверкуПравДоступа("Изменение", Метаданные.Справочники.Материалы); // "Нарушение прав доступа!"
КонецПроцедуры
✍️ @odin1C_rus