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;

猜你喜欢

转载自www.cnblogs.com/bennylam/p/10008603.html