我正在将解决方案从CRM 8.2迁移到CRM v9。我正在尝试在CRM中检索多个记录。在CRM 8.2环境中使用时,与我在CRM v9环境中使用的相同的JavaScript代码可以正常工作。
在CRM v9中,出现以下错误
TypeError:无法在eval读取未定义的属性“ Page”(在eval为 (http://vtdemo/VTd365dev/WebResources/vrp_/Disposition/js/Disposition.js:13:1), :1:20)。 (http://vtdemo/VTd365dev/WebResources/vrp_/Disposition/js/Disposition.js:13:1) 在j (http://vtdemo/VTd365dev/WebResources/vrp_/Common/js/jquery_1.11.2.js:2:27295) 在Object.fireWith [as resolveWith] (http://vtdemo/VTd365dev/WebResources/vrp_/Common/js/jquery_1.11.2.js:2:28108) 在Function.ready (http://vtdemo/VTd365dev/WebResources/vrp_/Common/js/jquery_1.11.2.js:2:29942) 在HTMLDocument.J (http://vtdemo/VTd365dev/WebResources/vrp_/Common/js/jquery_1.11.2.js:2:30308)
我不知道为什么会这样。如果是这种情况,那么CRM v9中可能不再支持该功能了,那么我如何使它起作用?
我正在使用下面的代码,其中出现错误,
var userLcid = Xrm.Page.context.getUserLcid();
答案 0 :(得分:2)
您不能直接调用9.1版本的Xrm.Page。请参阅官方文档here。 您将需要传递FormContext (link for reference)并替换Xrm.Page,如下所示
ExecutionContext.getFormContext
并获取用户语言ID 9.0之前
Xrm.Page.context.getUserLcid
9.0前后的更改如下
globalContext.userSetings.languageId
答案 1 :(得分:1)
首先通过将库导入HTML Web资源中,我已经达到了预期的效果,
<script src="../../ClientGlobalContext.js.aspx" type="text/javascript"></script>
经过研究,我发现 GetGlobalContext 函数返回在 Xrm.Page.context中找到的相同上下文对象。
所以,然后我在下面的JS中使用它,
var context = GetGlobalContext();
var userLcid= context.getUserLcid();
效果很好,我取得了成绩。
PS:谢谢大家的支持。
答案 2 :(得分:0)