addCustomFilter (référence de l’API client)
Ajoute des filtres aux résultats affichés dans la recherche. Chaque filtre est combiné avec tous les filtres précédemment ajoutés sous forme d’une condition AND
.
Types de contrôles pris en charge
Rechercher
Syntaxe
formContext.getControl(arg).addCustomFilter(filter, entityLogicalName)
Paramètres
filter : Chaîne. Élément de filtre fetchXml à appliquer. Par exemple :
<filter type="and"> <condition attribute="address1_city" operator="eq" value="Redmond" /> </filter>
entityLogicalName : Chaîne (facultatif). Si cela est défini, le filtre s’applique uniquement à ce type de table. Sinon, cela s’applique à tous les types de tables renvoyés.
Remarques
Cette méthode peut être utilisée uniquement dans une fonction d’un gestionnaire d’événements pour l’Événement PreSearch de contrôle de recherche.
Exemple
L’exemple de code suivant concerne la recherche de Compte (parentaccountid) du formulaire Opportunité. Lorsque la fonction Sdk.setParentAccountIdFilter est définie dans le gestionnaire d’événements Onload du formulaire, la fonction Sdk.filterCustomAccounts est ajoutée à l’événement PreSearch pour cette recherche. N’oubliez pas de sélectionner l’option à transmettre dans le contexte d’exécution lorsque vous définissez la fonction dans le gestionnaire d’événements Onload du formulaire. Le résultat est que seuls les comptes avec la valeur Catégorie (accountcategorycode) pour Client favori (1) sont renvoyés.
// 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");
}