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