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.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);

//新建跳转到其他实体并赋值
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();

}

//对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 oResult = Xrm.Page.getAttribute(sFieldName).getValue();

var oResult = Xrm.Page.getControl(sFieldName).getAttribute().getValue();

赋值:

一般类型:Xrm.Page.getAttribute(sFieldName).setValue(object);

OptionSet类型: Xrm.Page.getAttribute(sFieldName).setValue(1);//OptionSet的对应选项的Value

Lookup类型: Xrm.Page.getAttribute(sFieldName).setValue([{ id:"record id", name: "sValue", entityType: "Entity Name" }]);

DateOnly类型: Xrm.Page.getAttribute(sFieldName).setValue(new Date());

提示指定错误:

Xrm.Page.getControl(sFieldName).setNotification(sErrorMessage);

清除错误提示:

Xrm.Page.getConrol(sFieldName).clearNotification();

设置Read Only:

Xrm.Page.getControl(sFieldName).setDisabled(true);

设置Enable:

Xrm.Page.getControl(sFieldName).setDisabled(false);

控制Tab是否可见:

Xrm.Page.ui.tabs.get("tab_Name").setVisible(true);

控制Section是否可见:

Xrm.Page.ui.tabs.get("tab_Name").sections.get("section_name").setVisible(true);

设置必填:

Xrm.Page.getAttribute(sFieldName).setRequiredLevel("required");

设置可选:

Xrm.Page.getAttribute(sFieldName).setRequiredLevel("none");

设置字段可见:

Xrm.Page.getControl(sFieldName).setVisible(true);

隐藏字段:

Xrm.Page.getControl(sFieldName).setVisible(false);

获取当前 Entity Id:

var entityId = Xrm.Page.data.entity.getId();

获取当前 Entity 的 Name:

var entityName = Xrm.Page.data.entity.getEntityName();

获取当前 User Id:

var userId = Xrm.Page.context.getUserId();

判断当前 form 的状态:

if (Xrm.Page.ui.getFormType() == 1){
    //1:Create
}
else{
    //0:Undefined
    //2:Update
    //3:Read Only
    //4:Disabled
    //6:Bulk Edit
}

可参考官方DOC:https://docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/developers-guide/gg327828(v=crm.8)

添加事件:

Xrm.Page.getControl(sFieldName).getAttribute().addOnChange(fnOnChange);
原文地址:https://www.cnblogs.com/shanshuiYiCheng/p/14632586.html