其他分享
首页 > 其他分享> > 补充二:脚本

补充二:脚本

作者:互联网

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