根据另一个字段更改''pricelevelid''字段

时间:2014-05-20 14:20:47

标签: javascript dynamics-crm-2011 field

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

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

到目前为止我无法编写正确的代码。

任何帮助对我都没问题。 感谢。

PS:new_vrg是pricelevel实体中的一个字段,与订单实体中的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() {
}

1 个答案:

答案 0 :(得分:0)

下面的代码可以帮助您:

在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);

}
}

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

相关问题