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:
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?
What is a dynamic URL? If the content of a site is stored in a database and pulled for display on pages on demand, dynamic URLs maybe used. In that case the site serves basically as a template for the content.
A dynamic URL is a page address that results from the search of a database-driven web site. Dynamic URLs are the URLs that are generated by a server or a content management system and are not easy to remember. These are created because the server or CMS doesn't know what to call each page.
Dynamic URLs or dynamic sites are generated at the moment a user submits a search query. Unlike static websites, they are not stored as a whole on the relevant server, but are generated with the stored data on the server and an application.
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.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
start dynamics://TEST/?DrillDown_0?table=InventTable&field=itemId&value=03310511&company=XXX
It will assume reasonable defaults.
start dynamics://TEST/?DrillDown_0?table=CustTable&value=113545
And AX can be called from a HTML e-mail, assuming the receiver has an AX client!
<a href="dynamics://TEST/?DrillDown_0?table=CustTable&value=113545">113545</a>
You find my customization in my pastebin.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With