补充二:脚本
作者:互联网
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