21.03.2014, 09:26 | #1 |
Участник
|
Работа Security development tool в AX 2012 R2 CU7
Добрый день. После обновления приложения на CU7 перестала работать функция записи в Security development tool.
При исследовании выяснилось следующее в CU6 при установке тулзы она создает класс новый SysSecurityRecorder_1CC4B7A84D53 в котором есть метод X++: public void MenuItemInvoked(UtilElementType _elementType, securableName _menuItemName) в CU7 этот класс уже есть в SYP слое, но вызова его не происходит. Может у кого есть идеи, как заставить это заработать? |
|
21.03.2014, 11:37 | #2 |
Участник
|
О! Аналогично, на проекте с CU6 работает, на CU7 - нет Кто разбирался?
__________________
Ivanhoe as is.. |
|
21.03.2014, 16:10 | #3 |
----------------
|
не ваш случай?
http://community.dynamics.com/ax/f/33/t/112673.aspx |
|
21.03.2014, 16:36 | #4 |
Читатель
|
Цитата:
Сообщение от Wamr
не ваш случай? http://community.dynamics.com/ax/f/33/t/112673.aspx
Класс SysSecurityRecorder_1CC4B7A84D53.menuItemInvoked() X++: public void menuItemInvoked(UtilElementType _elementType, securableName _menuItemName) { #SysTaskRecorderEntryPointManager if((xGlobal::clientKind() == ClientType::Client) && (!SysTaskRecorderEventManager::parmRecording()) && (!SysSecEntryPointManager::parmRecording())) // fix { return; } if(xSession::isCLRSession()) { return; } if(appl.globalCache().isSet(curUserId() + #SecEntryPoint, #EntryPointRecorderKey)) { SysTaskRecorderEntryPointManager::MarkEntryPointAsRecorded(_elementType, _menuItemName); } // fix --> // copied old code from ACC (before update) is restored #SysSecEntryPointManager if (appl.globalCache().isSet(curUserId() + #SecEntryPoint, #EntryPointRecorderKey)) { SysSecEntryPointManager::MarkEntryPointAsRecorded(_elementType, _menuItemName); } // fix <-- } X++: // fix public static boolean parmRecording(boolean _recording = false) { str key = curUserId() + #EntryPointRecorderKey + ".recording"; ; if( !prmisdefault( _recording) ) { SysTaskRecorderGlobal::setGlobalProperty(key, _recording); } return SysTaskRecorderGlobal::getGlobalProperty(key, _recording); } X++: void clicked() { SysGlobalCache globalCache = appl.globalCache(); SysSecRecordedEntryPoint recordedObjects; DialogButton dialogButton; . . . SysSecEntryPointManager::parmRecording(isRecording); // fix element.lockWindowUpdate(false); } Последний раз редактировалось b_nosoff; 21.03.2014 в 16:37. Причина: смайлы... |
|
|
За это сообщение автора поблагодарили: trud (4), Logger (3). |
29.09.2014, 18:32 | #5 |
Гость
|
Mohsin
но стека вызовов нет, т.е. вообще не понятно за счет чего происходит вызов
в CU7 этот класс уже есть в SYP слое, но вызова его не происходит. Может у кого есть идеи, как заставить это заработать? |
|
29.09.2014, 19:33 | #6 |
Участник
|
__________________
Ivanhoe as is.. |
|
30.09.2014, 10:37 | #7 |
Участник
|
За счет того, что само ядро "знает" про класс SysSecurityRecorder_1CC4B7A84D53 и его метод MenuItemInvoked(), точно так же как оно, к примеру, "знает" про форму SysExportDialog и наличие у нее методов getLabelLanguages(), getFilename(), getUtilLayer(), getExportFlag().
|
|
30.09.2014, 11:11 | #8 |
Участник
|
Извините за администраторский оффтопик:
suni93 забанен как бот, поскольку его сообщение полностью дублирует часть первого сообщения в теме. Чтобы снять бан suni93 должен написать в личку или на мне на почту mazzy@mazzy.ru Спасибо S.Kuskov, что обратил внимание на новый тип ботов. |
|
|
За это сообщение автора поблагодарили: gl00mie (1). |
Теги |
security development tool, syssecurityrecorder |
|
|