【问题标题】:Issues in some javascripts after upgrading to Dynamics CRM Online 2016升级到 Dynamics CRM Online 2016 后某些 javascripts 中的问题
【发布时间】: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


【解决方案1】:

尝试使用下面给定的代码,它对我有用

var object = new Array();
		object[0] = new Object();
		object[0].id = records.new_Contact.Id;
		object[0].name = records.new_Contact.Name;
		object[0].entityType = records.new_Contact.LogicalName;
		Xrm.Page.getAttribute(fieldName).setValue(object);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多