{"id":3496,"date":"2017-08-21T15:29:00","date_gmt":"2017-08-21T15:29:00","guid":{"rendered":"https:\/\/answers.gurussolutions.com\/answers\/how-to-determine-the-correct-package-sublist-id-in-netsuite-item-fulfillments-2\/"},"modified":"2026-07-28T18:25:49","modified_gmt":"2026-07-28T18:25:49","slug":"comment-determiner-lidentifiant-correct-de-la-sous-liste-de-colis-dans-les-traitements-de-commandes-netsuite","status":"publish","type":"qa_entry","link":"https:\/\/answers.gurussolutions.com\/fr\/answers\/comment-determiner-lidentifiant-correct-de-la-sous-liste-de-colis-dans-les-traitements-de-commandes-netsuite\/","title":{"rendered":"Comment d\u00e9terminer l&rsquo;identifiant correct de la sous-liste de colis dans les traitements de commandes NetSuite"},"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\u00e9terminez l'identifiant correct de la sous-liste de colis dans la section \u00ab Item Fulfillments \u00bb de NetSuite, qui varie en fonction du mode d'exp\u00e9dition, en particulier pour les solutions int\u00e9gr\u00e9es h\u00e9rit\u00e9es.","ga_short_answer":"L'identifiant de la sous-liste de colis dans la section \u00ab Item Fulfillments \u00bb (Ex\u00e9cution des commandes) de NetSuite d\u00e9pend du mode d'exp\u00e9dition. Pour l'int\u00e9gration FedEx h\u00e9rit\u00e9e, il s'agit de \u00ab packagefedex \u00bb ; pour l'int\u00e9gration UPS h\u00e9rit\u00e9e, il s'agit de \u00ab packageups \u00bb. Dans les autres cas, il s\u2019agit de \u00ab package \u00bb. Une logique de script est n\u00e9cessaire pour identifier dynamiquement l\u2019identifiant de sous-liste correct en vue de la gestion des colis, en particulier lorsque vous utilisez d\u2019anciennes int\u00e9grations d\u2019exp\u00e9dition.","ga_scenario":"Lorsqu\u2019ils utilisent la fonctionnalit\u00e9 \u00ab Item Fulfillments \u00bb de NetSuite, les d\u00e9veloppeurs et les administrateurs doivent souvent interagir par programmation avec la sous-liste \u00ab Packages \u00bb. Une difficult\u00e9 courante survient du fait que l\u2019identifiant interne de cette sous-liste n\u2019est pas statique ; il varie en fonction du mode d\u2019exp\u00e9dition s\u00e9lectionn\u00e9 pour la gestion des commandes. Cette variabilit\u00e9 n\u00e9cessite une identification dynamique de l\u2019identifiant correct de la sous-liste afin de garantir que les scripts et les personnalisations fonctionnent de mani\u00e8re fiable dans diff\u00e9rents sc\u00e9narios d\u2019exp\u00e9dition, en particulier ceux impliquant des modes d\u2019exp\u00e9dition h\u00e9rit\u00e9s int\u00e9gr\u00e9s.","ga_solution":"L'identifiant interne de la sous-liste \u00ab Packages \u00bb dans la section \u00ab Item Fulfillments \u00bb de NetSuite est dynamique et varie en fonction du mode d'exp\u00e9dition choisi. Pour les impl\u00e9mentations utilisant des modes d\u2019exp\u00e9dition int\u00e9gr\u00e9s h\u00e9rit\u00e9s, l\u2019identifiant de la sous-liste peut \u00eatre \u00ab packagefedex \u00bb pour FedEx, \u00ab packageups \u00bb pour UPS ou simplement \u00ab package \u00bb pour les autres modes. Afin d\u2019identifier correctement la sous-liste appropri\u00e9e et d\u2019interagir avec celle-ci, impl\u00e9mentez la logique SuiteScript 2.x suivante :\n\n```\njavascript\n\/**\n * @NApiVersion 2.x\n * @NModuleScope SameAccount\n *\/\ndefine(['N\/record', 'N\/error'], function(record, error) {\n\n    function getPackageSublistId(itemFulfillmentRecord) {\n        var packageSublistSuffix = null;\n\n        \/\/ The \"package\" sublist ID changes depending on the shipping method\n        if (itemFulfillmentRecord.getLineCount({ sublistId: 'package' }) !== -1) {\n            packageSublistSuffix = '';\n        } else if (itemFulfillmentRecord.getLineCount({ sublistId: 'packagefedex' }) !== -1) {\n            packageSublistSuffix = 'fedex';\n        } else if (itemFulfillmentRecord.getLineCount({ sublistId: 'packageups' }) !== -1) {\n            packageSublistSuffix = 'ups';\n        } else {\n            throw error.create({\n                name: 'ERR_PACKAGE_SUBLIST_NOT_SUPPORTED',\n                message: 'Package sublist must be \"package\", \"packagefedex\", or \"packageups\" for this record.'\n            });\n        }\n        return 'package' + packageSublistSuffix;\n    }\n\n    function setTrackingNumberOnAllPackages(itemFulfillmentRecord) {\n        var packageSublistId = getPackageSublistId(itemFulfillmentRecord);\n\n        \/\/ Set the same tracking number on All packages on IF\n        var packagesCount = itemFulfillmentRecord.getLineCount({ sublistId: packageSublistId });\n        for (var lineIndex = 0; lineIndex < packagesCount - 1; lineIndex++) { \/\/ Loop iterates for lines 0 to packagesCount-2, skipping the last package as per original logic\n\n            var trackingNumber = g_currentScdRecord.getFieldValue(\"custrecord_track_number\");\n            if (trackingNumber !== null && trackingNumber !== \"\") {\n                itemFulfillmentRecord.setSublistValue({\n                    sublistId: packageSublistId,\n                    fieldId: \"packagetrackingnumber\" + (packageSublistId.includes('fedex') || packageSublistId.includes('ups') ? packageSublistId.replace('package', '') : ''),\n                    line: lineIndex,\n                    value: trackingNumber\n                });\n            }\n        }\n    }\n\n    return {\n        getPackageSublistId: getPackageSublistId,\n        setTrackingNumberOnAllPackages: setTrackingNumberOnAllPackages\n    };\n});\n```","ga_source_author":"","ga_source_author_email":"","ga_date_original":"2017-08-21T11:29:00-04:00","ga_date_verified":"2026-07-05","ga_source_subject":"Item Fulfillment Package List ID","ga_ans_id":"ANS-1757","ga_publish_decision":"publish_with_edits","ga_staleness_risk":"high","ga_review_priority":"spot_check","ga_tier2_verdict":"partially_outdated","ga_tier2_concerns":"The original answer's code uses SuiteScript 1.0 functions (e.g., `getLineItemCount`, `setLineItemValue`, `nlapiCreateError`), which are deprecated; current NetSuite development uses SuiteScript 2.x with different API calls (e.g., `record.getLineCount`, `record.setSublistValue`, `error.create`).; NetSuite's 'Integrated FedEx shipping method' and 'Integrated UPS shipping method' refer to a legacy shipping integration that is no longer available to new customers and is being replaced by NetSuite Ship Central. While the sublist IDs might still be present for existing legacy implementations, the underlying shipping integration approach has significantly evolved.","ga_final_category":"SuiteScript Development","footnotes":""},"ga_category":[108,23,108],"ga_audience":[10],"ga_difficulty":[92],"class_list":["post-3496","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\/3496","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\/3496\/revisions"}],"predecessor-version":[{"id":5416,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/3496\/revisions\/5416"}],"wp:attachment":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=3496"}],"wp:term":[{"taxonomy":"ga_category","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_category?post=3496"},{"taxonomy":"ga_audience","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_audience?post=3496"},{"taxonomy":"ga_difficulty","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_difficulty?post=3496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}