27.01.2011, 15:49 | #1 |
Участник
|
Определение доступа к контролам
Есть ли какой-то иной способ статически определить доступ к контролам (не тем, которые имеют отношение к данным или меню айтемам), например обыкновенным кнопкам, кроме как привязать их к ключу и выставить neededAccessLevel?
Сейчас объясню почему возник такой вопрос: в SysSecurityFormControlTable есть записи, касающиеся доступа к нескольким кнопкам(не menuItemButton'ам) определенной формы. При этом в самом дизайне в свойстах кнопок ключи не выставлены. В связи с этим и возникает вопрос: то ли есть какой-то иной способ определить доступ к кнопке, кроме как посредством ключа; то ли запись неверная и попала в таблицу или из-за ошибки синхронизации прав(то есть выставили ключ -> создалась запись, убрали ключ, а запись не удалилась), или вообще была кем-то проимпортированна\создана вручную.
__________________
Axapta has seduced me deadly! |
|
27.01.2011, 16:02 | #2 |
Участник
|
Насколько я помню, на такую кнопку можно поставить уровень доступа в настройке прав. Только нюанс - если пользователь входит в несколько групп, то настройка не сработает и кнопка будет доступна. Т.е. в общем случае все в порядке. Но желательно все-таки на кнопки вешать меню-айтемы.
__________________
Ivanhoe as is.. |
|
27.01.2011, 16:10 | #3 |
Участник
|
Цитата:
Просто дерево прав доступа включает в себя ключи, с подэлементами, которые к этим ключам привязаны. В этом дереве не отображаются объекты (в том числе и контролы), не привязанные к определенному ключу .
__________________
Axapta has seduced me deadly! Последний раз редактировалось HorrR; 27.01.2011 в 16:12. |
|
27.01.2011, 19:20 | #4 |
Участник
|
В общем, судя по всему записи таки артефактные и находятся в таблице по ошибке.
__________________
Axapta has seduced me deadly! |
|
27.01.2011, 19:27 | #5 |
Гость
|
|
|
27.01.2011, 20:17 | #6 |
Administrator
|
Потренировался - посмотрел как что работает.
В 3.0 таблички SysSecurityForm* точно работали. У них был глюк, связанный с тем, что после изменения дизайна формы - контролы могли перенумероваться и слетал доступ. Как сча в 4.0 не знаю - не пробовал. В 2009 SP1 RU5 доступ в дереве на кнопки (которые Button) установить / снять можно и это приведет к появлению записей в вышеуказанных таблицах... Но.. не работает. Т.е. Button отображается также, как будто на нее был установлен полный доступ. Установка выключенных Security Key конечно же эффект имеет. Также имеет эффект замена Button на MenuItemButton с запретом на привязанный Menu Item. Но и это понятно - т.к. доступ регулируется штатным механизмом контроля доступа к пункту меню. Даже не знаю - сожалеть об этом или нет. Полноценно - это все равно не могло работать, при постоянной доработке системы (а кто ее совсем не трогает?). С другой стороны - "помирать, так с музыкой" - могли бы убрать этот функционал вообще - а то вроде как доступ поставить/убрать можно, а не работает.
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: Ivanhoe (2). |
28.01.2011, 10:20 | #7 |
Участник
|
Цитата:
Цитата:
Можно Пример: 1. Откройте настройку прав доступа группы "Тест". 2. Расчеты с поставщиками, форма "Заказ на покупку", папка "Запасы". 3. Раскройте форму "Регистрация" - внутри найдете обычные кнопки, которые есть только в самой форме, например, "Разнести все". 4. Закройте доступ на кнопку. 5. Проверьте работу запрета, если пользователь входит только в группу "Тест". 6. Проверьте НЕ работу запрета, если пользователь также входит в любую другую группу.
__________________
Ivanhoe as is.. |
|
28.01.2011, 10:22 | #8 |
Участник
|
Плохо, если не работает - раньше работало
__________________
Ivanhoe as is.. |
|
28.01.2011, 10:51 | #9 |
Administrator
|
Мдя... Видимо в тот раз у меня что-то закешировалось.
Еще раз перепроверил на 2009 SP1 RU5. Классический пример - кнопка, которая отвечает за перевод из простого в расширенный режим на форме PurchTable Настраиваем права в группе Test (по умолчанию - на эту кнопку есть доступ, поэтому доступ убираем). Получаем: В табличках SysSecurityForm* имеем:
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 28.01.2011 в 10:57. |
|
28.01.2011, 11:04 | #10 |
Administrator
|
Цитата:
__________________
Возможно сделать все. Вопрос времени |
|