Dynamics 365 Customer Engagement 中对API的调整内容分享

时间:2024-09-20 10:03:50

当前版本中弃用了以下客户端 API 以重新组织 Xrm 客户端 API 对象模型,从而更好地满足以下需求:使用同一客户端脚本而不必基于上下文或基于运行这些脚本的客户端(Web 客户端或新的统一接口)来进行更改。 应计划使用替换客户端 API 列中提到的新客户端 API,而非已弃用的客户端 API。 已弃用的客户端 API 将继续可用且受支持,直到在 Dynamics 365 的未来主要版本中将其正式删除。

弃用的客户端 API 替换客户端 API 注释
Xrm.Page 窗体:ExecutionContext.getFormContext 命令: Xrm.Page 是主窗体上下文。 如果脚本在辅助上下文(网格行、快速窗体和相关实体)上运行,则 Xrm.Page 将用于错误的窗体上下文。 通过使用获取窗体上下文的替代方法,我们将允许在所有上下文中使用同一脚本而不进行任何修改。
  将其作为 PrimaryControl 参数发送  
Xrm.Page.context Xrm.Utility.getGlobalContext 允许在不浏览窗体上下文的情况下访问全局上下文。
Xrm.Page.context.getQueryStringParameters formContext.data.attributes formContext.data.attributes API 将使非实体绑定数据的检索在实体窗体、元数据驱动型对话和基于任务的流中保持一致。 该数据是下列值的组合:即使用查询字符串发送的自定义值,以及 openForm()、openQuickCreate() 或 openDialog 方法中的参数指定值。
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.save(string) Xrm.Page.data.entity.save(saveOptions) 使用 saveOptions 对象而不是字符串参数。
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   以前:HTML Web 资源可通过 parent.Xrm.Page 或 parent.Xrm.Utility 与窗体中的Xrm.Page 或 Xrm.Utility 对象交互。 现在:如果该 HTML Web 资源在窗体容器中加载,parent.Xrm.* 将正常工作。 对于其他位置(如将 HTML Web 资源作为站点地图的一部分加载),parent.Xrm.* 将不会工作。
addOnKeyPress 使用通过新的自定义控件框架构建的自定义控件  
removeOnKeyPress 使用通过新的自定义控件框架构建的自定义控件  
showAutoComplete 使用自定义控件和对应的 UI  
hideAutoComplete 使用自定义控件和对应的 UI  
Xrm.Utility.alertDialog Xrm.Navigation.openAlertDialog 新签名与其他 API (openForm) 一致,并采用了一组新参数来提高灵活性。
Xrm.Utility.confirmDialog Xrm.Navigation.openConfirmDialog() 新签名与其他 API (openForm) 一致,并采用了一组新参数来提高灵活性。
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

文章为原创,如需引用请注明引用。