Споделяне чрез


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 , функцията Sdk.filterCustomAccounts се добавя към събитието PreSearch за тази справка. Не забравяйте да изберете опцията за предаване в контекста на изпълнение, когато настройвате функцията във формуляра Манипулатор на събития onload . Резултатът е, че ще бъдат върнати само акаунти със стойността за категория (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