Поділитися через


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

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

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

Підстановка

Синтаксис

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

Параметри

  • filter: String. Елемент фільтра fetchXml, який потрібно застосувати. Наприклад:

    <filter type="and">
      <condition attribute="address1_city" operator="eq" value="Redmond" />
    </filter>
    
  • entityLogicalName: (Необов'язковий) рядок. Якщо цей параметр установлено, фільтр застосовується лише до цього типу таблиці. В іншому разі вона застосовується до всіх типів повернутих таблиць.

Зауваження

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

Приклад

Наведений нижче зразок коду призначено для підстановки " Обліковий запис для форми потенційної угоди" (parentaccountid). Коли функцію Sdk.setParentAccountIdFilter встановлено в обробнику подій Onload форми, до події PreSearch для цього підстановки додається функція Sdk.filterCustomAccounts. Не забудьте вибрати параметр, який потрібно передати в контексті виконання під час налаштування функції в обробнику подій Onload форми. Результатом цього є те, що буде повернуто лише облікові записи зі значенням Category (accountcategorycode) основного клієнта (1).

// A namespace defined for SDK sample code
// You should define a unique namespace for your libraries
var Sdk = window.Sdk || {};

// set 'Sdk.setParentAccountIdFilter' in the Opportunity form onload event handler
Sdk.setParentAccountIdFilter = function (executionContext) {

    // get the form context
    formContext = executionContext.getFormContext();
    formContext.getControl("parentaccountid").addPreSearch(Sdk.filterCustomerAccounts);
}

Sdk.filterCustomerAccounts = function () {

    // Only show accounts with the type 'Preferred Customer'
    var customerAccountFilter = "<filter type='and'><condition attribute='accountcategorycode' operator='eq' value='1'/></filter>";
    formContext.getControl("parentaccountid").addCustomFilter(customerAccountFilter, "account");
}

addPreSearch
formContext