2011-11-22 140 views
2

使用crm 2011 sdk示例我在Visual Studio中编写了一个C#例程,用于停用自定义实体中的所有活动记录。现在我想将此例程连接到功能区上的自定义按钮(使用RibbonDiffXml计算出一个)然而,我不确定如何执行部署。我是否创建了一个DLL来注册插件注册工具?任何指导将不胜感激!部署CRM解决方案

回答

3

在我看来,你有两个选择:

  1. 重写你的代码从JavaScript中使用的组织服务。您可以通过这种方式将代码完全放入按钮中。但是,这需要手动构建对API的SOAP调用。 The SDK has a walkthrough for this
  2. 将您的代码包含在插件中,创建一个您可以注册该插件的自定义实体,并从JavaScript中创建该实体的实例,该实例将在点击您的功能区按钮时触发。详情请见an answer to a similar question
+0

谢谢马特。我将调查JavaScript重写。 – maatthias

+0

+1。另外,对于选项2,链接问题还包括@saeid的回答,涉及到针对父实体的* update *注册插件,而不是自定义实体的* create *。这可能会或可能不会比创建和维护人造实体更容易管理。 –

+0

目前为止,我能够使用SDK中的soaplogger运行我的c#例程以停用记录并获取原始soap请求。这里的问题是,现在我有5个肥皂请求(每个记录1个)。而我真正需要的是会停用所有活动记录的JavaScript。任何想法如何调整请求来做到这一点?谢谢! – maatthias

1

这里有更加替代解决方案:

  • 创建工作流程的插件,并触发该工作流(即异步运行在后台)。手动触发,事件或JavaScript。

  • 创建一个JavaScript,但使用REST API或甚至更好,使用CrmRestKit来处理REST部分,并保持脚本清洁,易于阅读和维护。

  • 创建一个ASP.NET页面(或silverlight控件),该页面显示一个对话框,该对话框在进程运行时显示进度条。