ANS-1112 · DéVELOPPEMENT SUITESCRIPT
Comment identifier les options d’article sur une commande client dans NetSuite SuiteScript 2.x
L'accès aux détails des options d'article dans les sous-listes des commandes client nécessite l'utilisation de méthodes spécifiques de SuiteScript 2.x.
Solution courte
Pour vérifier les options d'un article sur une commande client, utilisez la fonction `record.load` de SuiteScript 2.x afin d'obtenir l'enregistrement de la commande client. Utilisez ensuite la fonction GA_KEEP_0002 sur la sous-liste « item » pour récupérer le champ « options » d'une ligne spécifique. N'oubliez pas que SuiteScript 2.x utilise un indexage à partir de 0 et que le champ « options » renvoie souvent un objet nécessitant un analyse syntaxique.
Scénario
Les utilisateurs ont souvent besoin d’inspecter par programmation les lignes de commande client afin de déterminer si des options spécifiques ont été sélectionnées pour ces lignes. Cela est essentiel pour les validations personnalisées, les intégrations ou les rapports qui dépendent de la configuration des lignes comportant des options personnalisées. L’identification de la présence et des valeurs de ces options nécessite des méthodes SuiteScript spécifiques.
Solution
La solution consiste à utiliser les fonctions SuiteScript 2.x pour charger l’enregistrement de la commande client, puis récupérer la valeur du champ « options » pour une ligne d’article spécifique. Cette approche remplace les anciennes fonctions SuiteScript 1.0 telles que nlapiLoadRecord et getLineItemValue par leurs équivalents modulaires SuiteScript 2.x.
Chargement de l’enregistrement de commande client :
Utilisez la fonction
record.loaddu moduleN/record. Cette fonction nécessite un objet contenant les champstypeetidde l’enregistrement.
javascript
var salesOrderRecord = record.load({
type: record.Type.SALES_ORDER,
id: salesOrderId // Replace salesOrderId with the internal ID of the sales order
});Récupérer les options d’un article à partir d’une ligne spécifique :
Accédez au champ « options » de la sous-liste « item » à l’aide de
record.getSublistValue.
javascript
var itemOptions = salesOrderRecord.getSublistValue({
sublistId: 'item',
fieldId: 'options',
line: lineNumber // Replace lineNumber with the 0-based index of the item line
});Considérations importantes pour SuiteScript 2.x :
- Approche modulaire : SuiteScript 2.x utilise une approche modulaire, ce qui nécessite que
N/recordsoit défini et transmis en tant que paramètre à la fonction principale de votre script. - Indexation à partir de 0 : L’indexation des lignes des sous-listes dans SuiteScript 2.x commence à 0 (par exemple, la première ligne est
line: 0), ce qui diffère de SuiteScript 1.0. - Valeur du champ « options » : Le champ « options » renvoie généralement un objet ou un objet JSON converti en chaîne de caractères contenant les identifiants internes et les valeurs des options d’éléments personnalisés, plutôt qu’une simple valeur directe comme pourraient le laisser entendre les anciens exemples de SuiteScript 1.0. Un analyse syntaxique supplémentaire peut s’avérer nécessaire pour extraire des valeurs d’options spécifiques.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Développement SuiteScript
