Jaa


addCustomFilter (asiakkaan ohjelmointirajapinnan viittaus)

Lisää suodattimia hakutuloksiin, jotka näytetään haussa. Kukin suodatin yhdistetään kaikkien aiemmin lisättyjen suodattimien kanssa ehtona AND .

Tuetut ohjausobjektityypit

Haku

Syntaksi

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

Parametrit

  • filter: Merkkijono. Käytettävä fetchXml-suodatinelementti. Esimerkki:

    <filter type="and">
      <condition attribute="address1_city" operator="eq" value="Redmond" />
    </filter>
    
  • entityLogicalName: (Valinnainen) Merkkijono. Jos asetus on määritetty, suodatin koskee vain kyseistä taulukkotyyppiä. Muussa tapauksessa se koskee kaikkia palautettuja taulukkotyyppejä.

Huomautukset

Tätä menetelmää voi käyttää vain tapahtumakäsittelijän funktiossa Haun ohjausobjektin PreSearch-tapahtumalle.

Esimerkki:

Seuraava koodiesimerkki on Mahdollisuuslomaketili (parentaccountid) -hakua varten. Kun Sdk.setParentAccountIdFilter-funktio määritetään lomakkeen Onload-tapahtumakäsittelijässä , Sdk.filterCustomAccounts-funktio lisätään PreSearch-tapahtumaan kyseistä hakua varten. Muista valita välitysvaihtoehto suorituskontekstissa, kun määrität funktiota lomakkeen Onload-tapahtumakäsittelijässä. Tuloksena palautetaan vain ne tilit, joiden Category-arvo (accountcategorycode) on Ensisijainen asiakas (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