改变& # 39;& # 39;pricelevelid& # 39; & # 39;基于另一个字段的字段

Changing ''pricelevelid'' field based on another field

本文关键字:字段 另一个 pricelevelid 改变      更新时间:2023-09-26

我对javascript很陌生,我的情况是初学者的初学者:)但是我必须在mscrm 2011订单实体上编写代码。

我有两个字段,pricelevelid和new_taxincl(单选按钮)。我想根据new_taxincl字段的选择更改pricelevelid字段中的值。如果用户选择"是",我想用"USD - tax Included-","no'' ''USD -without tax-"填充pricelevelid字段。这必须运行onChange事件。

到目前为止我写不出正确的代码。

任何帮助对我来说都很好。谢谢。

PS: new_vrg是pricelevel实体中的一个字段,与order实体中的new_taxincl字段具有相同的值。

下面是我的代码:
    function callRetrievePList() {
    var field = Xrm.Page.data.entity.attributes.get("new_taxincl");
    if ((field == null) || (field.getValue() == null) || (field.getValue()[0] == null) || (field.getValue()[0].id == null))
        return;
    var plistfield = Xrm.Page.data.entity.attributes.get("pricelevelid");
    if (plistfield != null && plistfield.getValue() != null)
        return;
    var options = "$select=PriceLevelId,Name&$filter=new_vrg/Id eq (guid'" + (field.getValue()[0]).id + "')";
    SDK.REST.retrieveMultipleRecords("PriceLevel", options, retrievePListCallBack, errorCallBack, completeCallBack);
}
    function retrievePListCallBack(retrievedStock) {
    var plistfield = Xrm.Page.data.entity.attributes.get("pricelevelid");
    if (plistfield != null && plistfield.getValue() != null)
        return;
    for (var i = 0; i < retrievedStock.length; i++) {
        var stock = retrievedStock[i];
        var lookupReference = [];
        lookupReference[0] = {};
        lookupReference[0].id = stock.PriceLevelId;
        lookupReference[0].entityType = "pricelevel";
        lookupReference[0].name = stock.Name;
        plistfield.setValue(lookupReference);
        return;
    }
}
function errorCallBack(errorObject) {
}
function completeCallBack() {
}

下面的代码可能会对您有所帮助:

在CRM JavaScript中获取单选按钮:

function TaxIncludedRadioButton_OnChange()
{
var taxInclBtn= Xrm.Page.ui.controls.get("new_taxincl").getAttribute().getValue();
var lookup = new Array();
lookup[0] = new Object();
if(taxIncludeRdBtn==true)
{
lookup[0].id = yourrecorid1;
lookup[0].name = 'USD -Tax Included-';
lookup[0].entityType = entityname;
Xrm.Page.getAttribute("pricelevelid").setValue(lookup);
}
else if(taxIncludeRdBtn==false)
{
lookup[0].id = yourrecorid2;
lookup[0].name = 'USD -Without-tax';
lookup[0].entityType = entityname;
Xrm.Page.getAttribute("pricelevelid").setValue(lookup);
}
}

为您的new_taxincl单选按钮注册上述函数OnChange事件