06.06.2011, 18:10 | #1 |
Участник
|
%2 %1 не инициализированы. Ошибка прав доступа
DAX 2009 SP1 RU6.
В процессе настройки системы каким-то образом в таблице прав скопились ссылки на меню-айтемы, которые отключены конфигурационными ключами. При этом если пользователь входит в группу с такой ссылкой и еще хотя бы в одну другую группу, то при старте клиента выдается сообщение "%2 %1 не инициализированы." Напрямую докопаться до места выдачи ошибки не получилось, уперлись в системный класс управления правами доступа. Экспериментальным путем найдена указанная причина. Мало ли кому пригодится джобик для поиска проблемных ссылок, запускать пользователю с правами Admin: X++: static void securityGroupsFix(Args _args) { AccessRightsList arl; ; while select arl where //(arl.groupId == '' || arl.groupId == '') && (arl.recordType == AccessRecordType::MenuItemAction || arl.recordType == AccessRecordType::MenuItemDisplay || arl.recordType == AccessRecordType::MenuItemOutput) { switch (arl.recordType) { case (AccessRecordType::MenuItemAction) : if (!global::hasMenuItemUserAccess(arl.elementName, MenuItemType::Action)) info(strfmt("%1 - %2", arl.groupId, arl.elementName)); break; case (AccessRecordType::MenuItemDisplay) : if (!global::hasMenuItemUserAccess(arl.elementName, MenuItemType::Display)) info(strfmt("%1 - %2", arl.groupId, arl.elementName)); break; case (AccessRecordType::MenuItemOutput) : if (!global::hasMenuItemUserAccess(arl.elementName, MenuItemType::Output)) info(strfmt("%1 - %2", arl.groupId, arl.elementName)); break; } } }
__________________
Ivanhoe as is.. |
|
|
За это сообщение автора поблагодарили: Logger (10), farlander (1). |
25.10.2012, 11:18 | #2 |
Участник
|
подскажите код метода hasMenuItemUserAccess
__________________
Всем спасибо.. |
|
25.10.2012, 11:28 | #3 |
Программатор
|
X++: static public boolean hasMenuItemAccess(MenuName name, MenuItemType type) { boolean ret = false; SysDictMenu sysDictMenu = SysDictMenu::newMenuItem(name, type); ; if (sysDictMenu) { ret = sysDictMenu.isVisible(); } return ret; } |
|
Теги |
ax2009, ошибка, права доступа |
|
|