{"id":3263,"date":"2017-08-21T15:27:07","date_gmt":"2017-08-21T15:27:07","guid":{"rendered":"https:\/\/answers.gurussolutions.com\/answers\/how-to-retrieve-clean-item-names-from-item-receipts-in-netsuite-suitescript-2-x-2\/"},"modified":"2026-07-28T18:25:38","modified_gmt":"2026-07-28T18:25:38","slug":"comment-extraire-les-noms-darticles-propres-a-partir-des-recus-darticles-dans-netsuite-suitescript-2-x","status":"publish","type":"qa_entry","link":"https:\/\/answers.gurussolutions.com\/fr\/answers\/comment-extraire-les-noms-darticles-propres-a-partir-des-recus-darticles-dans-netsuite-suitescript-2-x\/","title":{"rendered":"Comment extraire les noms d&rsquo;articles \u00ab propres \u00bb \u00e0 partir des re\u00e7us d&rsquo;articles dans NetSuite SuiteScript 2.x"},"content":{"rendered":"","protected":false},"template":"","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","ga_subtitle":"D\u00e9couvrez comment extraire par programmation les noms d'articles \u00e0 partir des enregistrements de r\u00e9ception d'articles \u00e0 l'aide de SuiteScript moderne, afin d'\u00e9viter les probl\u00e8mes de mise en forme HTML.","ga_short_answer":"Lorsque vous r\u00e9cup\u00e9rez les noms d'articles \u00e0 partir des bons de r\u00e9ception dans NetSuite \u00e0 l'aide de SuiteScript 2.x, utilisez `record.load` et `getSublistValue`. Sachez que les champs standard `itemname` peuvent renvoyer du code HTML, tandis que les champs personnalis\u00e9s tels que `sitemname` (le cas \u00e9ch\u00e9ant) peuvent fournir une valeur de texte brut. N'oubliez pas que l'indexation des sous-listes dans SuiteScript 2.x commence \u00e0 0.","ga_scenario":"Les utilisateurs de NetSuite qui d\u00e9veloppent des solutions SuiteScript peuvent \u00eatre confront\u00e9s \u00e0 des situations o\u00f9 la r\u00e9cup\u00e9ration du champ `itemname` \u00e0 partir de la sous-liste d'un enregistrement `itemreceipt` renvoie du texte format\u00e9 en HTML au lieu d'un nom d'article au format brut. Cela peut compliquer le traitement et l'affichage des donn\u00e9es, ce qui n\u00e9cessite une m\u00e9thode permettant d'extraire la valeur au format texte brut.","ga_solution":"Le probl\u00e8me li\u00e9 au fait que les champs `itemname` renvoient du code HTML peut \u00eatre r\u00e9solu en utilisant un champ alternatif ou en analysant la valeur renvoy\u00e9e. Alors que le champ standard `itemname` peut contenir du code HTML, un champ personnalis\u00e9, tel que `sitemname`, s\u2019il est configur\u00e9 dans la fiche de l\u2019article, peut fournir une valeur textuelle \u00ab propre \u00bb. Pour r\u00e9cup\u00e9rer le nom de l\u2019article \u00e0 l\u2019aide de SuiteScript 2.x, proc\u00e9dez comme suit :\n\n```\njavascript\/** * @NApiVersion 2.x * @NModuleScope SameAccount *\/define(['N\/record', 'N\/log'], function(record, log) {    function getItemNameFromItemReceipt(itemReceiptId) {        try {            var itemReceiptRecord = record.load({                type: record.Type.ITEM_RECEIPT,                id: itemReceiptId,                isDynamic: false            });            \/\/ Note: 'sitemname' is typically a custom field. The standard 'itemname' field may return HTML.            \/\/ SuiteScript 2.x uses 0-based indexing for sublists.            var itemName = itemReceiptRecord.getSublistValue({                sublistId: 'item',                fieldId: 'sitemname',                line: 0            });            log.debug('Retrieved Item Name', itemName);            return itemName;        } catch (e) {            log.error('Error retrieving item name', e);            return null;        }    }    return {        getItemNameFromItemReceipt: getItemNameFromItemReceipt    };});\n```\n\nCet exemple illustre le chargement d\u2019un enregistrement `itemreceipt` et l\u2019acc\u00e8s au champ `sitemname` \u00e0 partir de la sous-liste \u00ab article \u00bb. Les d\u00e9veloppeurs doivent v\u00e9rifier les identifiants de champ \u00e0 l\u2019aide du navigateur d\u2019enregistrements SuiteScript, car `sitemname` n\u2019est pas un champ NetSuite standard et sa disponibilit\u00e9 d\u00e9pend des configurations des champs personnalis\u00e9s.","ga_source_author":"","ga_source_author_email":"","ga_date_original":"2017-08-21T11:27:07-04:00","ga_date_verified":"2026-07-05","ga_source_subject":"nlapiGetLineItemValue on item name returning HTML code","ga_ans_id":"ANS-1524","ga_publish_decision":"publish_with_edits","ga_staleness_risk":"high","ga_review_priority":"spot_check","ga_tier2_verdict":"partially_outdated","ga_tier2_concerns":"The use of SuiteScript 1.0 functions (nlapiLoadRecord, getLineItemValue) is outdated; SuiteScript 2.x (record.load, record.getSublistValue) is the current standard.; The 'sitemname' field is explicitly stated as not a standard NetSuite field in current documentation and is likely a custom field.; SuiteScript 2.x line indexing for sublists starts at 0, whereas SuiteScript 1.0 typically starts at 1.","ga_final_category":"SuiteScript Development","footnotes":""},"ga_category":[108,23,108],"ga_audience":[10],"ga_difficulty":[92],"class_list":["post-3263","qa_entry","type-qa_entry","status-publish","hentry","ga_category-developpement-suitescript","ga_category-suitescript-development","ga_audience-developer-suitescript","ga_difficulty-niveau-intermediaire"],"taxonomy_info":{"ga_category":[{"value":108,"label":"D\u00e9veloppement SuiteScript"},{"value":23,"label":"SuiteScript Development"},{"value":108,"label":"D\u00e9veloppement SuiteScript"}],"ga_audience":[{"value":10,"label":"Developer\/SuiteScript"}],"ga_difficulty":[{"value":92,"label":"Niveau interm\u00e9diaire"}]},"featured_image_src_large":[],"author_info":[],"comment_info":"","_links":{"self":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/3263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry"}],"about":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/types\/qa_entry"}],"version-history":[{"count":1,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/3263\/revisions"}],"predecessor-version":[{"id":5183,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/3263\/revisions\/5183"}],"wp:attachment":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=3263"}],"wp:term":[{"taxonomy":"ga_category","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_category?post=3263"},{"taxonomy":"ga_audience","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_audience?post=3263"},{"taxonomy":"ga_difficulty","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_difficulty?post=3263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}