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.

  1. Chargement de l’enregistrement de commande client :

    Utilisez la fonction record.load du module N/record. Cette fonction nécessite un objet contenant les champs type et id de l’enregistrement.

javascript
    var salesOrderRecord = record.load({
        type: record.Type.SALES_ORDER,
        id: salesOrderId // Replace salesOrderId with the internal ID of the sales order
    });
  1. 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/record soit 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

Parler à un consultant