Dynamics CRM 365 - 零基礎入門學習後端外掛語法總結(樣例使用方法)
Dynamics CRM 365 - 零基礎入門學習後端外掛語法總結(樣例使用方法)
整理下平時CRM開發中用到的一些基本的外掛語法,或許對初學Dynamics的新手有所幫助
- 外掛必寫文
public IPluginExecutionContext context = null;//上下文
public IOrganizationServiceFactory serviceFactory = null;//組織服務工廠物件
public IOrganizationService service = null;//Org服務物件
//建立執行上下文
context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
//建立組織服務工廠物件
serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
//Org服務物件
service = serviceFactory.CreateOrganizationService(context.UserId);
//觸發當前外掛的那條記錄
Entity entity= service.Retrieve(context.PrimaryEntityName, context.PrimaryEntityId, new ColumnSet(true));
- 獲取當前實體對應的查詢型別id與實體
//獲取當前實體的查詢型別欄位的id
Guid guid = ((EntityReference)entity["查詢欄位名稱"]).Id;
//方法二
Guid guid = entity.GetAttributeValue<EntityReference>("查詢欄位名稱").Id;
//根據當前id去new出查詢欄位的實體
Entity entityMember = new Entity("對應的實體名稱", guid);
- 獲取選項集型別
OptionSetValue optionSet = (OptionSetValue)entity["選項集欄位"];
- 接收bool型別
bool result=entity.GetAttributeValue<Boolean>("兩個選項欄位名稱");
- 小數取整對欄位賦值
//將小數字段取出轉換為double型別
double sum= ((double)entity["小數字段名稱"]);
//小數四捨五入
EntityName["FileName"] = int.Parse(Math.Round(sum).ToString());
- 實體時間欄位加一年賦值
EntityName["FileName"] = Convert.ToDateTime(entity["時間欄位"]).AddYears(1);
- 查詢(自定義)
//建立查詢表示式
QueryExpression query = new QueryExpression("實體名稱");
//設定顯示的列
query.ColumnSet = new ColumnSet(new string[] { "列1", "列2", "列3"});
//建立條件表示式,查詢會員id對應的積分賬戶
ConditionExpression condition = new ConditionExpression()
{
//條件等於那一列
AttributeName = "列名",
Operator = ConditionOperator.Equal
};
//列名的條件,等於的id
condition.Values.Add(id);
//將條件表示式繫結到查詢表示式上
query.Criteria.AddCondition(condition);
//獲取查詢結果集合
EntityCollection collection = service.RetrieveMultiple(query);
- 查詢2(根據篩選配置)
string detailwhere= "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>";
detailwhere+= "<entity name='hy_jinhuodetails'>";
detailwhere+= "<attribute name='hy_jinhuodetailsid' />";
detailwhere+= "<attribute name='hy_name' />";
detailwhere+= "<attribute name='createdon' />";
detailwhere+= "<order attribute='hy_name' descending='false' />";
detailwhere+= "<filter type='and'>";
detailwhere+= "<condition attribute='hy_jinhuoname' operator='eq' uiname='"+currentEntity["hy_name"] +"' uitype='hy_jinhuo' value='"+currentEntity.Id+"' />";
detailwhere+= "</filter>";
detailwhere+= "</entity>";
detailwhere+= "</fetch>";
//建立條件表示式
FetchExpression condition = new FetchExpression(detailwhere);
//根據條件查詢查詢符合的entity集合
DataCollection<Entity> select = service.RetrieveMultiple(condition).Entities;
小Monkey還會不斷補充的
到此就結束啦,快去練習一下吧!歡迎大佬和小Monkey溝通。
感謝大佬指正 小Monkey
如果你覺得有用的話,就留個贊吧!蟹蟹
相關文章
- Dynamics CRM 365零基礎入門學習(一)Dynamics介紹以及開發工具配置
- 前端開發如何學習?後端?全棧?零基礎入門前端後端全棧
- Emmet外掛常用語法總結
- babel外掛入門-AST(抽象語法樹)BabelAST抽象語法樹
- 組合語言零基礎入門學習筆記(一)組合語言筆記
- lua學習之入門(二)----基礎語法1
- 零基礎學習Alfred(一):入門操作Alfred
- 零基礎輕鬆入門——JAVA基礎學習Java
- python 語法總結:Python語法快速入門Python
- 零基礎入門Python教程4節與基礎語法Python
- Scala學習 1.1 Scala基礎與語法入門實戰
- 前端零基礎入門學習!前端真簡單前端
- 零基礎入門web開發(4)——學習JavaScriptWebJavaScript
- ES6 語法學習總結
- 『學習資料推薦』零基礎掌握多國語言學習法
- maven 學習總結(一)——Maven入門Maven
- 如何將Dynamics CRM 2016(on-premises)升級到Dynamics 365(on-premises)REM
- 零基礎學習Java,全方位知識點總結!Java
- 我入門 Python 後總結的基礎教程Python
- Go語言基礎語法總結Go
- jQ基礎篇–外掛開發入門
- Web前端開發零基礎入門學習路線圖Web前端
- 零基礎人工智慧入門-限時免費學習人工智慧
- iOS-零基礎學習OpenGL-ES入門教程(一)iOS
- 廖雪峰JS學習總結-入門篇JS
- Dynamics 365 Web API Set Values of all Data Types using Web API in Dynamics CRM Through C#WebAPIC#
- PL/SQL基礎語法入門SQL
- Chrome外掛入門Chrome
- Vim外掛入門
- 前端學習小結(一)—基礎入門篇前端
- Java零基礎小白必看的學習路線圖,快速入門!Java
- 2023年零基礎怎麼學習Java入門?Java
- Python初學者(零基礎學習Python、Python入門)Python
- 零基礎入門深度學習工作原理?看本文就對了!深度學習
- 零基礎入門學習大資料可以從事哪些工作?大資料
- React入門學習例項React
- Web前端入門的學習路線總結Web前端
- 結合例項學習F#(一) --快速入門