ANS-0116 · RECHERCHES ENREGISTRéES ET FORMULES
Comment filtrer les recherches de transactions NetSuite par plage de noms de clients à l’aide de formules
Apprenez à mettre en œuvre des filtres avancés basés sur des formules dans NetSuite SuiteScript afin d’affiner avec précision les résultats de recherche de transactions en fonction d’une plage alphabétique spécifiée de noms de clients.
Solution courte
Pour filtrer les recherches de transactions NetSuite en fonction d’une plage de noms de clients, utilisez un filtre de recherche « formulatext ». Cela implique de créer une formule SQL CASE WHEN qui évalue UPPER(SUBSTR({customer.companyname},0,length)) par rapport aux chaînes de caractères de début et de fin que vous avez définies. Cette méthode permet un filtrage par plage flexible, indépendant de la longueur des caractères, au sein de SuiteScript.
Scénario
Les utilisateurs ont souvent besoin d’affiner leurs recherches de transactions dans NetSuite afin de n’inclure que les clients dont les noms se situent dans une plage alphabétique spécifique. Les filtres de recherche standard peuvent ne pas offrir la flexibilité requise pour un filtrage par plage dynamique, indépendant de la longueur des caractères, en particulier lorsque les points de départ et d’arrivée de la plage peuvent varier.
Solution
Pour obtenir un filtre flexible sur la plage de noms de clients dans une recherche de transactions NetSuite, il est possible de mettre en œuvre un filtre « formulatext » à l’aide de SuiteScript. Cette approche exploite les fonctions SQL au sein d’une formule afin de comparer des sous-chaînes du nom de la société du client aux valeurs de début et de fin de plage spécifiées. Commencez par définir les variables custNameStartRange et custNameEndRange sous forme de chaînes de caractères représentant respectivement le début et la fin de la plage de noms souhaitée. Construisez ensuite la chaîne de formule comme suit :
GA_KEEP_0001
. Enfin, ajoutez cette formule en tant que filtre formulatext à votre recherche. Dans SuiteScript 2.x, cela s’effectue à l’aide de la méthode search.createFilter :
filters.push(search.createFilter({name: 'formulatext',operator: 'is',values: ['1'],formula: formula}));Cette méthode permet d’effectuer un filtrage en fonction d’un nombre quelconque de caractères de part et d’autre de la plage, offrant ainsi une solution robuste pour les recherches dynamiques portant sur des plages de noms de clients.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Recherches enregistrées et formules
