1. 程式人生 > >Dynamics CRM 常用的JS

Dynamics CRM 常用的JS

常用JS(一)
Xrm.Page.context.getUserId();       //獲取當前使用者id
Xrm.Page.context.getUserName();       //獲取當前使用者的使用者名稱
Xrm.Page.data.entity.getId();        //獲取當前記錄id
Xrm.Page.context.getUserRoles();       //獲取當用戶的安全形色
Xrm.Page.context.getUser();        //
獲取當前使用者 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("值");        //刪除選項集中的選項  
  //給查詢欄位(boarder)賦值
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;