Как работает:
1) Вы выбираете ВИД метаданных, "Константы, Справочники, Документы, ПВХ"
2) Выбираете ТИП вида метаданных
3) Выбираете ПОЛЬЗОВАТЕЛЯ, у которого хотите проверить доступ на выбранный тип
4) Жмете кнопку ПРОВЕРИТЬ
После этих действий заполняется таблица всех возможных прав для созданных в программе ролей, теми значениями, которые доступны выбранному пользователю, т.е. вы выбрали вид СПРАВОЧНИК и тип ФИЗ ЛИЦА, после нажатия на кнопку проверить, вы увидите, что данный пользователь сможет сделать с данным справочником. После чего заполнятся таблица по регистрам сведений, в которых этот справочник упомянут и так же указываются доступные действия над указанными регистрами сведений, углубляться не стал вывел чтение и изменение. Если вам нужно выяснить, какую роль нужно добавить пользователю, чтобы он смог выполнить действие, которое ему недоступно, например УДАЛЕНИЕ, просто щелкаете по строчке, где написано это действие, в таблице отметятся роли, при добавлении которых пользователю можно разрешить данное действие, также в таблице доступных ему ролей отобразятся роли, которые ему доступны. Также при нажатии кнопки проверить заполнятся данные по регистрам движений, если вы выберите документ, которые будут дополнены показаниями о возможности чтения и редактирования.
Данная обработка тестировалась как на обычном интерфейсе, так и на управляемом. Конфигурация, на которой тестилась, УПП 1.3, думаю подойдет к любой конфигурации, т.к. использовались общие механизмы метаданных. Платформа, на которой тестировалась обработка, 1С:Предприятие 8.3 (8.3.10.2466).
P.S. Если что то подобное есть, подскажите, я что-то не нашел.
UPD для тех, кто скачал до 12.07.2024. Не корректно отображались роли выбранного пользователя.
для УФ обновить процедуру
&НаСервере
Процедура ПраваНаОбъектВыборНаСервере(Право)
ОбъектМетаданных = Метаданные[Вид][Тип];
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(Пользователь.ИдентификаторПользователяИБ);
Если ОбъектМетаданных = Неопределено Тогда
Возврат;
КонецЕсли;
РолиПОльзователя = ПользовательИБ.Роли;
ДоступныеРоли.Очистить();
Для Каждого РольМД Из Метаданные.Роли Цикл
Отбор = Новый Структура("Роль",РольМД.Синоним);
НайденныеСтроки = УчастиеВРолях.НайтиСтроки(Отбор);
НайденнаяСтрока = НайденныеСтроки[0];
Попытка
Разрешено = ПравоДоступа(Право,ОбъектМетаданных,РольМД);
НайденнаяСтрока.Действие = Разрешено;
Если РолиПОльзователя.Содержит(РольМД) Тогда
ДоступнаяРоль = ДоступныеРоли.Добавить();
ДоступнаяРоль.Роль = РольМД;
КонецЕсли;
Исключение
НайденнаяСтрока.Действие = Ложь;
КонецПопытки;
КонецЦикла;
КонецПроцедуры
Очень полезная обработка, однозначно плюс! Возьму в копилку.