Назначение дополнительных ролей пользователю с полными правами
Столкнулся со следующей ситуацией:
- для контроля возможности выполнения определенных действий создана специальная роль, которая помещена в нужные профили групп доступа;
- в группы доступа этих профилей добавлены пользователи, которым разрешено выполнять действия.
Так вот, если добавленному пользователю не назначена роль "Полные права", то выражение РольДоступна(ИмяРоли) истинно, а если назначена - ложно.
Это баг или фича?
Я понимаю, что можно использовать РольДоступна(ИмяРоли) Или РольДоступна("ПолныеПрава"), но что мне делать, если не все полноправные пользователи могут выполнять контролируемое действие?
- для контроля возможности выполнения определенных действий создана специальная роль, которая помещена в нужные профили групп доступа;
- в группы доступа этих профилей добавлены пользователи, которым разрешено выполнять действия.
Так вот, если добавленному пользователю не назначена роль "Полные права", то выражение РольДоступна(ИмяРоли) истинно, а если назначена - ложно.
Это баг или фича?
Я понимаю, что можно использовать РольДоступна(ИмяРоли) Или РольДоступна("ПолныеПрава"), но что мне делать, если не все полноправные пользователи могут выполнять контролируемое действие?
По теме из базы знаний
- Назад в прошлое! Небольшие заметки по администрированию пользователей в УПП
- Организация дополнительного доступа к документам и справочникам для 1С: Бухгалтерии предприятия 3.0
- Подсистема прав доступа (анализ ролей, отладка RLS, английский код, обычные и управляемые формы)
- Переход с 1С:УПП на 1C:ERP. Переезд пользователей с сохранением прежних прав
- Создание профиля доступа с полными правами
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
При чем тут конфигуратор?
В конфигураторе роль создана.
В режиме предприятия эта роль добавлена в профили групп доступа - по сути назначена тем пользователям, которые входят в эти группы доступа.
В коде обработки есть конструкция
Так вот, если обработку выполняет пользователь, входящий в нужную группу доступа и не имеющий полных прав, то условие выполняется, и управление идет по ветке "тогда". А если обработку выполняет пользователь, входящий в нужную группу доступа и имеющий полные права, то условие не выполняется, и управление передается на ветку "иначе".
В конфигураторе роль создана.
В режиме предприятия эта роль добавлена в профили групп доступа - по сути назначена тем пользователям, которые входят в эти группы доступа.
В коде обработки есть конструкция
Если РольДоступна(ИмяРоли) Тогда ...
Так вот, если обработку выполняет пользователь, входящий в нужную группу доступа и не имеющий полных прав, то условие выполняется, и управление идет по ветке "тогда". А если обработку выполняет пользователь, входящий в нужную группу доступа и имеющий полные права, то условие не выполняется, и управление передается на ветку "иначе".
Если ты назначил пользователю полные права, то ему остального и не надо. Тебе правильно сказали - посмотри в конфигураторе или обработкой в режиме предприятия, которая показывает, какие роли назначены пользователю. Тут надо искать место(код) в конфигурации ( ну вот не помню), который отключает все лишние роли, когда назначаешь полные права в режиме предприятия.
В общих модулях есть Функция ЕстьРоль() - она пробивает роль даже если у твоего пользователя полные права и добавлено что-то еще дополнительно.
Погугли в каком она модуле находится и перенеси ее к себе в модуль.
А лучше погугли про эту функцию, там по моему какие-то строки нужно закоментить.
У меня заработали роли из расширения даже во Фреше.
Погугли в каком она модуле находится и перенеси ее к себе в модуль.
А лучше погугли про эту функцию, там по моему какие-то строки нужно закоментить.
У меня заработали роли из расширения даже во Фреше.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот