ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

补充二:脚本

2020-12-03 12:03:11  阅读:258  来源: 互联网

标签:脚本 Xrm 控件 补充 get arg Page Utility


Xrm.Page.getAttribute(arg)

// 获取控件/元素:Mscrm.FormControls.ClientApi.XrmTurboFormEntityAttributeString
Xrm.Page.getAttribute(arg)

// 获取控件集合:Xrm.XrmControls
Xrm.Page.getAttribute(arg)

// 获取控件集合中指定索引控件:Mscrm.FormControls.ClientApi.XrmTurboFormControlAutoLookup
Xrm.Page.getAttribute(arg)[0]

// 取值:依据控件类型而定
Xrm.Page.getAttribute(arg).getValue()
// 赋值:undefined
Xrm.Page.getAttribute(arg).setValue(value)

// 是否改动:bool
Xrm.Page.getAttribute(arg).getIsDirty()

// 获取字段/控件必填等级:string
Xrm.Page.getAttribute(arg).getRequiredLevel()
// 设置字段/控件必填等级:undefined
Xrm.Page.getAttribute(arg).setRequiredLevel(RequiredLevel)

// 用户对此控件/字段的操作等级:Xrm.FormDataAttributePrivilege
Xrm.Page.getAttribute(arg).getUserPrivilege()

//事件:
addOnChange(),removeOnChange(),fireOnChange()[强制执行]

// 获取字段/控件值类型
Xrm.Page.getAttribute(arg).getAttributeType()

// 获取字段值最大长度
Xrm.Page.getAttribute(arg).getMaxLength()

// 获取字段名称
Xrm.Page.getAttribute(arg).getName()

// 其他   
getFormat(),getIsValid(),,getParent()

// 选项集
getOption(),getOptions(),getSelectedOption(),getText()

Xrm.Page.getControl(arg)

// 转属性:Mscrm.FormControls.ClientApi.XrmTurboFormEntityAttributeString
Xrm.Page.getControl(arg).getAttribute()
    
// 在控件旁显示消息,指示数据无效,仅用于更新的实体
Xrm.Page.getControl(arg).setNotification(message[,uniqueId])
// 删除已为控件显示的消息:bool
Xrm.Page.getControl(arg).clearNotification([uniqueId])

// 禁用控件:undefined
Xrm.Page.getControl(arg).setDisabled(true)
// 启用控件:undefined
Xrm.Page.getControl(arg).setDisabled(false)
// 获取控件是否禁用:bool
Xrm.Page.getControl(arg).getDisabled()

// 显示控件:undefined
Xrm.Page.getControl(arg).setVisible(true)
// 隐藏控件:undefined
Xrm.Page.getControl(arg).setVisible(false)
// 获取控件是否隐藏:bool
Xrm.Page.getControl(arg).getVisible()

// 设置控件描述:undefined
Xrm.Page.getControl(arg).setLabel(label),
// 获取控件描述:string
Xrm.Page.getControl(arg).getLabel()

// 获取焦点
Xrm.Page.getControl(arg).setFocus()

其他:addCustomFilter(),addCustomView(),addOption(),removeOption(value),clearOptions(),getControlType(),getData(),setData(),getDefaultView(),setDefaultView(),getName(),getParent(),getSrc(),setSrc(),getInitialUrl(),getObject(),addOnKeyPress(),removeOnKeyPress(),fireOnKeyPress(),hideAutoComplete(),showAutoComplete(),
查找:addCustomFilter (fetchXmlFilter, entityType),addCustomView(viewId,entityLogicalName, viewDisplayName, fetchXml, layoutXml, isDefault)

子网格

控件相关
// 刷新
Xrm.Page.getControl('子网格名称').refresh()

// 获取子网格控件:Mscrm.XrmControlGridWrapper
Xrm.Page.getControl('子网格名称').getGrid()

// 添加子网格控件加载事件,建议添加事件名
Xrm.Page.getControl('子网格名称').addOnLoad(Fun)

// 移除子网格控件加载事件,参数建议事件名
Xrm.Page.getControl('子网格名称').removeOnLoad(Fun)

// 其他
addRecord(),getRelationship(),getRelationshipAttributeName(),getRelationshipName(),getViewSelector().setCurrentView()

网格相关
// 返回符合视图的筛选条件的记录总数,不受单页显示的数字的限制:int
Xrm.Page.getControl('子网格名称').getGrid().getTotalRecordCount()

// 其他
fireOnRecordSelect(),removeOnRecordSelect(),showLoadingMessage()

行相关
// 获取所有行:Xrm.XrmGridRows
var rows = Xrm.Page.getControl("子网格名称").getGrid().getRows()

// 获取所勾选/选中的行:Xrm.XrmGridRows
var rows = Xrm.Page.getControl("子网格名称").getGrid().getSelectedRows()

// 获取指定行
rows.get(0)

// 获取所有行
rows.getAll()

// 获取指定条件行:XrmGridRowWrapper
rows.getByFilter(x=>x.getData().getEntity().attributes.get("new_nam").getValue() == '宝')

// 其他
getByIndex(),getByName(),getFirst(),getLength(),add(),forEach(),remove()

列相关
// 获取行中单列数据
rows.get(0).getData().getEntity().attributes.get("new_shopname").getValue()

Xrm.Page.context

// 用户ID:string
Xrm.Page.context.getUserId()

// 用户角色:Array
Xrm.Page.context.getUserRoles()

// 用户语言:int
Xrm.Page.context.getUserLcid()

// 组织名称:string
Xrm.Page.context.getOrgUniqueName()

// 组织语言:int
Xrm.Page.context.getOrgLcid()

// 路径参数:object
Xrm.Page.context.getQueryStringParameters()

// 服务器路径:string
Xrm.Page.context.getClientUrl()

//当前主题:string
Xrm.Page.context.getCurrentTheme()

//客户端信息:Mscrm.XrmPageContextClient
Xrm.Page.context.client

Xrm.Page.data

Xrm.Page.data.entity

// 所有页面元素/控件,可进行forEach(),get(),getLength(),getByIndex(),getByName()…操作
Xrm.Page.data.entity.attributes

// 获取实体名称
Xrm.Page.data.entity.getEntityName
Xrm.Page.data.entity.getEntitySetName()	// 复数形式

// 获取实体id
Xrm.Page.data.entity.getId()
Xrm.Page.data.entity.getKey()
Xrm.Page.data.entity.getEntityReference()	// {entityType: "xx", id: "{xx}", name: "xx"}

// 主字段值
Xrm.Page.data.entity.getPrimaryAttributeValue()

// 是否修改:bool
Xrm.Page.data.entity.getIsDirty()

// 执行保存操作
Xrm.Page.data.entity.save(null|'saveandclose'|'saveandnew')

// 是否Hierarchy
Xrm.Page.data.entity.isInHierarchy()

// 未确认
添加保存时事件:addOnSave()
移出保存时事件:removeOnSave()

Xrm.Page.ui

// 关闭当前窗体
Xrm.Page.ui.close()

// 获得记录窗体上下文类型,返回值详情:https://docs.microsoft.com/zh-cn/previous-versions/dynamicscrm-2015/developers-guide/gg327828(v=crm.7)#getformtype
Xrm.Page.ui.getFormType()

// 获取表单标题
Xrm.Page.ui.get_formTitle()
// 设置表单标题
Xrm.Page.ui.set_formTitle(title)

// 显示窗体通知,方法仅用于更新的实体:bool,三个参数为字符串,level:[ERROR,WARNING,INFO]
Xrm.Page.ui.setFormNotification(message, level, uniqueId);
// 取消窗体通知,方法仅用于更新的实体:bool
Xrm.Page.ui.clearFormNotification(uniqueId)

// 重置规则,更改规则使用的值后,可使用该方法强制功能区重新评估窗体中的数据,以便可以应用这些规则
Xrm.Page.ui.refreshRibbon()

// 获取页面所有控件【forEach(),get(),getAll(),getByFilter(),getByIndex(),getByName(),getLength()】
Xrm.Page.ui.controls
// 获取指定控件
Xrm.Page.ui.controls.get('控件名')

// 获取页面所有tab【forEach(),get(),getLength()】
Xrm.Page.ui.tabs
// 获取单个tab 【sections,getDisplayState(),getLabel(),getName(),getParent(),getVisible(),setDisplayState(),setFocus(),setLabel(),setVisible()】
Xrm.Page.ui.tabs.get()

// 其他
Tab-Sections:tabs.get(0).sections【forEach(),get(),getLength()】
单个Section:tabs.get(0).sections.get(0)【getLabel(),getName(),getParent(),getVisible(),setLabel(),setVisible(),controls】

页面导航:navigation.items【forEach(),get(),getByFilter(),getByIndex(),getByName(),getLength()】
单个导航:navigation.items.get()【getId(),getLabel(),getVisible(),setFocus()-导航跳跃,setLabel(),setVisible()】
获取导航:1.通过getLabel()遍历;2.通过ID:.get("navContacts")

例:隐藏活动:Xrm.Page.ui.navigation.items.get("navActivities").setVisible(false)
                           document.getElementById(“navActivites”)
窗体:formSelector.items【forEach(),get(),getByFilter(),getByIndex(),getByName(),getLenght()】
单个窗体:formSelector.items.get()【getId(),getLabel(),navigate()-窗体跳跃】
var formItem = Xrm.Page.ui.formSelector.getCurrentItem();

Xrm.Utility

官方示例

// 弹出框,方法仅用于 更新的实体
Xrm.Utility.alertDialog(message,onCloseCallback)

//确认框,方法仅用于 更新的实体
Xrm.Utility.confirmDialog(message,yesCloseCallback,noCloseCallback)

// 实体是否为活动实体
Xrm.Utility.isActivityType(entityName)

// 新的或现有的实体记录的实体窗体
Xrm.Utility.openEntityForm(实体的逻辑名称[,uniqueId,parameters,windowOptions])

// 打开快速创建窗体:Xrm.Utility.openQuickCreate(entityLogicalName,createFromEntity,parameters).then(successCallback, errorCallback);

打开HTML Web资源:Xrm.Utility.openWebResource(webResourceName,webResourceData,width, height)

使用移动设备摄像头扫描条形码:Xrm.Utility.getBarcodeValue().then(successCallback, errorCallback)

返回设备当前地理位置:Xrm.Utility.getCurrentPosition().then(successCallback, errorCallback)

隐藏函数

返回记录WebApi请求路径:Xrm.Utility.getEntityUrl(entityName, entityId)

删除数据:Xrm.Utility.deleteRecord(entityName, entityId)

创建数据:Xrm.Utility.create(entityLogicalName, parent, relationship, parameters, successCallback, failureCallback)

检索数据:Xrm.Utility.retrieveEntityRecord(entityReference, columnNames, successCallback, actionFailedCallback)

检索集合:Xrm.Utility.retrieveEntityCollection(keyQuery, successCallback, actionFailedCallback)

弹出框:Xrm.Utility.openDialog (url, dialogOptions, dialogArguments, initFunctionName, returnFunction)

打开记录:Xrm.Utility.openRecord(entityName, entityId, parameters)

展示Hierarchy:Xrm.Utility.showHierarchyPage(entityTypeName, entityId)

openEntityForm示例

// 使用默认窗体,打开新的客户记录
Xrm.Utility.openEntityForm("account");

// 使用默认窗体,打开现有客户记录
Xrm.Utility.openEntityForm("account","A85C0252-DF8B-E111-997C-00155D8A8410");

// 打开具有特定窗体和设置默认值的新客户类型
var parameters = {};
parameters["formid"] = "b053a39a-041a-4356-acef-ddf00182762b";
parameters["name"] = "Test";
parameters["telephone1"] = "(425) 555-1234";
Xrm.Utility.openEntityForm("account", null, parameters);

// 在新窗口中使用默认窗体,打开新的客户记录
var windowOptions = {
 openInNewWindow: true
};
Xrm.Utility.openEntityForm("account",null,null,windowOptions);

标签:脚本,Xrm,控件,补充,get,arg,Page,Utility
来源: https://www.cnblogs.com/weiyongguang/p/14078755.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有