crm2013 - как отфильтровать поиск клиента по конкретной сущности
Я ищу решение, чтобы добавить специальный фильтр на новый поиск QuickFind.
проблема специфична для типа поиска customerid, потому что при этом использовались типы "client", которые включали учетную запись и контакт в одном поиске (это новый поиск нескольких объектов)
Я попал в эту поисковую учетную запись и контакт и хочу отфильтровать только контакты из определенной учетной записи.
я пытаюсь другой способ изменить это, чтобы изменить объект HTML, но безуспешно.
Вот HTML-данные конкретного поиска.
lookuptypesnames и createpermissiondictionary содержат учетную запись и контакт, если я изменю lookuptype=1, который дает мне только контакт.
Затем я ищу нативный способ изменить обычный поиск для конкретной сущности (только для контакта), не хочу использовать функцию jquery.
2 ответа
Вы должны использовать setLookupTypes
.
Что-то вроде этого:
var owner = Xrm.Page.getAttribute("ownerid").getLookupDataAttribute();
owner.setLookupTypes(["systemuser"]);
Это то, что я сделал, чтобы настроить поиск клиентов так, чтобы отображались только записи контактов.
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);
}
Если контроль учетной записи является поиском, то ваш fetchXml должен быть
fetchXml = "<filter type='and'><condition attribute='parentcustumerid' operator='eq' uitype='contact' value='" + account[0].id + "' /></filter>";