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);
View Code

 

//新建跳转到其他实体并赋值(注:查找字段不能只传一个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);
View Code

 

//阻止保存注:页面上调用方法时要加Xrm.Page.context;参数随意

function   onload(){
    var eventArgs=context.getEventArgs();
    eventArgs.preventDefault();

}
View Code

 

//对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);    
    }
}
View Code

 

//获取一个用户的所有的安全角色

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;
View Code

 

转载于:https://www.cnblogs.com/SilverWolf/p/6532662.html

你可能感兴趣的:(Dynamics CRM 常用的JS)