【发布时间】:2016-07-12 17:20:00
【问题描述】:
我们刚刚将我们的一个 Dynamics CRM 实例从 CRM Online 2015 升级到 CRM Online 2016。
虽然我可以看到其他功能正常工作,但在特定情况下我们有一个主要的展示停止:
以下是页面加载期间调用的 java 脚本函数的代码:
function SetDefaultValuesInLookup()
{
Xrm.Page.getAttribute("new_applicationcontactid").setValue([{ id:
records.new_Contact.Id, name: records.new_Contact.Name, entityType: records.new_Contact.LogicalName }]);
........
Xrm.Page.getAttribute("new_applicationtype").setValue(1000002);
}
function ShowHideFields()
{
var applicationtype = Xrm.Page.getAttribute("new_applicationtype").getValue();
...............
}
总而言之,SetDefaultValuesInLookup 函数为表单中的查找字段“Application Contact Id”设置一个值,并根据某些条件设置“new_applicationtype”。
这两个函数在表单加载中注册以按顺序执行。 但是,问题是 - 有时 SetDefaultValuesInLookup 方法在执行第一个 getAttribute 值后突然终止,或者如果该方法完成其执行,那么我们不会在 new_applicationtype 字段中获得值。或者有时,这两种方法都可以正常工作。
我尝试调试代码,并且可以看到我们每次都在获取 Id、Name 和 LogicalName 属性,因此在该级别没有问题。
我想知道这里是否有 CRM 2016 不支持的内容? 此外,此功能在 Online 2015 中仍然可以完美运行。
【问题讨论】:
-
您有任何内容记录到控制台吗?错误可能是什么?通常,“事物”有时会正常工作,因为错误通常是由数据(意味着代码不检查空值)等引起的。
-
听起来像是竞争条件。您是如何通过菜单或代码注册您的 onload 功能的?如果后者是真的,你能在这里分享这段代码吗?另外,您在其他浏览器(Chrome、Firefox)中是否得到相同的不可预测的结果?
标签: dynamics-crm dynamics-crm-online dynamics-crm-2015 dynamics-crm-2016 xrm