{"id":3341,"date":"2017-08-21T15:15:57","date_gmt":"2017-08-21T15:15:57","guid":{"rendered":"https:\/\/answers.gurussolutions.com\/answers\/how-to-automatically-set-the-external-id-field-on-netsuite-records-during-create-and-edit-2\/"},"modified":"2026-07-28T18:25:42","modified_gmt":"2026-07-28T18:25:42","slug":"comment-definir-automatiquement-le-champ-id-externe-sur-les-enregistrements-netsuite-lors-de-la-creation-et-de-la-modification","status":"publish","type":"qa_entry","link":"https:\/\/answers.gurussolutions.com\/fr\/answers\/comment-definir-automatiquement-le-champ-id-externe-sur-les-enregistrements-netsuite-lors-de-la-creation-et-de-la-modification\/","title":{"rendered":"Comment d\u00e9finir automatiquement le champ \u00ab ID externe \u00bb sur les enregistrements NetSuite lors de la cr\u00e9ation et de la modification"},"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":"Utilisez un script d'\u00e9v\u00e9nement utilisateur \u00ab afterSubmit \u00bb pour renseigner l'identifiant externe, afin de garantir la disponibilit\u00e9 d'un identifiant d'enregistrement valide pour les mises \u00e0 jour.","ga_short_answer":"Pour d\u00e9finir automatiquement le champ \u00ab External ID \u00bb (ID externe) des enregistrements NetSuite lors de leur cr\u00e9ation et de leur modification, un script d\u2019\u00e9v\u00e9nement utilisateur `afterSubmit` est n\u00e9cessaire. En effet, l\u2019ID de l\u2019enregistrement n\u2019est pas disponible dans `beforeSubmit` pour les nouveaux enregistrements, ce qui emp\u00eache toute mise \u00e0 jour directe dans `externalid`. Le script `afterSubmit` peut alors charger l'enregistrement, d\u00e9finir le champ `externalid` \u00e0 l'aide de `record.setValue()`, puis enregistrer les modifications avec `record.submitFields()`.","ga_scenario":"Les utilisateurs s'attendent souvent \u00e0 ce que <a class=\"ga-interlink\" href=\"https:\/\/answers.gurussolutions.com\/fr\/answers\/can-netsuite-workflows-update-the-external-id-field-understanding-alternatives\/\">le champ \u00ab ID externe \u00bb<\/a> des enregistrements NetSuite soit automatiquement renseign\u00e9 en copiant un autre champ, tel que l'UPC, \u00e0 l'aide d'un script d'\u00e9v\u00e9nement utilisateur `beforeSubmit` lors de la cr\u00e9ation ou de la modification d'un enregistrement. Cependant, le champ \u00ab ID externe \u00bb pr\u00e9sente un comportement particulier, et une mise \u00e0 jour directe via `beforeSubmit` n\u2019est pas possible, notamment parce que l\u2019ID d\u2019enregistrement n\u2019est pas encore disponible pour les nouveaux enregistrements.","ga_solution":"La configuration directe du champ `externalid` \u00e0 l'aide de `record.setValue('externalid', UPC)` dans un script d'\u00e9v\u00e9nement utilisateur `beforeSubmit` n'est pas efficace. Cette limitation s'explique par le fait que le champ `externalid` ne peut pas \u00eatre d\u00e9fini directement dans `beforeSubmit`, en particulier lors de l'\u00e9v\u00e9nement de cr\u00e9ation d'un enregistrement, car l'identifiant de l'enregistrement n'est pas encore disponible. La solution recommand\u00e9e et efficace consiste \u00e0 mettre en \u0153uvre un script d\u2019\u00e9v\u00e9nement utilisateur `afterSubmit` pour les \u00e9v\u00e9nements `create` et `edit`. Cela garantit que l\u2019identifiant de l\u2019enregistrement est disponible, ce qui permet d\u2019effectuer la mise \u00e0 jour n\u00e9cessaire.nn\n1. Dans le script d\u2019\u00e9v\u00e9nement utilisateur `afterSubmit`, chargez l\u2019enregistrement actuel.n\n2. D\u00e9finissez le champ `externalid` sur la valeur souhait\u00e9e (par exemple, `UPC`) \u00e0 l\u2019aide de `record.setValue('externalid', UPC)`.n\n3. Enregistrez les modifications en soumettant l\u2019enregistrement \u00e0 l\u2019aide de `record.submitFields`.","ga_source_author":"","ga_source_author_email":"","ga_date_original":"2017-08-21T17:15:57+02:00","ga_date_verified":"2026-07-05","ga_source_subject":"How to set External Id Automatically on Create and Edit of record","ga_ans_id":"ANS-1602","ga_publish_decision":"publish_with_edits","ga_staleness_risk":"high","ga_review_priority":"verify_soon","ga_tier2_verdict":"partially_outdated","ga_tier2_concerns":"The function name 'nlapiSetFieldValue' is from SuiteScript 1.0 and has been superseded by 'record.setValue()' in SuiteScript 2.x, which is the current standard.; While the core logic remains, the specific method of 'loading the record, setting the value and then submitting the record' in afterSubmit might be more efficiently handled by 'record.submitFields' in SuiteScript 2.x for existing records.","ga_final_category":"Custom Fields, Records & Forms","footnotes":""},"ga_category":[97,22,97],"ga_audience":[10],"ga_difficulty":[92],"class_list":["post-3341","qa_entry","type-qa_entry","status-publish","hentry","ga_category-champs-personnalises-enregistrements-et-formulaires","ga_category-custom-fields-records-forms","ga_audience-developer-suitescript","ga_difficulty-niveau-intermediaire"],"taxonomy_info":{"ga_category":[{"value":97,"label":"Champs personnalis\u00e9s, enregistrements et formulaires"},{"value":22,"label":"Custom Fields, Records & Forms"},{"value":97,"label":"Champs personnalis\u00e9s, enregistrements et formulaires"}],"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\/3341","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\/3341\/revisions"}],"predecessor-version":[{"id":5261,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/3341\/revisions\/5261"}],"wp:attachment":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=3341"}],"wp:term":[{"taxonomy":"ga_category","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_category?post=3341"},{"taxonomy":"ga_audience","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_audience?post=3341"},{"taxonomy":"ga_difficulty","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_difficulty?post=3341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}