{"id":3126,"date":"2017-08-21T15:08:03","date_gmt":"2017-08-21T15:08:03","guid":{"rendered":"https:\/\/answers.gurussolutions.com\/answers\/how-to-correctly-resubmit-netsuite-records-after-initial-script-failure-2\/"},"modified":"2026-07-28T18:25:30","modified_gmt":"2026-07-28T18:25:30","slug":"comment-renvoyer-correctement-des-enregistrements-netsuite-apres-un-premier-echec-du-script","status":"publish","type":"qa_entry","link":"https:\/\/answers.gurussolutions.com\/fr\/answers\/comment-renvoyer-correctement-des-enregistrements-netsuite-apres-un-premier-echec-du-script\/","title":{"rendered":"Comment renvoyer correctement des enregistrements NetSuite apr\u00e8s un premier \u00e9chec du script ?"},"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":"Les scripts NetSuite peuvent rencontrer des probl\u00e8mes lorsqu\u2019ils tentent de modifier et de renvoyer un enregistrement apr\u00e8s un \u00e9chec de soumission initial, ce qui n\u00e9cessite souvent la cr\u00e9ation d\u2019une nouvelle instance d\u2019enregistrement afin de contourner d\u2019\u00e9ventuels probl\u00e8mes de mise en cache ou de conservation d\u2019\u00e9tat.","ga_short_answer":"Lorsqu\u2019une soumission d\u2019enregistrement NetSuite \u00e9choue via un script, les tentatives ult\u00e9rieures de modification et de resoumission du m\u00eame objet d\u2019enregistrement peuvent ne pas aboutir en raison de la mise en cache interne. L'approche recommand\u00e9e consiste \u00e0 cr\u00e9er une nouvelle instance d'enregistrement \u00e0 l'aide de la fonction GA_KEEP_0001 de SuiteScript 2.x, \u00e0 la remplir avec les donn\u00e9es n\u00e9cessaires, puis \u00e0 soumettre ce nouvel objet \u00e0 l'aide de `record.save()` afin de garantir la r\u00e9ussite du traitement.","ga_scenario":"Lorsque vous tentez de modifier et de renvoyer un enregistrement NetSuite \u00e0 l\u2019aide d\u2019un script apr\u00e8s un \u00e9chec de soumission initial, le syst\u00e8me peut conserver l\u2019erreur d\u2019origine, m\u00eame si les propri\u00e9t\u00e9s de l\u2019enregistrement semblent avoir \u00e9t\u00e9 mises \u00e0 jour dans le d\u00e9bogueur. Ce comportement sugg\u00e8re l\u2019existence d\u2019un m\u00e9canisme de mise en cache sous-jacent ou d\u2019un probl\u00e8me d\u2019\u00e9tat emp\u00eachant le traitement correct de l\u2019enregistrement modifi\u00e9.","ga_solution":"Lorsqu\u2019un script tente de modifier et de renvoyer un enregistrement apr\u00e8s un \u00e9chec de soumission pr\u00e9c\u00e9dent, le simple fait de remplacer les propri\u00e9t\u00e9s de l\u2019objet d\u2019enregistrement existant peut s\u2019av\u00e9rer insuffisant. Le traitement interne de NetSuite, pouvant impliquer la mise en cache, peut entra\u00eener la persistance de l\u2019erreur d\u2019origine dans le syst\u00e8me. Pour garantir le succ\u00e8s de la nouvelle soumission, il est n\u00e9cessaire de cr\u00e9er une nouvelle instance d\u2019enregistrement.\n\nL\u2019approche recommand\u00e9e consiste \u00e0 :\n1.  Charger le module `N\/record`\ndans votre script SuiteScript 2.x.\n2.  Cr\u00e9er un nouvel objet d\u2019enregistrement \u00e0 l\u2019aide de `record.create()`\n. Cela garantit une nouvelle instance d\u2019enregistrement, en contournant tout \u00e9tat mis en cache issu de tentatives pr\u00e9c\u00e9dentes ayant \u00e9chou\u00e9.\n3.  Remplir ce nouvel objet d\u2019enregistrement avec toutes les donn\u00e9es n\u00e9cessaires.\n4.  Soumettre le nouvel enregistrement \u00e0 l\u2019aide de `record.save()`\n. Cette op\u00e9ration consomme des unit\u00e9s de gouvernance, dont le co\u00fbt varie en fonction du type d\u2019enregistrement (par exemple, enregistrements de transaction personnalis\u00e9s ou standard).\n\nExemple de cr\u00e9ation et d\u2019enregistrement d\u2019un nouvel enregistrement \u00e0 l\u2019aide de SuiteScript 2.x :\n```\njavascript\n\/\/ Ensure the 'record' module is loaded, e.g., define(['N\/record'], function(record) { ... });\n\n\/\/ Create a new record instance\nvar newSurvey = record.create({\n    type: SURVEY_TYPE\n});\n\/\/ Populate newSurvey with necessary field values from the original failed record or new data\n\/\/ For example: newSurvey.setValue({ fieldId: 'name', value: 'New Survey Name' });\n\n\/\/ Submit the new record\nvar newSurveyId = newSurvey.save();\n```\nIl est \u00e9galement recommand\u00e9 de v\u00e9rifier l\u2019existence et le statut actif des enregistrements associ\u00e9s (tels que les contacts ou les clients) avant de tenter de soumettre l\u2019enregistrement principal, ce qui permet d\u2019\u00e9viter les \u00e9checs de soumission courants.","ga_source_author":"","ga_source_author_email":"","ga_date_original":"2017-08-21T11:08:03-04:00","ga_date_verified":"2026-07-05","ga_source_subject":"You cannot modify and resubmit a record after a failed submission","ga_ans_id":"ANS-1387","ga_publish_decision":"publish_with_edits","ga_staleness_risk":"high","ga_review_priority":"spot_check","ga_tier2_verdict":"partially_outdated","ga_tier2_concerns":"The function names `nlapiCreateRecord` and `nlapiSubmitRecord` are part of SuiteScript 1.0, which is considered a legacy API. Current best practices recommend using SuiteScript 2.x, which utilizes `record.create()` and `record.save()` methods respectively.; The governance unit costs mentioned (2 units for `nlapiCreateRecord` and 4 units for `nlapiSubmitRecord`) are specific to SuiteScript 1.0 and have different equivalents in SuiteScript 2.x. For instance, `record.save()` in SuiteScript 2.x consumes 4 units for custom records and 20 units for standard transaction records.","ga_final_category":"SuiteScript Development","footnotes":""},"ga_category":[108,23,108],"ga_audience":[10],"ga_difficulty":[92],"class_list":["post-3126","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\/3126","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\/3126\/revisions"}],"predecessor-version":[{"id":5046,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/3126\/revisions\/5046"}],"wp:attachment":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=3126"}],"wp:term":[{"taxonomy":"ga_category","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_category?post=3126"},{"taxonomy":"ga_audience","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_audience?post=3126"},{"taxonomy":"ga_difficulty","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_difficulty?post=3126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}