2013-08-22 119 views
2

我目前正在开发一个系统,允许一个外部软件点击一个按钮,然后他将执行一些c#.net代码,计划通过使用调用动态导航RTC下面的代码。Dynamics NAV RTC:命令行参数传递

Process.Start("Microsoft.Dynamics.Nav.Client.exe"); 

外部应用程序包含我想要传递给NAV CRM的变量。

有没有一种方法,我可以通过传递参数,比如你会用类似下面的方式网址做到这一点:

Process.Start("Microsoft.Dynamics.Nav.Client.exe", "DynamicsNAV://localhost:7046/DynamicsNAV70/CRONUS%20UK%20Ltd./RunPage?Page=50000&No=10"); 

上面一行不起作用。我收到以下错误消息:

Priming dictionary contains a key 'no' which is not allowed

Parameter name: primingDictionary

社区中的任何人是否知道如何以类似的方式生成此功能?

回答

1

,你可以用它这样的:

ProcessStartInfo psi = new ProcessStartInfo("Microsoft.Dynamics.Nav.Client.exe", 
      "DynamicsNAV://localhost:7046/DynamicsNAV70/CRONUS%20UK%20Ltd./RunPage?Page=50000&No=10"); 
Process.Start(psi); 

的第一个参数是过程本身,secomd是论据。

你可以改变他们,只要你愿意

你可以学到的参数NAV接受here

+0

谢谢你的回应。我最初对我的问题是含糊不清的。我已经改变了这个问题,所以如果你知道我能如何解决这个很好的改变的问题。 – LiamHall

+0

@LiamHall当你解雇没有任何部分时会发生什么? –

+0

此参数传递工作:“DynamicsNAV:// localhost:7046/DynamicsNAV70/CRONUS%20UK%20Ltd。/ RunPage?Page = 50000然而,当我尝试添加参数时出现错误,当我点击错误动态NAV CRM不加载 – LiamHall

0

是的,只需要调用的Process.Start()这需要输入参数过载:

Process.Start("Microsoft.Dynamics.Nav.Client.exe", "DynamicsNAV://localhost:7046/DynamicsNAV70/CRONUS%20UK%20Ltd./RunPage?Page=50000&No=10"); 
+0

谢谢您的答复。我最初对我的问题是含糊不清的。我已经改变了这个问题,所以如果你知道我能如何解决这个很好的改变的问题。 – LiamHall