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