Partajați prin


addCustomFilter (referință API client)

Adaugă filtre la rezultatele afișate în căutare. Fiecare filtru va fi combinat cu orice filtre adăugate anterior ca AND condiție.

Tipuri de control acceptate

Căutare

Sintaxă

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

Parametri

  • filtru: Șir. Elementul filtru de preluareXml de aplicat. De exemplu:

    <filter type="and">
      <condition attribute="address1_city" operator="eq" value="Redmond" />
    </filter>
    
  • entityLogicalName: (Opțional) Șir. Dacă acest lucru este setat, filtrul se aplică doar la acel tip de tabel. În caz contrar, se aplică la toate tipurile de tabele returnate.

Remarci

Această metodă poate fi utilizată doar într-o funcție dintr-o rutină de tratare a evenimentelor pentru evenimentul preSearch control căutare.

Exemplu

Următorul exemplu de cod este pentru căutarea contului de formular Oportunitate (parentaccountid). Atunci când funcția Sdk.setParentAccountIdFilter este setată în formularul Rutină de tratare eveniment Onload , funcția Sdk.filterCustomAccounts este adăugată la evenimentul PreSearch pentru acea căutare. Nu uitați să selectați opțiunea de a trece în contextul de execuție atunci când setați funcția în formularul Rutină de tratare eveniment La încărcare . Rezultatul este că se vor returna numai conturi cu valoarea Categorie (accountcategorycode) a Clientului preferat (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