Цитата:
Сообщение от
Wamr
Предлагаю вот такой вариант исправления (доработанный вариант кода из указанного поста):
Класс 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 <--
}
Класс SysSecEntryPointManager::parmRecording()
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);
}
Форма SysSecEntryPointManager, метод clicked() кнопки SecurityRecorder
X++:
void clicked()
{
SysGlobalCache globalCache = appl.globalCache();
SysSecRecordedEntryPoint recordedObjects;
DialogButton dialogButton;
. . .
SysSecEntryPointManager::parmRecording(isRecording); // fix
element.lockWindowUpdate(false);
}