我想创建我自己的自定义drilldown功能,其中一个URL dynamics://0?myfunction_123456
将推出我自己的代码。
在 C\SysStartupCmd\construct
,这个基础代码。
case 'viewalert':
sysStartupCmd = new SysStartUpCmdViewAlert(s,parm);
break;
case 'drilldown':
sysStartupCmd = new SysStartUpCmdDrillDown(s,parm);
break;
case 'viewalertrule':
sysStartupCmd = new SysStartUpCmdViewAlertRule(s,parm);
break;
我测试过了,这些都是用这些URLs发射的。
但是,如果我添加自己的case,其他代码都不变,就无法让URL火起来。
case 'myFunction':
sysStartupCmd = new SysStartUpCmdDrillDown(s,parm);
break;
我挖遍了整个系统,也没能找出是什么原因导致了... dynamics://
URL要只针对这三种情况发射。 是不是有注册表条目什么的? 我发现 C\EventDrillDownPoller
这似乎是为了创建一个PipeServer来或许处理传入的东西?
当然,每次打出一个stackoverflow的问题,我都会自己找出答案,但我觉得这些信息真的很有用。
这个堆栈问题 让我发现 C:\Program Files (x86)\Microsoft Dynamics AX\50\Client\Bin\AxHLink.exe %1
处理Dynamics:/ URLs。
这让我想到了 微软的社区论坛 其中有人和我面临类似的问题。
因此,解决方案将是要么。
"c:\Program Files (x86)\Microsoft Dynamics AX\50\Client\Bin\Ax32.exe" -startupcmd=myfunction_myParams
并使之成为一个可点击的链接。你已经回答了你自己的问题,但这是很容易的(如果你知道怎么做的话),钩住标准的DrillDown代码来定制AX,以启动一个特定的表单,如。
在XXX公司的03310511项目上启动AX。
start dynamics://TEST/?DrillDown_0?table=InventTable&field=itemId&value=03310511&company=XXX
它将假定合理的默认值。
start dynamics://TEST/?DrillDown_0?table=CustTable&value=113545
而且AX可以从HTML邮件中调用,假设接收者有AX客户端。
<a href="dynamics://TEST/?DrillDown_0?table=CustTable&value=113545">113545</a>
你可以在 我的粘贴栏.