首页 > 技术文章 > Dynamics 365 API调整

fengkuangdelion 2020-05-08 16:02 原文

源文章:https://docs.microsoft.com/zh-cn/power-platform/important-changes-coming#some-client-apis-are-deprecated

弃用的客户端 API替换客户端 API注释
Xrm.Page 窗体:ExecutionContext.getFormContext
命令:将其作为 PrimaryControl 参数发送
仍支持使用 Xrm.Page 对象静态访问主窗体的上下文,以便维护与现有脚本的向后兼容性。 根据反馈,我们了解到 Xrm.Page 的使用率较高,并且不会跟此节所列的一些其它客户端 API 方法一样快速移除。 我们鼓励您在适用的情况下使用新方法获取窗体内容。 详细信息:客户端 API 窗体上下文
虽然 Xrm.Page 已被弃用,但是,对于嵌入在窗体中的 HTML Web 资源,parent.Xrm.Page 将继续正常工作,因为这是从 HTML Web 资源访问窗体上下文的唯一方式。
Xrm.Page.context Xrm.Utility.getGlobalContext 允许在不浏览窗体上下文的情况下访问全局上下文。
Xrm.Page.context.getQueryStringParameters formContext.data.attributes formContext.data.attributes API 将使非实体绑定数据的检索在实体窗体、元数据驱动型对话和基于任务的流中保持一致。 该数据是下列值的组合:使用查询字符串发送的自定义值,以及 openForm 方法中的参数指定值。
Xrm.Page.context.getTimeZoneOffsetMinutes globalContext.userSettings.getTimeZoneOffsetMinutes 已移动到 globalContext.userSettings
Xrm.Page.context.getUserId globalContext.userSettings.userId 已移动到 globalContext.userSettings
Xrm.Page.context.getUserLcid globalContext.userSetings.languageId 已移动到 globalContext.userSettings
Xrm.Page.context.getUserName globalContext.userSettings.userName 已移动到 globalContext.userSettings
Xrm.Page.context.getUserRoles globalContext.userSettings.securityRoles 已移动到 globalContext.userSettings
Xrm.Page.context.getIsAutoSaveEnabled globalContext.organizationSettings.isAutoSaveEnabled 已移动到 globalContext.organizationSettings
Xrm.Page.context.getOrgLcid globalContext.organizationSettings.languageId 已移动到 globalContext.organizationSettings
Xrm.Page.context.getOrgUniqueName globalContext.organizationSettings.uniqueName 已移动到 globalContext.organizationSettings
Xrm.Page.data.entity.getDataXml 该方法无变化,但使用了查找属性的“typename”而非 type。  
GridRow.getData GridRow.data GridRow 实质上是一个窗体上下文。 此更改将 GridRow 的接口与 formContext 统一。
GridRowData.getEntity GridRowData.entity GridRowData 是窗体数据。 此更改将 GridRowData 的接口与 formContextData 统一。
Xrm.Mobile.offline Xrm.WebApi.offline 删除了 Xrm.WebApi.offline 下的脱机相关方法
parent.Xrm 使用下列方法之一:

a) 使用使用 Power Apps component framework 创建的自定义控件,而不是使用 HTML Web 资源。

b) 在窗体上,使用 Web 资源控件的 getContentWindow 方法。

c) 如果 getContentWindow 方法无效,可以使用 parent.Xrm 访问 HTML Web 资源内的 Xrm 对象。 如果是在新窗口中打开 HTML Web 资源,则应该改用 opener.Xrm
更早:HTML Web 资源可使用 parent.Xrm.Page 或 parent.Xrm.Utility 与窗体中的 Xrm.Page 或 Xrm.Utility 对象交互。

现在:如果该 HTML Web 资源在窗体容器中加载,parent.Xrm.* 将正常工作。 它不适用于独立、从站点地图或任何其他位置引用的 HTML Web 资源。

注意parent.Xrm 将在删除 ClientGlobalContext.js.aspx 页面后删除;尚未公布日期。
addOnKeyPress 使用使用 Power Apps component framework 创建的自定义控件  
fireOnKeyPress 使用使用 Power Apps component framework 创建的自定义控件  
removeOnKeyPress 使用使用 Power Apps component framework 创建的自定义控件  
showAutoComplete 使用使用 Power Apps component framework 创建的自定义控件  
hideAutoComplete 使用使用 Power Apps component framework 创建的自定义控件  
Xrm.Utility.alertDialog Xrm.Navigation.openAlertDialog 新签名与其他 API (openForm) 一致,并采用了一组新参数来提高灵活性。
Xrm.Utility.confirmDialog Xrm.Navigation.openConfirmDialog 新签名与其他 API (openForm) 一致,并采用了一组新参数来提高灵活性。
Xrm.Utility.getBarcodeValue Xrm.Device.getBarcodeValue 将与设备相关的操作移至 Xrm.Device
Xrm.Utility.getCurrentPosition Xrm.Device.getCurrentPosition 将与设备相关的操作移至 Xrm.Device
Xrm.Utility.isActivityType Xrm.Utility.getEntityMetadata isActivityType 方法是同步的,因此适合功能区规则。 但是,替代方法 getEntityMetadata 是异步的,因此不适合功能区规则。
Xrm.Utility.openEntityForm Xrm.Navigation.openForm 将导航操作移动到 Xrm.Navigation
Xrm.Utility.openQuickCreate Xrm.Navigation.openForm 将导航操作移动到 Xrm.Navigation
Xrm.Utility.openWebResource Xrm.Navigation.openWebResource 将导航操作移动到 Xrm.Navigation
注意:此 API 在统一接口中返回 VOID。
globalContext.organizationSettings.baseCurrencyId globalContext.organizationSettings.baseCurrency 此替换方法让您可以访问显示名称以及交易币种的 ID。
globalContext.userSettings.securityRoles globalContext.userSettings.Roles 此替换方法让您可以访问显示名称以及安全角色的 ID。
globalContext.userSettings.transactionCurrencyId globalContext.userSettings.transactionCurrency 此替换方法让您可以访问显示名称以及交易币种的 ID。
Silverlight Web 资源的 getData 和 setData Silverlight 不再受支持。 这些方法在 2020 年 10 月之后将不能再使用。
formContext.data.entity.save formContext.data.save  
ClientGlobalContext.js.aspx ClientGlobalContext.js.aspx 页面基于旧版 Web 客户端基础结构构建。 由于旧版 Web 客户端已弃用并计划于 2020 年 10 月 1 日起停用,因此 ClientGlobalContext.js.aspx 页面也将在 2020 年 10 月 1 日与旧版 Web 客户端一起删除。
getObject getContentWindow

以上信息仅用于学习交流,如有错误欢迎指正;大佬勿喷,谢谢;

推荐阅读