Профили групп доступа
1С:Бухгалтерия 3.0
Управление правами
Windows
Россия
1С
Новый релиз
Языки программирования
Пользователь
Программист
Конфигурация (md, cf)
Расширение (cfe)
Доброго времени суток.
Требуется помощь (ничего не знаю):
Дано:
- Есть расширение конфигурации, в нем есть обработка на групповое выведение документов.
В этой обработке есть кнопка "сформировать".
- Есть справочник "Профили групп доступа", в ней создана группа доступа "Управление" в различными ролями.
Задача:
Необходимо в модуле, на кнопке "сформировать", написать код:
если у пользователя не стоит "галочка" на группе доступа "Управление", то вызвать исключение "У вас нет прав доступа"
иначе продолжить формирование
Заранее благодарю за любые варианты, очень нужна помощь в понимании как пишется код.
Требуется помощь (ничего не знаю):
Дано:
- Есть расширение конфигурации, в нем есть обработка на групповое выведение документов.
В этой обработке есть кнопка "сформировать".
- Есть справочник "Профили групп доступа", в ней создана группа доступа "Управление" в различными ролями.
Задача:
Необходимо в модуле, на кнопке "сформировать", написать код:
если у пользователя не стоит "галочка" на группе доступа "Управление", то вызвать исключение "У вас нет прав доступа"
иначе продолжить формирование
Заранее благодарю за любые варианты, очень нужна помощь в понимании как пишется код.
По теме из базы знаний
- Профили групп доступа по пользователям
- Управление доступом: роли, права, профили, группы доступа, функциональные опции, RLS
- Удобная настройка прав, ролей, профилей и групп доступа
- Расширение "Множественный поиск ролей" - помощник настройки профилей групп доступа
- Добавление / удаление ролей в профиль группы доступа
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
а роли в группе доступа уникальны? ну т.е. в другой группе нет? (хотя на сколько помню роли указываются в профиле. а уже в группе профиль указывается)
если роли уникальны то проверь наличие роли РольДоступна(ИмяРоли)
если роли уникальны то проверь наличие роли РольДоступна(ИмяРоли)
(3)
Думаю можно даже запросом вытянуть ТЧ Пользователи элемента Группы доступа, а далее просто построчно проверить есть ли Текущий пользователь в списке и если есть вызвать Отказ)))
Будет проще в написании и через запрос должно отработать побыстрее(как мне кажется).
А пока писал понял что можно сделать запрос по Группе доступа и с Условием вхождения текущего пользователя в группу, если результат запроса НЕ ПУСТОЙ, тогда отказ и все)))
Думаю можно даже запросом вытянуть ТЧ Пользователи элемента Группы доступа, а далее просто построчно проверить есть ли Текущий пользователь в списке и если есть вызвать Отказ)))
Будет проще в написании и через запрос должно отработать побыстрее(как мне кажется).
А пока писал понял что можно сделать запрос по Группе доступа и с Условием вхождения текущего пользователя в группу, если результат запроса НЕ ПУСТОЙ, тогда отказ и все)))
(6)
Я себе это представляю как-то так)
ГруппаДоступа = Справочники.ГруппыДоступа.Администраторы;
ПользователиГруппы = ГруппаДоступа.Пользователи.Выгрузить();
Пользователь = Пользователи.ТекущийПользователь();
Для каждого Строка из ПользователиГруппы цикл
Если Строка.Пользователь = Пользователь тогда
Сообщить("Сорян, тебе нельзя жать эту кнопку");
КонецЕсли;
КонецЦикла;
ПоказатьЯ себе это представляю как-то так)
(6)
Прошу прощения, я не учел вашу задачу....
Этот код полностью удовлетворит потребности.
Единственное, Группу доступа нужно поправить, можно использовать метод "НайтиПоНаименованию".
Прошу прощения, я не учел вашу задачу....
ГруппаДоступа = Справочники.ГруппыДоступа.Администраторы;
ПользователиГруппы = ГруппаДоступа.Пользователи.Выгрузить();
Пользователь = Пользователи.ТекущийПользователь();
Поиск = ПользователиГруппы.Найти(Пользователь,"Пользователь");
Если НЕ Поиск = Неопределено тогда
Сообщить("Тебе нельзя жать кнопку!");
КонецЕсли;
Этот код полностью удовлетворит потребности.
Единственное, Группу доступа нужно поправить, можно использовать метод "НайтиПоНаименованию".