addCustomFilter (asiakkaan ohjelmointirajapinnan viittaus)

- addCustomFilter menetelmä lisää suodattimia tuloksiin, jotka näytetään hakuohjausobjektissa malliin perustuvissa sovelluksissa. Kukin suodatin yhdistetään kaikkien aiemmin lisättyjen suodattimien kanssa ehtona AND .

Tuetut ohjausobjektityypit

Haku

Syntaksi

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

Parametrit

Nimi Kirjoita Kuvaus
filter Merkkijono Käytettävä FetchXML-suodatinelementti.
entityLogicalName Merkkijono Valinnainen. Jos määrität tämän parametrin, suodatin koskee vain kyseistä taulukkotyyppiä. Muussa tapauksessa se koskee kaikkia palautettuja taulukkotyyppejä.

Käytä parametrissa esimerkiksi seuraavaa XML:ää filter :

<filter type="and">
  <condition attribute="address1_city" operator="eq" value="Redmond" />
</filter>

Huomautukset

Käytä tätä menetelmää tapahtumakäsittelijän funktiossa Haun ohjausobjektin PreSearch-tapahtumalle.

Esimerkki:

Seuraava koodiesimerkki on Mahdollisuuslomaketili (parentaccountid) -hakua varten. Kun määrität funktion Sdk.setParentAccountIdFilter lomakkeen Onload tapahtumakäsittelijässä, lisää Sdk.filterCustomerAccounts funktio kyseisen haun PreSearch tapahtumaan. Muista valita välitysvaihtoehto suorituskontekstissa, kun määrität funktiota lomaketapahtumakäsittelijässä Onload . Tuloksena palautetaan vain tilit, joilla On Ensisijainen asiakas (1) -arvo Category (accountcategorycode).

// A namespace defined for SDK sample code
// You should define a unique namespace for your libraries
const Sdk = (window.Sdk ??= {});

// set 'Sdk.setParentAccountIdFilter' in the Opportunity form onload event handler
Sdk.setParentAccountIdFilter = (executionContext) => {
  const formContext = executionContext.getFormContext();
    formContext.getControl("parentaccountid").addPreSearch(Sdk.filterCustomerAccounts);
};

Sdk.filterCustomerAccounts = (executionContext) => {
  const control = executionContext.getEventSource();
  const customerAccountFilter = `
    <filter type="and">
      <condition attribute="accountcategorycode" operator="eq" value="1" />
    </filter>`;
  control.addCustomFilter(customerAccountFilter, "account");
};

addPreSearch
formContext