Dynamics crm 部署CRM解决方案

Dynamics crm 部署CRM解决方案,dynamics-crm,dynamics-crm-2011,Dynamics Crm,Dynamics Crm 2011,使用crm 2011 sdk示例,我在Visual Studio中编写了一个C#例程来停用自定义实体中的所有活动记录。现在,我想将这个例程连接到ribbon上的一个自定义按钮(使用RibbonDiffXml解决了这个问题),但是我不确定如何进行部署。我正在创建一个dll来注册插件注册工具吗?任何指导都将不胜感激 在我看来,您有两个选择: 重写代码以使用JavaScript中的组织服务。您可以通过这种方式将代码完全放入按钮中。但是,这需要手动构造对API的SOAP调用 在插件中包含您的代码,创建一

使用crm 2011 sdk示例,我在Visual Studio中编写了一个C#例程来停用自定义实体中的所有活动记录。现在,我想将这个例程连接到ribbon上的一个自定义按钮(使用RibbonDiffXml解决了这个问题),但是我不确定如何进行部署。我正在创建一个dll来注册插件注册工具吗?任何指导都将不胜感激

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

  • 重写代码以使用JavaScript中的组织服务。您可以通过这种方式将代码完全放入按钮中。但是,这需要手动构造对API的SOAP调用
  • 在插件中包含您的代码,创建一个自定义实体,您可以注册此插件,并从JavaScript创建该实体的实例,该实例将在单击功能区按钮时触发。详细信息请参见

  • 以下是更多的替代解决方案:

    • 创建工作流插件并触发该工作流(在后台异步运行)。通过事件或javascript手动触发

    • 创建一个javascript,但使用restapi或更好的方法,使用CrmRestKit处理REST部分,并保持脚本干净、易于阅读和维护

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


    谢谢你,马特。我将研究javascript重写。+1。此外,对于选项2,链接问题还包括@saeid的回答,该回答涉及针对父实体的更新注册插件,而不是创建自定义实体。这可能比创建和维护人工实体更容易管理,也可能不容易管理。到目前为止,我能够使用SDK中的soaplogger运行我的c#例程来停用记录并获取原始soap请求。这里的问题是,现在我有5个soap请求(每个记录1个)。我真正需要的是javascript,它将停用所有活动记录。有没有关于如何调整请求以实现此目的的想法?谢谢@maatthias您可以使用一个SOAP请求来检索特定实体中的多个ID(所有ID),然后每个ID发送一个SOAP请求来删除每个记录,但是在我听说过的整个API中,没有任何方法可以处理基于集合的删除。即使是批量删除功能也会一次删除一条记录。