大多數(shù)框架,都支持插件,用戶可通過編寫插件來自行擴展功能,Dynamics CRM也不例外。昨晚瑞泰資深技術專家陳江濤老師,為大家詳細分享了Dynamics CRM中的Plugin開發(fā)經驗,收到了大家的高度認可和贊許。
接下來讓我們一起回顧一下陳江濤老師的直播回顧及課程精華,不容錯過!
plugin基本概念介紹
我們先來熟悉一下幾個涉及的基本名詞,首先是我們今天的主角Plugin(插件),它是一種事件處理程序,通過它可以修改或擴充Dynamics CRM標準的業(yè)務流程,如創(chuàng)建時執(zhí)行自定義邏輯。另外是SDK Message(SDK消息),通過它可以獲取CRM標準功能中Create,Update,Delete等相關操作的事件信息。
有消息就會有事件先后的順序,所以這邊就會涉及兩個名詞,Pre-operation和Post-operation。具體而言,Pre-operation :消息事件觸發(fā)前執(zhí)行一個動作;Post-operation :消息事件觸發(fā)后執(zhí)行一個動作。
另外,我們今天談到的D365平臺與傳統(tǒng)平臺,在功能和頁面開發(fā)層面均有不同之處。比如說在功能開發(fā)層面:傳統(tǒng)平臺需要自己開發(fā),而365平臺是系統(tǒng)標準的功能,不需要開發(fā)。在頁面開發(fā)層面:傳統(tǒng)平臺需要自己開發(fā),而365平臺只需簡單配置即可。
Plugin開發(fā)詳解
基礎概念熟悉后,下面我們就可以來開發(fā)plugin了,這邊以銷售訂單創(chuàng)建、更新、刪除等業(yè)務場景為例,可見開發(fā)的主要流程包括:
1.新建VS解決方案項目類庫,這邊我們可以按模塊組進行命名;
2.引用Microsoft.Xrm.Sdk.dll;
3.新建銷售訂單,繼承IPlugin接口,實現(xiàn)Execute方法,編寫插件代碼,實現(xiàn)業(yè)務邏輯;
4.選中類庫項目,然后右鍵進行屬性修改,比如簽名、路徑等;
5.最后編譯生成類庫項目。
Plugin調試技巧
我們都知道寫代碼,難逃BUG的命運,為此我們需要對代碼進行調試,對CRM平臺而言,有兩種調試的方法。
第一種是拷貝文件,將編譯生成Plugin項目,拷貝到相應的安裝目錄下去,用Plugin注冊工具進行注冊,之后在VS上附加進程。這種是原始的調試方式,我們不推薦使用。
第二種是Plugin Profiler,具體的操作流程如下:
1.安裝Profiler(如果已安裝,可忽略);
2.選中對應插件步驟,點擊Start Profiling;
3.配置Profiler設置;
4.到CRM的界面中觸發(fā)事件,下載日志文件;
5.在插件工具下點擊Stop Profiling;
6.在VS中附加Plugin Registration進程;
7.插件工具點擊debug,在彈出頁面選擇剛剛下載的日志文件和本地生成目錄的dll文件,點擊Start Execution;
8.VS調試斷點進入,即可本地調試。
這種方式非常簡單,推薦使用。
plugin常用開發(fā)技巧和問題
最后我給大家分享幾個,plugin開發(fā)時踩過的坑。
1.注冊update插件獲取entity踩過的坑
▲Update插件獲取的entity只包含該條記錄id和修改的字段值Create;
▲插件獲取的entity包含該條記錄的所有字段。
2.注冊delete插件獲取entity踩過的坑
▲Update Create插件獲取的類型為entity;
▲Delete 插件 獲取的實體為entityreference;
3.除了CUR以外還有那些事件可以注冊?
▲Associate & Disassociate (N:N) 多對多關系;
▲Win & Lose 商機贏單和丟單。
瑞泰信息技術有限公司成立于2008年,10多年來專注于 CRM 和營銷數(shù)字化領域,基于微軟 Dynamics 365 + 瑞泰 DX Apps 的“核心平臺+行業(yè)應用”模式助力企業(yè)營銷服務的數(shù)字化升級。旗下“瑞云信息” 專注于CRM領域的SaaS應用,為客戶提供行業(yè)化、智能化的營銷、銷售和服務云應用。