Dynamics CRM 常用的JS
阿新 • • 發佈:2018-11-23
常用JS(一)
//阻止儲存(注:頁面上呼叫方法時要加Xrm.Page.context;引數隨意)
//對IFrame或者web窗體改路徑
Xrm.Page.context.getUserId(); //獲取當前使用者id Xrm.Page.context.getUserName(); //獲取當前使用者的使用者名稱 Xrm.Page.data.entity.getId(); //獲取當前記錄id Xrm.Page.context.getUserRoles(); //獲取當用戶的安全形色 Xrm.Page.context.getUser(); ////給查詢欄位(boarder)賦值獲取當前使用者 Xrm.Page.getAttribute("name").getValue(); //獲取欄位名為“name”的欄位值(注:如果是子層獲取父層的欄位,語句前加parent.window) Xrm.Page.getAttribute("name").setValue(“Inputer”); //給欄位名為“name”的欄位賦值 Xrm.Page.getAttribute("name").setSubmitMode("Inputer"); //給欄位名為“name”的欄位賦值後自動提交 Xrm.Page.getAttribute("欄位名").setRequiredLevel("required"); //改變欄位的欄位需求 (注:required業務必選;none可選;recommended業務推薦) Xrm.Page.getControl("st_portfoliomanager").setVisible(false); //隱藏名為“st_portfoliomanager”的欄位 Xrm.Page.getControl("st_portfoliomanager").setVisible(true); //取消隱藏(顯示)名為“st_portfoliomanager”的欄位 Xrm.Page.getControl("ownerid").setDisabled(true); //鎖欄位名為“ownerid”的欄位(注:頁首的欄位加header_) Xrm.Page.getControl("ownerid").setDisabled(false); //解鎖欄位名為“ownerid”的欄位 TabVisible("tab_3", false); //隱藏節名為tab_3的節(注:引數是true就是顯示) DisplayAll(); //隱藏所有tab節 Xrm.Page.data.save().then(function () {parent.window.location.reload();}); //頁面儲存並重新整理 Xrm.Page.getControl("st_customerneed").refresh(); //區域性重新整理(子網格也可以區域性重新整理) Xrm.Page.ui.getFormType(); //獲取當前頁面的狀態(注:1為新建,2為修改) Xrm.Page.ui.close(); //關閉當前頁面 Xrm.Page.getControl("欄位名").removeOption("值"); //刪除選項集中的選項
var Inputer = new Array(); var keyer= new Object(); keyer.id = Xrm.Page.context.getUserId(); keyer.entityType = "systemuser"; keyer.name = Xrm.Page.context.getUserName(); Inputer[0]=keyer; Xrm.Page.getAttribute(“boarder”).setValue(Inputer);//新建跳轉到其他實體並賦值(注:查詢欄位不能只傳一個id過去,至少要再加個name,0是true)
var customer= {}; customer["st_accountid"] = Xrm.Page.data.entity.getId(); //給新實體的”st_accountid“欄位賦值 customer["st_accountcount"] = 0; //開啟建立的記錄 Xrm.Utility.openEntityForm("新實體名", null, customer);
//阻止儲存(注:頁面上呼叫方法時要加Xrm.Page.context;引數隨意)
function onload(){ var eventArgs=context.getEventArgs(); eventArgs.preventDefault(); } function OnSave(context) { var saveEvent = context.getEventArgs(); if (Xrm.Page.getAttribute("new_servicesid").getValue() == null) { alert("Put in Project# or Support Case!"); saveEvent.preventDefault(); } }
//對IFrame或者web窗體改路徑
function product_change() { var web = Xrm.Page.ui.controls.get("IFrame或web窗體名"); var productid=Xrm.Page.getAttribute("st_productid").getValue(); if(productid!=null){ //DATA是要傳的引數 var params = "?DATA="+productid[0].id.replace('{', '').replace('}', ''); var newTarget = web +params; //傳值 web.setSrc(newTarget); } }//獲取一個使用者的所有的安全形色
var query = new QueryExpression { LinkEntities = { new LinkEntity { LinkFromEntityName = "role", LinkFromAttributeName = "roleid", LinkToEntityName = "systemuserroles", LinkToAttributeName = "roleid", LinkCriteria = new FilterExpression { FilterOperator =LogicalOperator.And, Conditions = { new ConditionExpression { AttributeName = "systemuserid", Operator = ConditionOperator.Equal, Values = { userModel.UserName } } } } } }, ColumnSet = new ColumnSet("name"), EntityName = "role" }; var userRoles = proxy.RetrieveMultiple(query).Entities;