Dynamics CRM 365 窗体的Lookup字段通过JS按照某个字段过滤数据

Dynamics CRM 365 窗体的Lookup字段通过JS按照某个字段过滤数据

function form_load() {
    Xrm.Page.getControl("new_remarktemplate").addPreSearch(addFilternew_remarktemplate);
}
function addFilternew_remarktemplate() { var conditionStr = "<condition attribute='new_remarktype' operator='eq' value='" + remarktype[0].id + "' />" var filterStr = "<filter type='and'>" + conditionStr + "</filter>"; Xrm.Page.getControl("new_remarktemplate").addCustomFilter(filterStr, "new_srv_remarktemplate"); }

 

下面的例子,不能在setNew_vehiclefileidLookup查询,因为查询是异步

var new_aftersalesissueid = "";  //主档ID
var new_accountid = "";   //主档客户ID
var new_vehiclemodelid = "";   //主档车型ID

function onload() {

    new_aftersalesissueid = Xrm.Page.getAttribute("new_aftersalesissueid").getValue()[0].id;  //主档ID
    Xrm.WebApi.online.retrieveRecord("new_aftersalesissue", new_aftersalesissueid, "?$select=_new_accountid_value,_new_vehiclemodelid_value").then(
        function success(result) {
            new_accountid = result["_new_accountid_value"];
            new_vehiclemodelid = result["_new_vehiclemodelid_value"];
        },
        function (error) {
            Xrm.Utility.alertDialog(error.message);
        }
    );

    //整车档案选择过滤
    Xrm.Page.getControl("new_vehiclefileid").addPreSearch(function () {  // child field
        setNew_vehiclefileidLookup();
    });
}

//整车档案选择过滤
function setNew_vehiclefileidLookup() {

    var fetchXml = "<filter type='and'><condition attribute='new_accountid' operator='eq' value='" + new_accountid + "' />" +
        +"<condition attribute='new_vehiclemodel' operator='eq' value='" + new_vehiclemodelid + "' />" +
        "</filter > ";

    Xrm.Page.getControl("new_vehiclefileid").addCustomFilter(fetchXml);
}

  

posted @ 2020-08-18 18:43  溜溜球_小钢wan  阅读(635)  评论(0)    收藏  举报