我正在尝试创建自己的自定义深入分析功能,其中网址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;
我已经过测试,所有这些都被这些网址解雇了:
但是,如果我添加自己的案例,让所有其他代码保持不变,我就无法触发URL:
case 'myFunction':
sysStartupCmd = new SysStartUpCmdDrillDown(s,parm);
break;
我在整个系统中进行了挖掘,无法找出导致dynamics://
网址仅导致这三种情况的原因。有注册表项还是什么?我发现C\EventDrillDownPoller
似乎创建了一个PipeServer来处理传入的内容?
答案 0 :(得分:6)
当然,每次输入stackoverflow问题时,我都会找出自己的答案,但我认为这些信息非常有用。
此堆栈问题led me to find out that C:\Program Files (x86)\Microsoft Dynamics AX\50\Client\Bin\AxHLink.exe %1
处理Dynamics://网址。
导致我Microsoft's community forums其他人面临与我类似的问题。
所以解决方案是:
"c:\Program Files (x86)\Microsoft Dynamics AX\50\Client\Bin\Ax32.exe" -startupcmd=myfunction_myParams
并将其设为可点击链接。答案 1 :(得分:6)
您已经回答了自己的问题,但很容易(如果您知道的话)挂钩标准的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>
您可以在my pastebin找到我的自定义。