1

背景

  • 我在 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属性时也遇到了类似的错误。

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

到目前为止我做了什么

  • 我看过这里这里这里以及其他许多帖子。

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

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

  • 我尝试创建一个新的自定义字段并尝试为其设置值。那也没有用。它给出了同样的错误。

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

注意 2 :我使用的是 Dynamics 365 版本 1612 (8.2.1.410)

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

请原谅我缺乏 CRM 术语的知识。

4

1 回答 1

5

属性/字段需要出现在表单上才能被Xrm.Page.getAttribute(attributeName).

但是,它可以被隐藏,或者放置在隐藏的部分或选项卡中。

于 2017-09-21T19:44:41.827 回答