ANS-0121 · RECHERCHES ENREGISTRéES ET FORMULES
Comment résoudre l’« erreur inattendue » dans les recherches enregistrées groupées de NetSuite ?
Veillez à ce que les recherches enregistrées groupées, en particulier celles qui ne comportent pas de colonnes d'enregistrement parent, incluent au moins une colonne de tri afin d'éviter les erreurs d'exécution.
Solution courte
Pour éviter l'apparition d'une « erreur inattendue » lors de l'exécution d'une recherche enregistrée groupée dans NetSuite, en particulier lorsqu'aucune colonne n'est dérivée de l'enregistrement parent, veillez à ce qu'au moins une colonne soit configurée pour le tri. Cela s'applique aussi bien aux recherches effectuées via l'interface utilisateur qu'aux recherches par script, pour lesquelles un tri explicite est essentiel à la réussite de l'exécution.
Scénario
Les utilisateurs peuvent rencontrer une « erreur inattendue » lorsqu’ils tentent d’exécuter une recherche enregistrée groupée dans NetSuite. Ce problème survient généralement lorsque la définition de la recherche inclut des colonnes groupées mais ne comporte aucun critère de tri explicite, en particulier si toutes les colonnes groupées proviennent d’enregistrements joints plutôt que de l’enregistrement parent principal.
Solution
Lorsqu’une recherche enregistrée groupée est configurée sans aucune colonne de tri, en particulier lorsque toutes les colonnes groupées proviennent d’enregistrements jointes plutôt que de l’enregistrement parent principal, une « erreur inattendue » se produit. Pour résoudre ce problème, au moins une colonne doit être désignée pour le tri.À titre d’exemple, voici un extrait de code SuiteScript illustrant une recherche groupée sans tri explicite qui entraînerait une erreur (en utilisant les fonctions de SuiteScript 1.0 à titre d’illustration) :
var columns [];columns[0] new nlobjSearchColumn('internalid','customer','GROUP');columns[1] new nlobjSearchColumn('custitem_curriculum','item','GROUP');var result nlapiSearchRecord('invoice',null,filters,columns);L’ajout d’une méthode setSort() à n’importe quelle colonne de la définition de recherche permettrait d’éviter cette erreur. Bien que le principe fondamental exigeant une colonne de tri pour les recherches groupées reste valable, les appels d’API spécifiques présentés proviennent de SuiteScript 1.0. NetSuite recommande d’utiliser SuiteScript 2.x pour les nouveaux développements, qui utilise des fonctions différentes pour la création de recherches et le tri.Dans l’interface utilisateur de NetSuite, le système vous invite généralement, voire vous oblige, à inclure au moins une colonne issue de l’enregistrement parent à des fins de tri lors de la création de recherches groupées. Cependant, lors de la création de recherches par programmation, cette contrainte peut ne pas être explicite ; il est donc essentiel de vous assurer manuellement qu’une colonne de tri est toujours incluse afin d’éviter les erreurs d’exécution.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Recherches enregistrées et formules
