大(Da)多(Duo)数(Shu)框(Kuang)架(Jia),(?)都(Du)支(Zhi)持(Chi)插(Cha)件(Jian),(?)用(Yong)户(Hu)可(Ke)通(Tong)过(Guo)编(Bian)写(Xie)插(Cha)件(Jian)来(Lai)自(Zi)行(Xing)扩(Kuo)展(Zhan)功(Gong)能(Neng),(?)Dynamics CRM也(Ye)不(Bu)例(Li)外(Wai)。(?)昨(Zuo)晚(Wan)瑞(Rui)泰(Tai)资(Zi)深(Shen)技(Ji)术(Shu)专(Zhuan)家(Jia)陈(Chen)江(Jiang)涛(Tao)老(Lao)师(Shi),(?)为(Wei)大(Da)家(Jia)详(Xiang)细(Xi)分(Fen)享(Xiang)了(Liao)Dynamics CRM中(Zhong)的(De)Plugin开(Kai)发(Fa)经(Jing)验(Yan),(?)收(Shou)到(Dao)了(Liao)大(Da)家(Jia)的(De)高(Gao)度(Du)认(Ren)可(Ke)和(He)赞(Zan)许(Xu)。(?)
接(Jie)下(Xia)来(Lai)让(Rang)我(Wo)们(Men)一(Yi)起(Qi)回(Hui)顾(Gu)一(Yi)下(Xia)陈(Chen)江(Jiang)涛(Tao)老(Lao)师(Shi)的(De)直(Zhi)播(Bo)回(Hui)顾(Gu)及(Ji)课(Ke)程(Cheng)精(Jing)华(Hua),(?)不(Bu)容(Rong)错(Cuo)过(Guo)!(?)
plugin基(Ji)本(Ben)概(Gai)念(Nian)介(Jie)绍(Shao)
我(Wo)们(Men)先(Xian)来(Lai)熟(Shu)悉(Xi)一(Yi)下(Xia)几(Ji)个(Ge)涉(She)及(Ji)的(De)基(Ji)本(Ben)名(Ming)词(Ci),(?)首(Shou)先(Xian)是(Shi)我(Wo)们(Men)今(Jin)天(Tian)的(De)主(Zhu)角(Jiao)Plugin((?)插(Cha)件(Jian))(?),(?)它(Ta)是(Shi)一(Yi)种(Zhong)事(Shi)件(Jian)处(Chu)理(Li)程(Cheng)序(Xu),(?)通(Tong)过(Guo)它(Ta)可(Ke)以(Yi)修(Xiu)改(Gai)或(Huo)扩(Kuo)充(Chong)Dynamics CRM标(Biao)准(Zhun)的(De)业(Ye)务(Wu)流(Liu)程(Cheng),(?)如(Ru)创(Chuang)建(Jian)时(Shi)执(Zhi)行(Xing)自(Zi)定(Ding)义(Yi)逻(Luo)辑(Ji)。(?)另(Ling)外(Wai)是(Shi)SDK Message((?)SDK消(Xiao)息(Xi))(?),(?)通(Tong)过(Guo)它(Ta)可(Ke)以(Yi)获(Huo)取(Qu)CRM标(Biao)准(Zhun)功(Gong)能(Neng)中(Zhong)Create,(?)Update,(?)Delete等(Deng)相(Xiang)关(Guan)操(Cao)作(Zuo)的(De)事(Shi)件(Jian)信(Xin)息(Xi)。(?)
有(You)消(Xiao)息(Xi)就(Jiu)会(Hui)有(You)事(Shi)件(Jian)先(Xian)后(Hou)的(De)顺(Shun)序(Xu),(?)所(Suo)以(Yi)这(Zhe)边(Bian)就(Jiu)会(Hui)涉(She)及(Ji)两(Liang)个(Ge)名(Ming)词(Ci),(?)Pre-operation和(He)Post-operation。(?)具(Ju)体(Ti)而(?)言(Yan),(?)Pre-operation :消(Xiao)息(Xi)事(Shi)件(Jian)触(Chu)发(Fa)前(Qian)执(Zhi)行(Xing)一(Yi)个(Ge)动(Dong)作(Zuo);(?)Post-operation :消(Xiao)息(Xi)事(Shi)件(Jian)触(Chu)发(Fa)后(Hou)执(Zhi)行(Xing)一(Yi)个(Ge)动(Dong)作(Zuo)。(?)
另(Ling)外(Wai),(?)我(Wo)们(Men)今(Jin)天(Tian)谈(Tan)到(Dao)的(De)D365平(Ping)台(Tai)与(Yu)传(Chuan)统(Tong)平(Ping)台(Tai),(?)在(Zai)功(Gong)能(Neng)和(He)页(Ye)面(Mian)开(Kai)发(Fa)层(Ceng)面(Mian)均(Jun)有(You)不(Bu)同(Tong)之(Zhi)处(Chu)。(?)比(Bi)如(Ru)说(Shuo)在(Zai)功(Gong)能(Neng)开(Kai)发(Fa)层(Ceng)面(Mian):(?)传(Chuan)统(Tong)平(Ping)台(Tai)需(Xu)要(Yao)自(Zi)己(Ji)开(Kai)发(Fa),(?)而(?)365平(Ping)台(Tai)是(Shi)系(Xi)统(Tong)标(Biao)准(Zhun)的(De)功(Gong)能(Neng),(?)不(Bu)需(Xu)要(Yao)开(Kai)发(Fa)。(?)在(Zai)页(Ye)面(Mian)开(Kai)发(Fa)层(Ceng)面(Mian):(?)传(Chuan)统(Tong)平(Ping)台(Tai)需(Xu)要(Yao)自(Zi)己(Ji)开(Kai)发(Fa),(?)而(?)365平(Ping)台(Tai)只(Zhi)需(Xu)简(Jian)单(Dan)配(Pei)置(Zhi)即(Ji)可(Ke)。(?)
Plugin开(Kai)发(Fa)详(Xiang)解(Jie)
基(Ji)础(Chu)概(Gai)念(Nian)熟(Shu)悉(Xi)后(Hou),(?)下(Xia)面(Mian)我(Wo)们(Men)就(Jiu)可(Ke)以(Yi)来(Lai)开(Kai)发(Fa)plugin了(Liao),(?)这(Zhe)边(Bian)以(Yi)销(Xiao)售(Shou)订(Ding)单(Dan)创(Chuang)建(Jian)、(?)更(Geng)新(Xin)、(?)删(Shan)除(Chu)等(Deng)业(Ye)务(Wu)场(Chang)景(Jing)为(Wei)例(Li),(?)可(Ke)见(Jian)开(Kai)发(Fa)的(De)主(Zhu)要(Yao)流(Liu)程(Cheng)包(Bao)括(Kuo):(?)
1.新(Xin)建(Jian)VS解(Jie)决(Jue)方(Fang)案(An)项(Xiang)目(Mu)类(Lei)库(Ku),(?)这(Zhe)边(Bian)我(Wo)们(Men)可(Ke)以(Yi)按(An)模(Mo)块(Kuai)组(Zu)进(Jin)行(Xing)命(Ming)名(Ming);(?)
2.引(Yin)用(Yong)Microsoft.Xrm.Sdk.dll;(?)
3.新(Xin)建(Jian)销(Xiao)售(Shou)订(Ding)单(Dan),(?)继(Ji)承(Cheng)IPlugin接(Jie)口(Kou),(?)实(Shi)现(Xian)Execute方(Fang)法(Fa),(?)编(Bian)写(Xie)插(Cha)件(Jian)代(Dai)码(Ma),(?)实(Shi)现(Xian)业(Ye)务(Wu)逻(Luo)辑(Ji);(?)
4.选(Xuan)中(Zhong)类(Lei)库(Ku)项(Xiang)目(Mu),(?)然(Ran)后(Hou)右(You)键(Jian)进(Jin)行(Xing)属(Shu)性(Xing)修(Xiu)改(Gai),(?)比(Bi)如(Ru)签(Qian)名(Ming)、(?)路(Lu)径(Jing)等(Deng);(?)
5.最(Zui)后(Hou)编(Bian)译(Yi)生(Sheng)成(Cheng)类(Lei)库(Ku)项(Xiang)目(Mu)。(?)
Plugin调(Diao)试(Shi)技(Ji)巧(Qiao)
我(Wo)们(Men)都(Du)知(Zhi)道(Dao)写(Xie)代(Dai)码(Ma),(?)难(Nan)逃(Tao)BUG的(De)命(Ming)运(Yun),(?)为(Wei)此(Ci)我(Wo)们(Men)需(Xu)要(Yao)对(Dui)代(Dai)码(Ma)进(Jin)行(Xing)调(Diao)试(Shi),(?)对(Dui)CRM平(Ping)台(Tai)而(?)言(Yan),(?)有(You)两(Liang)种(Zhong)调(Diao)试(Shi)的(De)方(Fang)法(Fa)。(?)
第(Di)一(Yi)种(Zhong)是(Shi)拷(Kao)贝(Bei)文(Wen)件(Jian),(?)将(Jiang)编(Bian)译(Yi)生(Sheng)成(Cheng)Plugin项(Xiang)目(Mu),(?)拷(Kao)贝(Bei)到(Dao)相(Xiang)应(Ying)的(De)安(An)装(Zhuang)目(Mu)录(Lu)下(Xia)去(Qu),(?)用(Yong)Plugin注(Zhu)册(Ce)工(Gong)具(Ju)进(Jin)行(Xing)注(Zhu)册(Ce),(?)之(Zhi)后(Hou)在(Zai)VS上(Shang)附(Fu)加(Jia)进(Jin)程(Cheng)。(?)这(Zhe)种(Zhong)是(Shi)原(Yuan)始(Shi)的(De)调(Diao)试(Shi)方(Fang)式(Shi),(?)我(Wo)们(Men)不(Bu)推(Tui)荐(Jian)使(Shi)用(Yong)。(?)
第(Di)二(?)种(Zhong)是(Shi)Plugin Profiler,(?)具(Ju)体(Ti)的(De)操(Cao)作(Zuo)流(Liu)程(Cheng)如(Ru)下(Xia):(?)
1.安(An)装(Zhuang)Profiler(如(Ru)果(Guo)已(Yi)安(An)装(Zhuang),(?)可(Ke)忽(Hu)略(Lue));(?)
2.选(Xuan)中(Zhong)对(Dui)应(Ying)插(Cha)件(Jian)步(Bu)骤(Zhou),(?)点(Dian)击(Ji)Start Profiling;(?)
3.配(Pei)置(Zhi)Profiler设(She)置(Zhi);(?)
4.到(Dao)CRM的(De)界(Jie)面(Mian)中(Zhong)触(Chu)发(Fa)事(Shi)件(Jian),(?)下(Xia)载(Zai)日(Ri)志(Zhi)文(Wen)件(Jian);(?)
5.在(Zai)插(Cha)件(Jian)工(Gong)具(Ju)下(Xia)点(Dian)击(Ji)Stop Profiling;(?)
6.在(Zai)VS中(Zhong)附(Fu)加(Jia)Plugin Registration进(Jin)程(Cheng);(?)
7.插(Cha)件(Jian)工(Gong)具(Ju)点(Dian)击(Ji)debug,(?)在(Zai)弹(Dan)出(Chu)页(Ye)面(Mian)选(Xuan)择(Ze)刚(Gang)刚(Gang)下(Xia)载(Zai)的(De)日(Ri)志(Zhi)文(Wen)件(Jian)和(He)本(Ben)地(Di)生(Sheng)成(Cheng)目(Mu)录(Lu)的(De)dll文(Wen)件(Jian),(?)点(Dian)击(Ji)Start Execution;(?)
8.VS调(Diao)试(Shi)断(Duan)点(Dian)进(Jin)入(Ru),(?)即(Ji)可(Ke)本(Ben)地(Di)调(Diao)试(Shi)。(?)
这(Zhe)种(Zhong)方(Fang)式(Shi)非(Fei)常(Chang)简(Jian)单(Dan),(?)推(Tui)荐(Jian)使(Shi)用(Yong)。(?)
plugin常(Chang)用(Yong)开(Kai)发(Fa)技(Ji)巧(Qiao)和(He)问(Wen)题(Ti)
最(Zui)后(Hou)我(Wo)给(Gei)大(Da)家(Jia)分(Fen)享(Xiang)几(Ji)个(Ge),(?)plugin开(Kai)发(Fa)时(Shi)踩(Cai)过(Guo)的(De)坑(Keng)。(?)
1.注(Zhu)册(Ce)update插(Cha)件(Jian)获(Huo)取(Qu)entity踩(Cai)过(Guo)的(De)坑(Keng)
▲(?)Update插(Cha)件(Jian)获(Huo)取(Qu)的(De)entity只(Zhi)包(Bao)含(Han)该(Gai)条(Tiao)记(Ji)录(Lu)id和(He)修(Xiu)改(Gai)的(De)字(Zi)段(Duan)值(Zhi)Create;(?)
▲(?)插(Cha)件(Jian)获(Huo)取(Qu)的(De)entity包(Bao)含(Han)该(Gai)条(Tiao)记(Ji)录(Lu)的(De)所(Suo)有(You)字(Zi)段(Duan)。(?)
2.注(Zhu)册(Ce)delete插(Cha)件(Jian)获(Huo)取(Qu)entity踩(Cai)过(Guo)的(De)坑(Keng)
▲(?)Update Create插(Cha)件(Jian)获(Huo)取(Qu)的(De)类(Lei)型(Xing)为(Wei)entity;(?)
▲(?)Delete 插(Cha)件(Jian) 获(Huo)取(Qu)的(De)实(Shi)体(Ti)为(Wei)entityreference;(?)
3.除(Chu)了(Liao)CUR以(Yi)外(Wai)还(Huan)有(You)那(Na)些(Xie)事(Shi)件(Jian)可(Ke)以(Yi)注(Zhu)册(Ce)?(?)
▲(?)Associate & Disassociate (N:N) 多(Duo)对(Dui)多(Duo)关(Guan)系(Xi);(?)
▲(?)Win & Lose 商(Shang)机(Ji)赢(Ying)单(Dan)和(He)丢(Diu)单(Dan)。(?)
瑞(Rui)泰(Tai)信(Xin)息(Xi)技(Ji)术(Shu)有(You)限(Xian)公(Gong)司(Si)成(Cheng)立(Li)于(Yu)2008年(Nian),(?)10多(Duo)年(Nian)来(Lai)专(Zhuan)注(Zhu)于(Yu) CRM 和(He)营(Ying)销(Xiao)数(Shu)字(Zi)化(Hua)领(Ling)域(Yu),(?)基(Ji)于(Yu)微(Wei)软(Ruan) Dynamics 365 + 瑞(Rui)泰(Tai) DX Apps 的(De)“(?)核(He)心(Xin)平(Ping)台(Tai)+行(Xing)业(Ye)应(Ying)用(Yong)”(?)模(Mo)式(Shi)助(Zhu)力(Li)企(Qi)业(Ye)营(Ying)销(Xiao)服(Fu)务(Wu)的(De)数(Shu)字(Zi)化(Hua)升(Sheng)级(Ji)。(?)旗(Qi)下(Xia)“(?)瑞(Rui)云(Yun)信(Xin)息(Xi)”(?) 专(Zhuan)注(Zhu)于(Yu)CRM领(Ling)域(Yu)的(De)SaaS应(Ying)用(Yong),(?)为(Wei)客(Ke)户(Hu)提(Ti)供(Gong)行(Xing)业(Ye)化(Hua)、(?)智(Zhi)能(Neng)化(Hua)的(De)营(Ying)销(Xiao)、(?)销(Xiao)售(Shou)和(He)服(Fu)务(Wu)云(Yun)应(Ying)用(Yong)。(?)