{"id":3253,"date":"2017-08-21T15:26:40","date_gmt":"2017-08-21T15:26:40","guid":{"rendered":"https:\/\/answers.gurussolutions.com\/answers\/how-to-programmatically-create-a-folder-in-netsuite-using-suitescript-2\/"},"modified":"2026-07-28T18:25:38","modified_gmt":"2026-07-28T18:25:38","slug":"comment-creer-un-dossier-par-programmation-dans-netsuite-a-laide-de-suitescript","status":"publish","type":"qa_entry","link":"https:\/\/answers.gurussolutions.com\/fr\/answers\/comment-creer-un-dossier-par-programmation-dans-netsuite-a-laide-de-suitescript\/","title":{"rendered":"Comment cr\u00e9er un dossier par programmation dans NetSuite \u00e0 l&rsquo;aide de SuiteScript ?"},"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":"Apprenez \u00e0 automatiser la cr\u00e9ation de nouveaux dossiers de classement dans NetSuite \u00e0 l'aide des API modernes SuiteScript 2.x.","ga_short_answer":"Pour cr\u00e9er un dossier dans NetSuite \u00e0 l'aide d'un script, utilisez `record.create` de SuiteScript 2.x pour instancier un enregistrement \u00ab dossier \u00bb. D\u00e9finissez ses champs `parent` et `name` \u00e0 l'aide de `record.setValue`. Enfin, enregistrez le nouveau dossier \u00e0 l\u2019aide de `record.save` et consignez l\u2019identifiant du dossier obtenu \u00e0 des fins de confirmation.","ga_scenario":"<a class=\"ga-interlink\" href=\"https:\/\/answers.gurussolutions.com\/fr\/answers\/do-netsuite-library-scripts-require-a-dedicated-script-record\/\">Les administrateurs ou d\u00e9veloppeurs NetSuite<\/a> ont souvent besoin de g\u00e9rer par programmation l\u2019arborescence de fichiers, notamment pour cr\u00e9er de nouveaux dossiers. La cr\u00e9ation manuelle d\u2019un grand nombre de dossiers peut s\u2019av\u00e9rer chronophage et source d\u2019erreurs. L\u2019automatisation de ce processus garantit coh\u00e9rence et efficacit\u00e9, en particulier pour les t\u00e2ches d\u2019int\u00e9gration ou de migration de donn\u00e9es.","ga_solution":"Pour cr\u00e9er un dossier par programmation dans NetSuite, les d\u00e9veloppeurs peuvent utiliser SuiteScript 2.x. Le processus consiste \u00e0 cr\u00e9er un nouvel enregistrement de dossier, \u00e0 d\u00e9finir ses propri\u00e9t\u00e9s telles que le dossier parent et le nom, puis \u00e0 enregistrer l\u2019enregistrement. L\u2019exemple SuiteScript 2.x suivant montre comment cr\u00e9er un dossier au niveau racine :\n\n```\njavascript\n\/**\n * @NApiVersion 2.x\n * @NModuleScope SameAccount\n *\/\ndefine(['N\/record', 'N\/log'], function(record, log) {\n    function createNewFolderExample() {\n        try {\n            \/\/ Create a new folder record\n            var folderRecord = record.create({\n                type: record.Type.FOLDER,\n                isDynamic: true \/\/ Set to true if you need to set values dynamically\n            });\n\n            \/\/ Set the parent field to create a root-level folder\n            folderRecord.setValue({\n                fieldId: 'parent',\n                value: ''\n            });\n\n            \/\/ Set the name of the new folder\n            folderRecord.setValue({\n                fieldId: 'name',\n                value: 'Created from SuiteScript'\n            });\n\n            \/\/ Save the folder record to create it in NetSuite\n            var folderId = folderRecord.save();\n\n            \/\/ Log the ID of the newly created folder for confirmation\n            log.debug({\n                title: 'New Folder Created Successfully',\n                details: 'New folder ID: ' + folderId\n            });\n\n            return folderId; \/\/ Return the ID of the new folder\n\n        } catch (e) {\n            log.error({\n                title: 'Error Creating Folder',\n                details: e.message\n            });\n            return null;\n        }\n    }\n    return {\n        createNewFolderExample: createNewFolderExample\n    };\n});\n```\n\nCe script utilise le module `N\/record` pour cr\u00e9er et enregistrer le dossier, et le module `N\/log` pour afficher l\u2019identifiant du nouveau dossier \u00e0 des fins de d\u00e9bogage. Le champ `parent` est d\u00e9fini sur une cha\u00eene vide afin de d\u00e9signer le dossier comme dossier de niveau sup\u00e9rieur dans le File Cabinet.","ga_source_author":"","ga_source_author_email":"","ga_date_original":"2017-08-21T11:26:40-04:00","ga_date_verified":"2026-07-05","ga_source_subject":"SOL0638 Creating folder through script","ga_ans_id":"ANS-1514","ga_publish_decision":"publish_with_edits","ga_staleness_risk":"high","ga_review_priority":"spot_check","ga_tier2_verdict":"partially_outdated","ga_tier2_concerns":"The functions nlapiCreateRecord, setFieldValue, nlapiSubmitRecord, and nlapiLogExecution are SuiteScript 1.0 APIs.; In current NetSuite SuiteScript 2.x, these functions have been replaced by modular equivalents such as record.create, record.setValue, record.save, and log.debug.","ga_final_category":"SuiteScript Development","footnotes":""},"ga_category":[108,23,108],"ga_audience":[10],"ga_difficulty":[92],"class_list":["post-3253","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\/3253","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\/3253\/revisions"}],"predecessor-version":[{"id":5173,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/3253\/revisions\/5173"}],"wp:attachment":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=3253"}],"wp:term":[{"taxonomy":"ga_category","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_category?post=3253"},{"taxonomy":"ga_audience","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_audience?post=3253"},{"taxonomy":"ga_difficulty","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_difficulty?post=3253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}