dynamic 365 前端操作

dynamic 365 常用js操作和方法

dynamic 365 常用js

//获取当前用户id
Xrm.Page.context.getUserId()//获取当前用户的用户名    
Xrm.Page.context.getUserName()//获取当用户的安全角色         
Xrm.Page.context.getUserRoles();
//获取当前用户   
Xrm.Page.context.getUser();  
//获取字段名为“name”的字段值        
Xrm.Page.getAttribute("name").getValue(); 
//给字段名为“name”的字段赋值    
Xrm.Page.getAttribute("name").setValue("Inputer");
//给字段名为“name”的字段赋值后自动提交        
Xrm.Page.getAttribute("name").setSubmitMode("Inputer"); 
//页面保存并刷新
Xrm.Page.data.save().then(function () {parent.window.location.reload();});     
//保存  
Xrm.Page.data.entity.save();
//刷新
Xrm.Page.data.refresh();  
//取流程的值
var phase = Xrm.Page.data.process.getActiveStage().getName(); 
//改变字段的字段需求  (注:required业务必选;none可选;recommended业务推荐)
Xrm.Page.getAttribute("字段名").setRequiredLevel("required");   
//隐藏名为“st_portfoliomanager”的字段            
Xrm.Page.getControl("st_portfoliomanager").setVisible(false); 
//取消隐藏(显示)名为“st_portfoliomanager”的字段       
Xrm.Page.getControl("st_portfoliomanager").setVisible(true); 
//锁字段名为“ownerid”的字段(注:页眉的字段加header_)       
Xrm.Page.getControl("ownerid").setDisabled(true);
//解锁字段名为“ownerid”的字段         
Xrm.Page.getControl("ownerid").setDisabled(false); 
//局部刷新(子网格也可以局部刷新)       
Xrm.Page.getControl("st_customerneed").refresh(); 
//删除选项集中的选项         
Xrm.Page.getControl("字段名").removeOption("值");  
//获取父页面的值
window.top.opener.Xrm.Page.getAttribute('tec_phase').getValue();
//隐藏tab
Xrm.Page.ui.tabs.get("tab_20").setVisible(false);
//获取当前页面的状态(注:1为新建,2为修改)    
Xrm.Page.ui.getFormType()//关闭当前页面        
Xrm.Page.ui.close(); 
//打开页面    
Xrm.Utility.openEntityForm("实体名称", getEntityId);  
//获取当前记录id  
Xrm.Page.data.entity.getId();     
//获取当前记录name 
Xrm.Page.data.entity.getEntityName()
//设置tab标题
Xrm.Page.ui.tabs.getByName("tab_15").setLabel("文档" + "(" + docDatas.length + ")");  
//change事件
Xrm.Page.data.process.addOnStageChange(fnStageChanged);  
//select事件
Xrm.Page.data.process.addOnStageSelected(fnStageSelected); 
//获取当前Stage
var currentStage = execContext.getEventArgs().getStage(); 
//获取当前窗体名称
Xrm.Page.ui.formSelector.getCurrentItem().getLabel() 
//给字段绑定事件
Xrm.Page.getControl("header_new_salescontract_id").getAttribute().addOnChange(function () {}
//按节锁字段
    Xrm.Page.ui.controls.forEach(function (control) {

        if (control.getParent()!=null) {

            if (control.getParent().getName() != null) {
					name = control.getAttribute().getName()
                if (control.getParent().getName() == "tab_1_sections") {
                    control.setDisabled(true);
                }
            }
        }

    })
//刷新父页面
window.top.opener.Xrm.Utility.openEntityForm(window.top.opener.Xrm.Page.data.entity.getEntityName(), window.top.opener.Xrm.Page.data.entity.getId());
//字段错误信息
Xrm.Page.getControl("attributeName").setNotification("notification content");
Xrm.Page.getControl("attributeName").clearNotification();
//窗体错误信息
Xrm.Page.ui.setFormNotification("notification content", "type", "notification name");//type:"INFORMATION","ERROR","WARNING"
Xrm.Page.ui.clearFormNotification('notification name');//clear all form notification when parameter is null```
//加载层
Xrm.Utility.showProgressIndicator("Please Wait.");
# dynamic 365 常用js方法

```javascript
//去除guid的{""}
function removeBlock(str) {
    if (str) {
        var reg = /^\{/gi;
        var reg2 = /\}$/gi;
        str = str.replace(reg, '');
        str = str.replace(reg2, '');
        return str;
    } else {
        return str;
    }
}
//禁用字段方法
function IsTrueDisabled(sectionlable, trueorfalse) {
    var tabs = Xrm.Page.ui.tabs;
    for (var i = 0, teblenth = tabs.getLength(); i < teblenth; i++) {
        var tab = tabs.get(i);
        var sections = tab.sections;
        for (var j = 0, sectionslenth = sections.getLength(); j < sectionslenth; j++) {
            var section = sections.get(j);
            if (section._controlName) {
                if (section._controlName.toLowerCase() == sectionlable) {
                    Xrm.Page.ui.controls.forEach(
                        function (control) {
                            if (control.getParent() !== null && control._controlName != "tec_teammemberid" && control.getParent()._controlName === sectionlable && control.getControlType() !== "subgrid") {
                                control.setDisabled(trueorfalse);
                            }
                        });
                    break;
                }
            }
        }
    }
}
//获取页面层级
function getXrmObj () {

                var XRMOBJ = new Object();

                if (typeof Xrm != "undefined") {
                    XRMOBJ = Xrm
                }
                else if (typeof window.parent.Xrm != "undefined") {
                    XRMOBJ = window.parent.Xrm
                }
                else if (typeof window.opener.Xrm != "undefined") {
                    XRMOBJ = window.opener.Xrm
                }
                else if (typeof window.opener.parent.Xrm != "undefined") {
                    XRMOBJ = window.opener.parent.Xrm
                }
                else {
                    throw new Error("Context is not available.");
                }
                return XRMOBJ;
            },

Xrm.Page.getControl   /kənˈtroʊl/ 前端获取更改控件的演示或行为并确定相应属性的方法
                           Attribute  /əˈtrɪbjuːt/  前端获取相应的属性
                           Disabled /dɪsˈeɪbld/  禁用
                           ControlType          返回是什么控件
                           getName   /neɪm/   分配给控件的名称
                           getParent  /ˈperənt/   对包含控件的部分对象的引用
                           getValue /ˈvæljuː/  获取控件的最新值
                           Keypress   /kiː/ /pres/   键入字符时,便可提供即时反馈或立即采取操作
                           removeOnKeyPress  /rɪˈmuːv/ /ɑːn/  /kiː/ /pres/ 此函数删除您使用 addOnKeyPress 添加的文本或数字字段的事件处理程序。
                           fireOnKeyPress /ˈfaɪər/ /ɑːn/  /kiː/ /pres/  使用此函数手动触发您为特定文本或数字字段创建的要对 keypress 事件执行的事件处理程序。

Xrm.Page.getAttribute(arg).
                           getInitialValue /ɪˈnɪʃl/当打开窗体时,返回表示 OptionSet 或 Boolean 属性值设置的值。
                           getOption /ˈɑːpʃn/ 返回带有传递到方法的参数匹配值的选项对象。
                           getOptions            返回代表选项集属性有效选项的一组选项对象。
                           getSelectedOption  /sɪˈlektɪd/ 返回在选项集属性中所选的选项对象。
                           getText   /tekst/ 返回选项集属性当前所选选项文本的字符串值。
                           getAttributeType  /əˈtrɪbjuːt/ 返回代表属性类型的字符串值。
                           getFormat   /ˈfɔːrmæt/  返回代表属性格式类型的字符串值。
                           getIsDirty  /ˈdɜːrti/  返回一个布尔值,指示属性值是否未保存更改。
                           getIsPartyList /ˈpɑːrti/ /lɪst/返回一个布尔值,指示查找是否表示 partylist 查找。 Partylist 查找允许设置多条记录,例如"To":邮件实体记录字段
                           getMaxLength /mæks/ /leŋkθ/ 返回一个数值,指示字符串或备忘录属性的最大长度。
                           getName  /neɪm/ 返回表示属性的逻辑名称的字符串
                           getParent  /ˈperənt/返回 Xrm.Page.data.entity 对象,该对象为所有属性的父对象。
                           getUserPrivilege  /ˈprɪvəlɪdʒ/ 用户可以创建、读取或更新属性的数据值,则返回带有与对应权限指示的三个布尔属性的对象。
                           getMax   /mæks/  返回数值指示属性的最大允许值。属性类型:货币、十进制、整数、偶数双精度
                           getMin /mɪn/ 返回数值指示的属性的最小允许值。属性类型:货币、十进制、整数、偶数双精度
                           addOnChange  /tʃeɪndʒ/ 当属性值发生更改时,设置调用的函数。
                           removeOnChange   /rɪˈmuːv/  /tʃeɪndʒ/  从属性的 OnChange 事件处理程序删除函数。
                           fireOnChange /ˈfaɪər/  /tʃeɪndʒ/ 导致属性 OnChange 事件发生,以便执行所有关联脚本。
                           getRequiredLevel  /rɪˈkwaɪər/  /ˈlevl/  返回一个字符串值,指示属性值是否为必需的或建议的属性值。
                           setRequiredLevel 保存记录前,设置属性数据是否需要或者建议。
                           getSubmitMode  /səbˈmɪt/   /moʊd/ 返回一个字符串,指示属性数据在记录保存后提交。
                           setSubmitMode 设置在保存记录时是否提交属性中的数据。
                           getValue  /ˈvæljuː/ 检索属性数据值
                           setValue 设置属性数据值。

Xrm.Page.data 实体属性和方法
                           getDataXml /ˈdeɪtə/ 返回表示当保存记录时将被发送到服务器的 XML 的字符串。 只有字段中已更改的数据被设置到服务器。
                           getEntityName  /ˈentəti/   /neɪm/  返回表示记录实体的逻辑名称的字符串。
                           getId 返回表示记录的 GUID id 值的字符串。
                           getIsDirty  /ˈdɜːrti/ 返回一个指示是否已修改窗体中任何字段的布尔值。
                           addOnSave /seɪv/ 当保存记录时,添加要调用的函数。
                           removeOnSave  /rɪˈmuːv/  /seɪv/ 当保存记录时,删除要调用的函数。
                           getPrimaryAttributeValue /ˈpraɪmeri/ /əˈtrɪbjuːt/  获取实体的主要属性值的字符串。
                           Xrm.Page.data.save 和 Xrm.Page.data.entity.save 均将保存记录


context.client. 客户端上下文(客户端引用)
                          getClient /ˈklaɪənt/  返回当前登录设备
                          getClientState  /steɪt/ 返回是脱机还是联机
                          getFormFactor /fɔːrm/ /ˈfæktər/ 是电脑登录还是移动端等
                          getClientUrl 返回用于访问应用程序的基本 URL。 
                          getCurrentTheme /ˈkɜːrənt/  /θiːm/ 返回表示当前 Microsoft Office Outlook 主题(由用户选择)的字符串。
                          getIsAutoSaveEnabled /ˈɔːtoʊ/ /seɪv/  /ɪneɪbld/ 返回是否对组织启用自动保存。
                          getOrgLcid  返回表示组织的基本语言的 LCID 值。
                          getOrgUniqueName  /juˈniːk/ 返回组织名称的唯一文本值。
                          getQueryStringParameters  /ˈkwɪri/  /strɪŋ/   /pəˈræmɪtərz/  返回表示查询字符串参数(该参数被传递到页面)的键值对的词典对象。
                          getTimeZoneOffsetMinutes  /taɪm/   /zoʊn/   /ˈɔːfset/   /ˈmɪnɪts/ 返回本地时与协调世界时 (UTC) 之间的时差。
                          getUserId 返回当前用户 SystemUser.Id 值的 GUID。
                          getUserLcid 返回表示用户选作首选语言的 Microsoft Dynamics 365 语言包 的 LCID 值。
                          getUserName 返回当前用户的名称。
                          getUserRoles /roʊlz/ 返回表示每个安全角色 GUID 值的字符串数组,其中安全角色与用户关联或与用户相关的任何团队关联。
                          prependOrgName  /pri:'pend/ 将组织名称预置到指定路径。

ExecutionContextObj.执行上下文(客户端引用)
                          getContext  /ˈkɑːntekst/  返回 客户端上下文(客户端引用) 对象的方法
                          getDepth /depθ/ 返回一个指示此处理程序的执行顺序的值的方法。
                          getEventArgs  /ɪˈvent/ 使用管理 Save 事件的方法返回对象的方法。详细信息:保存事件参数(客户端引用)。
                          getEventSource /ɪˈvent/  /sɔːrs/ 此方法返回事件来源的 Xrm.Page 对象模型的对象,而不是 HTMLDOM 对象。 例如,在 OnChange 事件中,该方法会返回表示更改属性的 Xrm.Page.data.entity 属性对象
                         getFormContext /fɔːrm/  /ˈkɑːntekst/  用于返回对窗体 (Xrm.Page) 或可编辑网格的引用的方法取决于方法的调用位置。
                         setSharedVariable /ʃerd/  /ˈveriəbl,/在当前处理程序完成后,设置可由处理程序使用的变量值。
                         getSharedVariable  检索使用 setSharedVariable 的变量集。

tabObj  Xrm.Page.ui 选项卡(客户端引用)
                         getDisplayState /dɪˈspleɪ/  /steɪt/ 返回一个值指示选项卡是展开的还是折叠的。
                         setDisplayState 将设置折叠或展开的选项卡。
                         getName 返回选项卡的名称。
                         getParent /ˈperənt/ 返回 Xrm.Page.ui(客户端引用) 对象。
                         getLabel  /ˈleɪbl/  返回选项卡标签。
                         setLabel 设置选项卡的标签。
                         setFocus /ˈfoʊkəs/  在选项卡设置焦点。
                         getVisible  /ˈvɪzəbl/  返回一个指示选项卡是否可见的值。
                         setVisible 设置指示控件是否可见的值。



  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值