![]() |
#1 |
Участник
|
![]()
Например, есть поле в таблице (или MenuItem или еще что-нибудь), нужно у группы изменить права доступа на это поле (или другой объект) из X++ .
Не подскажете, каким методом это можно сделать? А то что-то я запутался в секурных классах. ![]() |
|
![]() |
#2 |
Участник
|
Может я не понял вопрос. Зачем для этого кодить?
Программно проверить включён ли ключ можно так. X++: DictSecurityKey dictSecurityKey; ; dictSecurityKey = new DictSecurityKey(id ); if(!dictSecurityKey || (.rights() != AccessType::NoAccess))) { ..... } |
|
|
This post has been rated by: lev (1). |
![]() |
#3 |
Участник
|
Ключи тут не причем ! Я имею ввиду права доступа у полю таблицы или к пункту меню для определенной группы пользователей.
|
|
![]() |
#4 |
Участник
|
X++: secSet = SysSecurity::constructSecurityKeySet(); secSet.loadGroupRights(userGroup.id, ''); //Уровень доступа на MenuItem // secSet.access(_MenuItemId ,AccessType::NoAccess); //Уровень доступа на таблицу // secSet.tableAccess(_TableId,AccessType::NoAccess); //Сохранить xAccessRightsList::saveSecurityRights(secSet.packTouched(), userGroup.id, ''); |
|
|
This post has been rated by: Logger (1). |
![]() |
#5 |
Участник
|
egorych - а зачем это могло вам понадобиться?
|
|
![]() |
#6 |
Участник
|
Например, делается новый пункт меню или кнопка, привязывается к существующему SecurityKey, и доступ автоматом получают все, у кого этот ключ "включен". Затем нужно пройти по всем группам и выключить кому не положено.
Хочу эту процедуру чуть-чуть упростить. |
|
![]() |
#7 |
Участник
|
Может поможет вот этот проект? Это установка прав, но идем не от группы к правам, а наоборот: выбираем пункт на который нужно установить права и переходим в список групп.
|
|
|
This post has been rated by: Dron AKA andy (2), belugin (3), egorych (1), gl00mie (9), Umi (1), Egesihora (1), Maximin (2), Kabardian (3), Logger (5), denny (1), player (1), zemius (1), Alexanderrrr (1), andy.l (1), S.Kuskov (2), alex55 (2), sukhanchik (10), Just_smile (1), Proba (1), dn (2), ice321i (1), novic (1), vagon (1), Player1 (1), someOne (8), A_BAS (0), Xardas (1), mazzy (2), Ace of Database (4), PQRS (1), wedmak_dk (1), RVS (5), Товарищ ♂uatr (4). |
![]() |
#8 |
Участник
|
Спасибо, посмотрю.
Посмотрел, класс!!! То что я хотел делать! Дкмаю в полезное занести нужно Geändert von egorych (28.12.2007 um 16:52 Uhr) |
|
![]() |
#9 |
Талантливый разгвоздяй
|
Zitat:
Application version: 4.0.2501.121 Localization version: Eastern Europe Занес в полезное ;--). egorych, пожалуйста, поделитесь опытом:
Geändert von Kabardian (25.08.2009 um 14:51 Uhr) |
|
![]() |
#10 |
Участник
|
Zitat:
А как вы его писали ? Переложили дерево из стандартной формы прав доступа для групп на некое подобие реляционной структуры ? Известные косяки при использовании есть ? (уж очень стремно залезать в права самим) У вас на какой версии работало ? 3-ка ? |
|
![]() |
#11 |
Участник
|
Zitat:
А как вы его писали ?
Переложили дерево из стандартной формы прав доступа для групп на некое подобие реляционной структуры ? ![]() Geändert von Raven Melancholic (29.08.2009 um 20:41 Uhr) |
|
|
This post has been rated by: Logger (9), Kabardian (3). |
![]() |
#12 |
Участник
|
Активно пользуюсь данным инструментом на Ax3. Единственное замечание возникло.
Имеем форму, там кнопка, без ключа и без menuitem - простая кнопка. Стандартной формой "Права групп пользователей" без проблем можно выставить доступ NoAccess для нее, а вот эта не позволяет - пишет что-то типа "Для объекта доступен только режим View". За точность не ручаюсь, но смысл этот. А в остальном - посто класс! ps А на Ax 2009 не делали? А то мы 4 пропускаем, планируем сразу на 5. |
|
|
This post has been rated by: Raven Melancholic (5), Kabardian (3). |
![]() |
#13 |
Талантливый разгвоздяй
|
Zitat:
![]() |
|
![]() |
#14 |
Участник
|
|
|
![]() |
#15 |
Талантливый разгвоздяй
|
У меня убирается без проблем.
Как я проверял:
Скорее всего, этот баг наблюдается при особых условиях, т. е. отсутвие Security Key -- это всего лишь одно из необходымых условий его воспроизведения. |
|
![]() |
#16 |
Участник
|
Zitat:
Zitat von egorych
![]() Имеем форму, там кнопка, без ключа и без menuitem - простая кнопка. Стандартной формой "Права групп пользователей" без проблем можно выставить доступ NoAccess для нее, а вот эта не позволяет - пишет что-то типа "Для объекта доступен только режим View". За точность не ручаюсь, но смысл этот.
X++: case SysSecurityType::FormButton: X++: minAccess = sysSecurityFormSetup.getNeededAccessLevel(tmpSecurityTable.controlId); |
|
![]() |
#17 |
Участник
|
|
|
|
This post has been rated by: Pustik (3), Kabardian (3). |
![]() |
#18 |
Талантливый разгвоздяй
|
|
|
![]() |
#19 |
Участник
|
|
|
![]() |
#20 |
Талантливый разгвоздяй
|
Просто поделюсь опытом, может кому-нибудь пригодится.
Дано:
Задача:
Выполняется очееень долго (~4-9 часов) и не всегда завершается успешно. Оптимизировать времени не было, поэтому и хотфикс не выкладываю, а лишь делюсь опытом :-). |
|
|
This post has been rated by: Pustik (3). |
Stichworte |
axapta, законченный пример, полезное, права доступа, программно |
|
![]() |
||||
Thema | Antworten | |||
права доступа | 9 | |||
Права доступа Группы пользователей к таблице | 2 | |||
Права доступа на поля формы. | 6 | |||
Как программно изменить к-во в строке заказа в форме SalesTable | 2 | |||
Права доступа - Журнал платежей | 1 |
|