Невозможно установить прайс-лист и валюту для цитаты через Javascript в Dynamics CRM онлайн - PullRequest
0 голосов
/ 17 октября 2018

Я написал некоторый 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

1 Ответ

0 голосов
/ 17 октября 2018

Если вы просто устанавливаете значения по умолчанию, я бы порекомендовал использовать бизнес-правила.

Денежная единица может быть установлена ​​в личных настройках пользователя, что обеспечит автоматическое заполнение transactioncurrencyid при загрузке формы. Ссылка

С другой стороны, Xrm.Page устарела в v9, и вы должны искать изменение кода на поддерживаемый executionContext.getFormContext(). Читать дальше

...