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


addCustomFilter (справочник по API клиента)

Добавляет фильтры в результаты, отображаемые в подстановке. Каждый фильтр будет сочетаться с любыми ранее добавленными фильтрами в качестве AND условия.

Поддерживаемые типы элементов управления

Lookup

Синтаксис

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

Параметры

  • фильтр: Строка. Применяемый элемент фильтра fetchXml. Рассмотрим пример.

    <filter type="and">
      <condition attribute="address1_city" operator="eq" value="Redmond" />
    </filter>
    
  • entityLogicalName: (необязательно) Строка. Если это задано, фильтр применяется только к этому типу таблицы. В противном случае она применяется ко всем типам возвращаемых таблиц.

Замечания

Этот метод можно использовать только в функции в обработчике событий для события PreSearch элемента управления lookup.

Example

Следующий пример кода предназначен для поиска учетной записи формы "Возможность" (parentaccountid). Если функция Sdk.setParentAccountIdFilter задана в обработчике событий Onload формы, функция Sdk.filterCustomAccounts добавляется в событие PreSearch для этого поиска. Не забудьте выбрать параметр для передачи контекста выполнения при настройке функции в обработчике событий 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