自定义脚本设置后,属性值将被清除

时间:2016-06-17 17:53:23

标签: javascript dynamics-crm-2011 dynamics-crm-2016

我在更改另一个属性后更新属性时会遇到这种奇怪的行为。 new_manual_invoice_number中的值以某种方式被清除:

function handleInvoiceNumber(context) {

    if (Xrm.Page.getAttribute('invoicenumber').getValue() != undefined) {
        if (Xrm.Page.getAttribute('tec_manual_invoice_number').getValue() == undefined) {
            var manualNumber = Xrm.Page.getAttribute('invoicenumber').getValue();
            manualNumber = manualNumber.split('-')[0] + '-' + manualNumber.split('-')[1];
            Xrm.Page.getAttribute('tec_manual_invoice_number').setValue(manualNumber);
        }
    }

};

invoicenumber发生变化时,这种情况正在运行(它是一个只读字段,并在保存发票时发生变化)。

这很好用,我可以看到表单中出现的值,但不知何故,有些东西会清除它,我会在文本框中显示--。这不是我的其他任何代码,只有函数引用new_manual_invoice_number

我尝试过在保存处理程序,表单加载等方面运行此代码。

我在表单加载事件中也设置了一个断点,看它是否由于自动保存或其他原因而没有重新加载,似乎不是问题。

有什么想法吗?相当令人沮丧...

PS:使用Microsoft CRM 2016。

编辑:我认为这与发票产品网格触发其他事件有关,但我不确定。目前,代码仅在表单的save事件上运行,这是有效的。

0 个答案:

没有答案