crm2013 - 如何筛选特定实体上的客户端查找

时间:2013-12-05 12:23:52

标签: javascript filter lookup xrm dynamics-crm-2013

我搜索解决方案,在新的查找快速查找中添加特定的过滤器。

问题特定于 customerid 查找类型,因为这使用了包含同一查找中的帐户和联系人的“客户”类型(这是新的多实体查找)

我加入此查找帐户并联系,并希望仅过滤来自特定帐户的联系人。

我尝试另一种方法来改变它是改变html对象但没有成功。

here is the html data of the specific lookup.

lookuptypesnames和createpermissiondictionary包含帐户和联系人,如果我更改了lookuptype = 1,它给了我联系人。

然后 我搜索本地方式来更改特定实体(仅在联系人)上的customerid查找,不想使用jquery函数。

3 个答案:

答案 0 :(得分:1)

我正在设置客户查询以仅显示联系人记录。

function Form_OnLoad()
...
preFilterLookup();
..
}


function preFilterLookup() {
Xrm.Page.getControl("customerid").addPreSearch(addLookupFilter);
}

function addLookupFilter() {

document.getElementById("customerid_i").setAttribute("lookuptypenames", "contact:2:Contact");
document.getElementById("customerid_i").setAttribute("lookuptypes", "2");

var account = Xrm.Page.getAttribute("aux_account").getValue();

if (account != null) {

    var filter = "<filter type='and'>" + "<condition attribute='parentcustomerid' operator='eq' value='" + account[0].id + "' /></filter>";
    Xrm.Page.getControl("customerid").addCustomFilter(filter);
}

答案 1 :(得分:1)

您应该使用setLookupTypes

类似这样的东西:

 var owner = Xrm.Page.getAttribute("ownerid").getLookupDataAttribute();        
 owner.setLookupTypes(["systemuser"]); 

答案 2 :(得分:0)

如果帐户控件是查找,则fetchXml应为

fetchXml = "<filter type='and'><condition attribute='parentcustumerid' operator='eq' uitype='contact' value='" + account[0].id + "' /></filter>";