Dynamics crm 升级到Dynamics CRM Online 2016后某些Java脚本中的问题

Dynamics crm 升级到Dynamics CRM Online 2016后某些Java脚本中的问题,dynamics-crm,dynamics-crm-online,dynamics-crm-2015,dynamics-crm-2016,xrm,Dynamics Crm,Dynamics Crm Online,Dynamics Crm 2015,Dynamics Crm 2016,Xrm,我们刚刚将一个Dynamics CRM实例从CRM Online 2015升级到CRM Online 2016 虽然我可以看到其他功能正常工作,但在特定场景中,我们有一个主要的障碍: 以下是在页面加载期间调用的java脚本函数的代码: 函数SetDefaultValuesInLookup() { Xrm.Page.getAttribute(“new_applicationcontactid”).setValue([{id: records.new_Contact.Id,名称:records.ne

我们刚刚将一个Dynamics CRM实例从CRM Online 2015升级到CRM Online 2016

虽然我可以看到其他功能正常工作,但在特定场景中,我们有一个主要的障碍:

以下是在页面加载期间调用的java脚本函数的代码:

函数SetDefaultValuesInLookup()
{
Xrm.Page.getAttribute(“new_applicationcontactid”).setValue([{id:
records.new_Contact.Id,名称:records.new_Contact.name,entityType:records.new_Contact.LogicalName});
........
Xrm.Page.getAttribute(“新应用程序类型”).setValue(1000002);
}
函数ShowHideFields()
{
var applicationtype=Xrm.Page.getAttribute(“新的应用程序类型”).getValue();
...............
}
要汇总SetDefaultValuesInLookup函数,请在表单中为查找字段“应用程序联系人Id”设置一个值,并根据某些条件设置“new_applicationtype”

这两个函数注册在表单load中,以便按顺序执行。 但是,问题是-有时方法SetDefaultValuesInLookup在执行第一个getAttribute值后突然终止,或者如果该方法完成其执行,则在new_applicationtype字段中无法获取值。有时,这两种方法都能正常工作

我尝试调试代码,可以看到每次都会填充Id、Name和LogicalName属性,因此在该级别没有问题

我想知道这里是否有CRM 2016不支持的内容?
此外,该功能在Online 2015中仍能完美运行。

请尝试以下给定的代码,它对我很有用

var object=new Array();
对象[0]=新对象();
对象[0]。id=records.new\u Contact.id;
对象[0]。名称=records.new\u Contact.name;
对象[0]。entityType=records.new\u Contact.LogicalName;

Xrm.Page.getAttribute(字段名).setValue(对象)您是否在控制台上记录了任何内容?错误可能是什么?通常情况下,“东西”有时似乎工作正常,因为错误通常是由数据(意味着代码没有检查空值)等引起的。听起来像是竞争条件。您是如何通过菜单或代码注册onload函数的?如果后者是真的,你能在这里分享这段代码吗?另外,在其他浏览器(Chrome、Firefox)中是否也会得到同样不可预测的结果?