【问题标题】:CRM 2015 read "dirty" value from unsaved formCRM 2015 从未保存的表单中读取“脏”值
【发布时间】:2015-05-21 08:35:20
【问题描述】:

我正在创建新的帐户记录。最简单的方法是填写帐户 ID(增值税号或类似的东西)并按下按钮。按钮运行一些javascript。 Javascript 读取账户 id 的值并填写其余部分(调用一些外部 ws 并填写账户名、地址等)。

但我需要读取这个未保存的帐户 ID。标准

Xrm.Page.getAttribute("accId").getValue(); 

只能读取保存的值。

通过调试器我找到了正确的值,所以我写了一个简单的函数,它返回它。

这里是:

function getDirtyValue(attName) {
    var control = Xrm.Page.ui.controls.get(attlName);

    if (control != null && control.$1G_1 != null) {
        return control.$1G_1.$3V_0;
    }
    else {
        return null;
    }
}

它可以工作,但有什么官方方法可以得到这个值吗?

(欢迎语言更正)

【问题讨论】:

  • 帐户中的其他脚本是否正常工作?您能否详细说明您正在采取的步骤以及出了什么问题?您不需要破解属性值的方式。
  • 没有错。我需要填写帐户。有一些必填字段,即帐户名称、电话号码等。如果未填写这些字段,我将无法保存帐户。现在,
  • ...现在,我可以从 webservice 获取这些信息并填写表格。 Webservice 需要帐户 ID。帐户 ID(增值税号)填写在表单中,但未填写在 Xrm.Page.getAttribute("accId") 中。因此,函数 getDirtyValue() 可以读取这个所需的 ID。所以我问是否有任何“标准”方式从客户端的表单中获取填充的芽未保存值。

标签: javascript crm dynamics-crm-2015


【解决方案1】:

您可以通过添加一个函数来避免这个技巧,该函数在表单加载时调用,并将字段的值设置为全局变量。您可以在该字段的 on change 事件中访问该变量。

请记住,Microsoft 不支持 SDK 中不存在的方法,它们可能会更改。因此,如果他们更改了您正在使用的属性,并且您的代码已经投入生产,那么您最终会遇到一些问题。

希望对你有帮助, 干杯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    相关资源
    最近更新 更多