• 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);
  • 相关阅读:
    firefox native extension -- har export trigger
    配置jenkins slave 问题,ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.
    尝试用selenium+appium运行一个简单的demo报错:could not get xcode version. /Library/Developer/Info.plist doest not exist on disk
    ruby 除法运算
    ERB预处理ruby代码
    ruby self.included用法
    ruby include和exclude区别
    symfony安装使用
    解决git中文乱码
    读《微软的软件测试之道》有感(上)
  • 原文地址:https://www.cnblogs.com/shanshuiYiCheng/p/14632586.html
Copyright © 2020-2023  润新知