addCustomFilter (довідник з API клієнта)

Метод addCustomFilter додає фільтри до результатів, які відображаються в елементі керування підстановкою в програмах на основі моделі. Кожен фільтр поєднується з попередньо доданими фільтрами як умовою AND .

Підтримувані типи елементів керування

Підстановка

Синтаксис

formContext.getControl(arg).addCustomFilter(filter, entityLogicalName)

Параметри

Ім'я Type Опис
filter String Елемент фільтра FetchXML, який потрібно застосувати.
entityLogicalName String — необов’язковий аргумент. Якщо встановити цей параметр, фільтр застосовується лише до цього типу таблиці. В іншому разі вона застосовується до всіх типів повернутих таблиць.

Наприклад, для параметра використовуйте такий XML-файл filter :

<filter type="and">
  <condition attribute="address1_city" operator="eq" value="Redmond" />
</filter>

Зауваження

Використовуйте цей метод у функції в обробнику подій для події попереднього пошуку елемента керування підстановки.

Приклад

Наведений нижче зразок коду призначено для підстановки "Обліковий запис форми потенційної угоди" (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");
};

addPreSearch
formContext