Here's a tip how to find out where the info message is thrown.
First, add a breakpoint in the Info class, method add:

After that, run the script that throws the error. As soon as the error message is thrown, the Axapta debugger will pop up:

In the call stack, you can double-click on any line and the debugger will go back to it. Let's say we clock on the third line of the screenshot above. The debugger will take us to the Class TaxCov, method TaxLedgerCov:

With the above method, it's pretty easy to find your way around the infos that Axapta gives you.
1 Kommentar:
You can also modify this method with:
Class: Info
Method: Add
Add this line
if (_sysInfoAction && !_sysInfoAction.enabled()) //test access rights
_sysInfoAction = null;
// DMG
if (!_sysInfoAction)
{
_sysInfoAction = this.callerInfo();
}
// DMG
if (_helpUrl || _sysInfoAction)
{
Create a method: CallerInfo
// DMG
SysInfoAction callerInfo()
{
UserInfo userInfo;
container callStack;
sysInfoAction_Editor infoAction;
;
select firstOnly debuggerPopup from userInfo
where userInfo.id == curUserId();
if(userInfo.debuggerPopup & 0x00FF == 0) // Debugg mode = No
{
return null;
}
callStack = xSession::xppCallStack();
return SysInfoAction_Editor::newLineColumn(conPeek(callStack, 7), conPeek(callStack, 8));
}
With this code when show the error, previuos to the Ok, Axapta create a new button to link you directly to the error.
Kommentar veröffentlichen