I'm trying to create my own custom drilldown functionality, where a URL dynamics://0?myfunction_123456
will launch my own code.
In C\SysStartupCmd\construct
, this base code:
case 'viewalert':
sysStartupCmd = new SysStartUpCmdViewAlert(s,parm);
break;
case 'drilldown':
sysStartupCmd = new SysStartUpCmdDrillDown(s,parm);
break;
case 'viewalertrule':
sysStartupCmd = new SysStartUpCmdViewAlertRule(s,parm);
break;
I've tested and these all get fired with these URLs:
- dynamics://0/?DrillDown_382576
- dynamics://0/?ViewAlert_382576
- dynamics://0/?ViewAlertRule_382576
However, if I add my own case, leaving all other code the same, I can't get the URL to fire:
case 'myFunction':
sysStartupCmd = new SysStartUpCmdDrillDown(s,parm);
break;
I've dug all over the system and can't figure out what causes the dynamics://
URL to only fire for those three cases. Is there a registry entry or something? I've found C\EventDrillDownPoller
which appears to create a PipeServer to maybe handle what's incoming?
You have answered your own question, but it is quite easy (if you know how) to hook on the standard DrillDown code to customize AX to start a specific form like:
Starts AX on item 03310511 in company XXX
It will assume reasonable defaults.
And AX can be called from a HTML e-mail, assuming the receiver has an AX client!
You find my customization in my pastebin.
Of course, I figure out my own answer every time I type up a stackoverflow question, but I think the information is really useful.
This stack question led me to find out that
C:\Program Files (x86)\Microsoft Dynamics AX\50\Client\Bin\AxHLink.exe %1
handles Dynamics:// URLs.Which led me to Microsoft's community forums where somebody else was facing a similar problem as me.
So the solution would be to either:
"c:\Program Files (x86)\Microsoft Dynamics AX\50\Client\Bin\Ax32.exe" -startupcmd=myfunction_myParams
and make that a clickable link.