1

我编写了一些 javascript 来加载 Quotes 实体上的价目表和货币值。这曾经在 CRM Online 8.2 中运行良好,但自从升级到 9.0 后,我开始遇到一个奇怪的问题。

因此,在表单的 OnLoad 上,脚本会运行并按应有的方式设置值。如果我在报价单上等待 20 秒,表格会自动刷新,我猜这是 CRM 功能,但在刷新价目表后,我看到它清除了我当前选择的价目表的价值。

然后用户必须手动设置或刷新页面。这是我的代码:

function SetCurrency() 
{
    var object = new Array();

    object[0] = new Object();

    object[0].id = "<object_id>";

    object[0].name = "US Dollar";

    object[0].entityType = "transactioncurrency";

    Xrm.Page.getAttribute("transactioncurrencyid").setValue(object);

}
function SetPriceList() {
    var object1 = new Array();

    object1[0] = new Object();
    object1[0].id = "<object_id>";
    object1[0].name = "Default Price List";
    object1[0].entityType = "pricelevel";
    Xrm.Page.getAttribute("pricelevelid").setValue(object1);

}

PS除了我删除了实际的object.id之外,整个代码都是一样的

4

1 回答 1

1

如果您只是设置默认值,我建议使用业务规则。

货币可以在用户个人选项中设置,这将确保transactioncurrencyid在表单加载中自动填充。参考

附带说明,Xrm.Page在 v9 中已弃用,您应该寻找对支持的代码进行更改executionContext.getFormContext()阅读更多

于 2018-10-17T03:56:44.110 回答