2011-11-22 214 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控件),該頁面顯示一個對話框,該對話框在進程運行時顯示進度條。