关于Dynamics 365 9.x中formContext.context属性的支持性及未文档化问询
关于Dynamics CRM 9.0中
formContext.context属性的疑问解答 首先得明确:formContext.context确实是一个未公开的内部属性,微软官方文档没收录它,背后是有明确原因的:
微软的前端API设计思路里,一直希望开发者通过官方指定的方式获取全局上下文——也就是
Xrm.Utility.getGlobalContext(),或者在表单脚本里用formContext.getGlobalContext()这个公开方法。formContext.context其实是CRM前端架构演进中留下的“内部快捷引用”,从始至终都没被当作正式对外的API来设计。至于它是否受官方支持?答案是完全不受支持。这类未公开的内部属性,微软不会为其提供技术支持,而且随时可能在版本更新中被移除、改名或者改变行为逻辑。之前就有过类似内部属性在Power Apps(Dynamics 365的演进版本)更新中失效,导致依赖它的自定义脚本崩溃的案例。
给你的实际建议:别依赖这个属性!如果需要全局上下文,老老实实用官方推荐的公开API,比如:
// 通用场景获取全局上下文 const globalContext = Xrm.Utility.getGlobalContext(); // 表单脚本内更贴合的方式 const globalContextFromForm = formContext.getGlobalContext();
虽然现在formContext.context还能正常工作,但它就像一个没写进说明书的隐藏按钮,你永远不知道下一次系统更新会不会把它删掉。
内容的提问来源于stack exchange,提问作者Michael Kalinovich
相关产品推荐
相关产品推荐

