在潜在客户资格后创建机会时,设置机会查找值不起作用

Set lookup value on opportunity not working when it's created after lead qualification

我在机会的 onload 事件中得到了以下代码:

$.ajax({
    url: Xrm.Page.context.getClientUrl() + '/api/data/v8.0/pricelevels(75ec69fe-3118-e611-80b7-0050568a6c2d)?$select=name',
    headers: { 'Accept': 'Application/json' }
}).done(function (data) {
    if (!$.isEmptyObject(data)) {
        var lookup = [];
        lookup[0] = {};
        lookup[0].id = data.pricelevelid;
        lookup[0].name = data.name;
        lookup[0].entityType = 'pricelevel';
        Xrm.Page.getAttribute('pricelevelid').setValue(lookup);
    }
}).fail(function (data) {
    console.log('error getting default price list');
});

当我打开商机或创建新商机时,此代码运行良好。

但是,当我符合条件时,领先的 CRM 会打开新创建的机会。我可以调试 javascript 并查看它是否正常工作。检索该值并调用 setValue 行。只有 ui 未更新且字段值未设置。

注意事项:

关于导致 ui 不更新的原因的任何想法?

我会尝试几件事:1) 关闭插件,同样的问题? 2) 将 setValue 调用包装在 setTimeout 中:setTimeout(function() { /*setValue*/ }, 100) 以查看是否有任何区别。