查看Dynamics CRM中onChange字段事件的源函数

时间:2017-06-21 15:13:46

标签: javascript dynamics-crm xrm

我的机会表单上的字段的onChange事件被调用两次,我试图追踪第二次调用的来源。我已经将执行上下文传递给onChange函数,但不知道从那里查看调用源的任何方法。现在,我想知道是否有办法查看XRM页面的待处理事件,是否有人知道该信息的位置?

我的代码基本上是这样的,与机会表单的onLoad相关联。可能有一个插件或第三方库或更新字段的东西,但没有任何东西跳出来。

function onLoad() {
    Xrm.Page.data.process.addOnStageChange(handleStageChange);
}

function handleStageChange() {
    var dateFieldName = "new_enteredstage1"
    var dateFieldAttr = Xrm.Page.getAttribute(dateFieldName);
    if (dateFieldAttr) {
        dateFieldAttr.setValue(new Date());
    }
}

如果在发生阶段更改时new_enteredstage1为null,则发生2次调用,并设置该值并立即重置为null。如果new_enteredstage1具有值,则按预期更新该值。同样,可能会有一些我错过的第三方代码,但我不知道如何追踪它。

更新:

这只发生在日期字段上,并且它发生在所有日期字段上。如果我用数字字段替换代码,则该值不会重置为空。

1 个答案:

答案 0 :(得分:0)

与“新”表单呈现引擎(Turbo Forms)相关的已知问题(example)可能导致此问题。

您可以尝试使用旧版表单呈现引擎,看看它是否解决了问题: enter image description here