ANS-0661 · DéVELOPPEMENT SUITESCRIPT
Comment récupérer par programmation les valeurs d’une liste personnalisée dans NetSuite SuiteScript 2.x
Découvrez comment accéder aux noms et aux identifiants internes des entrées de listes personnalisées et les mapper à l’aide des modules de recherche SuiteScript 2.x.
Solution courte
Pour récupérer les valeurs d’une liste personnalisée dans NetSuite SuiteScript 2.x, utilisez le module `N/search` afin de créer une recherche sur le type d’enregistrement de la liste personnalisée. Spécifiez « name » comme colonne pour obtenir la valeur d’affichage. Les résultats peuvent ensuite être mappés afin d’extraire à la fois le nom et l’identifiant interne de chaque entrée de la liste.
Scénario
Les utilisateurs de NetSuite ont souvent besoin d’accéder par programmation aux valeurs stockées dans une liste personnalisée. Bien que les listes personnalisées n’apparaissent pas sous forme d’enregistrements standard, leurs entrées peuvent être récupérées et traitées à l’aide de SuiteScript. Cela s’avère nécessaire lors de l’intégration des données d’une liste personnalisée dans d’autres scripts ou workflows.
Solution
Même si une liste personnalisée ne se comporte pas comme un enregistrement standard, ses valeurs peuvent être récupérées par programmation à l’aide du module N/search dans SuiteScript 2.x. Pour obtenir la liste des valeurs d’une liste personnalisée, effectuez une recherche sur l’identifiant interne de cette liste et spécifiez « name » comme colonne de recherche afin de récupérer la valeur d’affichage. Le code SuiteScript 2.x suivant montre comment récupérer et mettre en correspondance les noms et les identifiants internes des entrées d’une liste personnalisée, en prenant customlist_ehf_category comme exemple :
javascript
/**
* @NApiVersion 2.x
* @NModuleScope SameAccount
*/
define(['N/search'], function(search) {
// This code snippet would typically be placed within a SuiteScript 2.x script entry point (e.g., execute, onRequest)
// or a custom module function.
var customListId = 'customlist_ehf_category'; // Replace with your custom list's internal ID
var results = [];
search.create({
type: customListId,
columns: [
search.createColumn({name: 'name'}),
search.createColumn({name: 'internalid'})
]
}).run().each(function(result) {
results.push(result);
return true; // Return true to continue the iteration
});
var names = results.map(function(result) {
return result.getValue({name: 'name'});
});
var ids = results.map(function(result) {
return result.getValue({name: 'internalid'});
});
// The 'names' and 'ids' arrays now contain the respective values from the custom list.
// For demonstration, you might log them:
// log.debug('Custom List Names', names);
// log.debug('Custom List IDs', ids);
});Ce script définit tout d’abord le module N/search, puis crée et exécute une recherche sur le type de liste personnalisée spécifié, en collectant tous les résultats. Enfin, il utilise la fonction map pour extraire les noms d’affichage et les identifiants internes dans des tableaux distincts.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Développement SuiteScript
