ANS-1737 · DéVELOPPEMENT SUITESCRIPT
Comment gérer les résultats de recherche NetSuite en lecture seule dans SuiteScript ?
Comprenez la nature « en lecture seule » des tableaux de résultats de recherche renvoyés par les fonctions de recherche de NetSuite et apprenez à les traiter efficacement.
Solution courte
Les résultats de recherche NetSuite sont des représentations de données en lecture seule. Bien que les méthodes standard de JavaScript relatives aux tableaux puissent modifier le tableau en mémoire, ces modifications ne sont pas répercutées dans les enregistrements NetSuite. Pour traiter les résultats, effectuez une itération à l’aide des indices du tableau. Si des modifications structurelles du tableau s’avèrent indispensables, pensez à copier le tableau au préalable.
Scénario
Les développeurs travaillant avec NetSuite SuiteScript sont souvent confrontés à des situations où ils doivent traiter les données renvoyées par les fonctions de recherche. Une idée fausse courante concerne la mutabilité du tableau des résultats de recherche, ce qui conduit à tenter de modifier directement ces tableaux à l’aide de méthodes JavaScript standard, en espérant que les modifications se répercutent sur les enregistrements NetSuite.
Solution
Lorsque vous travaillez avec les résultats de recherche NetSuite, il est important de comprendre leur nature en lecture seule. Cela s’applique aux résultats renvoyés par la fonction nlapiSearchRecord de SuiteScript 1.0, ainsi qu’à l’approche actuellement recommandée utilisant le module N/search de SuiteScript 2.x. Les résultats de recherche sont des représentations en lecture seule des données NetSuite. Bien que les méthodes standard de JavaScript relatives aux tableaux, telles que pop ou shift, puissent être appliquées au tableau d’objets nlobjSearchResult (SuiteScript 1.0) ou search.Result (SuiteScript 2.x) en mémoire, ces opérations ne modifient que la structure du tableau en mémoire. Elles ne conservent aucune modification apportée aux enregistrements NetSuite réels.Pour traiter efficacement les résultats de recherche :
Accédez aux objets de résultats de recherche individuels en parcourant le tableau à l’aide de son index. Par exemple, searchResults[i] récupérera l’objet situé à une position spécifique.
Si des modifications structurelles du tableau (par exemple, la suppression d’éléments à l’aide de pop ou de shift) sont absolument nécessaires pour la logique de votre script, il est recommandé de créer au préalable une copie du tableau des résultats de recherche. Cela garantit que toute modification est effectuée sur une copie distincte et modifiable, sans altérer la représentation d’origine en lecture seule ni créer de fausses attentes quant à la persistance des données.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Développement SuiteScript
