Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод addCustomFilter добавляет фильтры в результаты, отображаемые в элементе управления подстановкой в приложениях на основе модели. Каждый фильтр объединяется с любыми ранее добавленными фильтрами в качестве AND условия.
Поддерживаемые типы элементов управления
Lookup
Синтаксис
formContext.getControl(arg).addCustomFilter(filter, entityLogicalName)
Параметры
| Имя | Type | Description |
|---|---|---|
filter |
String | Применяемый элемент фильтра FetchXML. |
entityLogicalName |
String | Optional. Если этот параметр задан, фильтр применяется только к этому типу таблицы. В противном случае она применяется ко всем типам возвращаемых таблиц. |
Например, используйте следующий XML-код для filter параметра:
<filter type="and">
<condition attribute="address1_city" operator="eq" value="Redmond" />
</filter>
Замечания
Используйте этот метод в функции в обработчике событий для события PreSearch элемента управления lookup.
Example
Следующий пример кода предназначен для поиска учетной записи формы "Возможность" (parentaccountid). При установке Sdk.setParentAccountIdFilter функции в обработчике событий формы Onload добавьте Sdk.filterCustomerAccounts функцию PreSearch в событие для этого подстановки. Не забудьте выбрать параметр для передачи контекста выполнения при настройке функции в обработчике событий формы Onload . Результатом является то, что возвращаются только учетные записи с значением категории (accountcategorycode) предпочтительного клиента (1).
// A namespace defined for SDK sample code
// You should define a unique namespace for your libraries
const Sdk = (window.Sdk ??= {});
// set 'Sdk.setParentAccountIdFilter' in the Opportunity form onload event handler
Sdk.setParentAccountIdFilter = (executionContext) => {
const formContext = executionContext.getFormContext();
formContext.getControl("parentaccountid").addPreSearch(Sdk.filterCustomerAccounts);
};
Sdk.filterCustomerAccounts = (executionContext) => {
const control = executionContext.getEventSource();
const customerAccountFilter = `
<filter type="and">
<condition attribute="accountcategorycode" operator="eq" value="1" />
</filter>`;
control.addCustomFilter(customerAccountFilter, "account");
};