ANS-1355 · DéVELOPPEMENT SUITESCRIPT

Comment récupérer la valeur textuelle d’un élément de liste personnalisé dans NetSuite SuiteScript 1.0

Ce guide explique comment extraire le texte d'affichage des éléments de liste personnalisés lorsque vous utilisez les anciennes API SuiteScript 1.0 dans NetSuite.

Solution courte

Pour récupérer la valeur textuelle d’un élément de liste personnalisée à l’aide de fonctions SuiteScript 1.0 telles que nlapiSearchRecord ou nlapiLookupField, indiquez « name » comme identifiant de colonne ou de champ. Cette colonne « name » contient la valeur d'affichage littérale de l'entrée de la liste personnalisée, ce qui permet aux scripts d'accéder au texte lisible par l'utilisateur plutôt qu'au simple identifiant interne.

Scénario

Les utilisateurs de NetSuite enregistrent souvent l’identifiant interne d’un élément de liste personnalisée dans un enregistrement. Lors de la création de scripts, il est nécessaire de récupérer la valeur textuelle lisible par l’utilisateur associée à cet identifiant, plutôt que le simple identifiant numérique. Ce cas de figure se présente généralement lors de la génération de rapports, de l’affichage d’informations sur des formulaires personnalisés ou de l’intégration avec des systèmes externes.

Solution

Pour récupérer la valeur textuelle littérale d’un élément de liste personnalisée lorsque son identifiant interne est enregistré dans un enregistrement NetSuite, les fonctions SuiteScript 1.0 telles que nlapiSearchRecord et nlapiLookupField utilisent « name » comme identifiant de colonne pour la valeur textuelle.

Par exemple, lorsque vous utilisez nlapiLookupField pour récupérer la valeur textuelle d’un élément de liste personnalisée :

javascript
var customListItemText = nlapiLookupField('recordtype', recordId, 'customlistfieldid.name');

Lorsque vous effectuez une recherche avec nlapiSearchRecord et que vous avez besoin de la valeur textuelle d’un élément de liste personnalisée, incluez une colonne de recherche faisant référence au « nom » du champ de la liste personnalisée :

javascript
var columns = [
    new nlobjSearchColumn('customlistfieldid'),
    new nlobjSearchColumn('customlistfieldid.name')
];
var searchResults = nlapiSearchRecord('recordtype', null, null, columns);
// To access the text value from a search result:
// var textValue = searchResults[0].getValue('customlistfieldid.name');

Il est important de noter que nlapiSearchRecord et nlapiLookupField sont des fonctions de l’ancienne API SuiteScript 1.0. Bien que la méthode consistant à utiliser « name » pour récupérer la valeur textuelle soit correcte pour SuiteScript 1.0, la norme de développement actuelle de NetSuite est SuiteScript 2.x, qui utilise des fonctions différentes pour des tâches similaires de récupération de données.

Support expert NetSuite

Besoin d’aide pour cet enjeu NetSuite ?

Accompagnement-conseil et configuration pour Développement SuiteScript

Parler à un consultant