无法将值设置为自定义字段Dynamics 365

时间:2017-09-21 12:08:46

标签: javascript dynamics-crm dynamics-crm-365

背景

  • 我在Dynamics 365中创建了一个名为new_statecode
  • 的自定义字段
  • 我正在使用HTML网络资源来获取用户的输入,我后来打算将其传递给上面提到的自定义字段。

    <input id="statecode" type="text" placeholder="">

  • 我编写了一个Java脚本来获取用户输入的值,并在自定义字段中设置值。

这是脚本的代码。

document.getElementById("submitButton").addEventListener("click", function (event) {
    var strstatecode = document.getElementById("statecode").value;
    window.parent.Xrm.Page.data.entity.attributes.get("new_statecode").setValue(strstatecode);
});

问题

这是我在控制台中收到的错误。

Unable to get property 'setValue' of undefined or null reference

尝试使用getValue属性时出现类似错误。

显然这是一个非常常见的问题,但其他解决方案都不适用于我。

到目前为止我做了什么

  • 我查看了hereherehere以及其他很多帖子。

  • 我检查了自定义字段名称。没有拼写错误或拼写错误。

  • 我尝试过使用window.parent.Xrm.Page.getAttribute("new_statecode").setValue(strstatecode);

  • 我尝试过创建新的自定义字段并尝试将值设置为它。那也行不通。它给出了同样的错误。

注1 : 我认为值得一提的是,我发布的代码已经过编辑和缩短,以符合SO的mcve标准。我的HTML网络资源中还有6个其他输入(街道地址,城市等),我成功地将数据保存到CRM中各自的字段中。唯一的区别是那些不是自定义字段。

Note2 :我使用的是Dynamics 365版本1612(8.2.1.410)。

如何解决此问题?还有什么我应该看的吗?也许在创建自定义字段时我应该注意什么?

原谅我在CRM行话中缺乏知识。

1 个答案:

答案 0 :(得分:5)

表单上的属性/字段需要Xrm.Page.getAttribute(attributeName)才能访问。

但是,它可以隐藏,也可以放在隐藏的部分或标签中。