{"id":3438,"date":"2017-08-21T15:09:58","date_gmt":"2017-08-21T15:09:58","guid":{"rendered":"https:\/\/answers.gurussolutions.com\/answers\/how-to-add-expense-lines-reliably-in-netsuite-client-side-scripts-2\/"},"modified":"2026-07-28T18:25:46","modified_gmt":"2026-07-28T18:25:46","slug":"comment-ajouter-des-lignes-de-depenses-de-maniere-fiable-dans-les-scripts-cote-client-de-netsuite","status":"publish","type":"qa_entry","link":"https:\/\/answers.gurussolutions.com\/fr\/answers\/comment-ajouter-des-lignes-de-depenses-de-maniere-fiable-dans-les-scripts-cote-client-de-netsuite\/","title":{"rendered":"Comment ajouter des lignes de d\u00e9penses de mani\u00e8re fiable dans les scripts c\u00f4t\u00e9 client de 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":"\u00c9vitez les probl\u00e8mes li\u00e9s \u00e0 l'extraction des donn\u00e9es et au calcul des taxes lors de l'ajout de lignes de d\u00e9penses via des scripts c\u00f4t\u00e9 client en garantissant une ex\u00e9cution synchrone des mises \u00e0 jour des valeurs de champ.","ga_short_answer":"Pour ajouter de mani\u00e8re fiable des lignes de d\u00e9penses dans les scripts client NetSuite, utilisez la fonction `currentRecord.setCurrentSublistValue` avec l\u2019option `fireSlavingSync` d\u00e9finie sur `true`. Cela garantit que le script attend que toutes les op\u00e9rations de r\u00e9cup\u00e9ration des donn\u00e9es de champ et tous les calculs, tels que ceux li\u00e9s \u00e0 Tax Nexus, soient termin\u00e9s avant de poursuivre, ce qui \u00e9vite les incoh\u00e9rences de donn\u00e9es et les \u00e9checs d'enregistrement.","ga_scenario":"Lors de <a class=\"ga-interlink\" href=\"https:\/\/answers.gurussolutions.com\/fr\/answers\/can-netsuite-subrecords-be-edited-in-client-side-or-before-load-user-event-scripts\/\">l\u2019ajout programmatique de lignes de d\u00e9penses<\/a> dans les scripts c\u00f4t\u00e9 client de NetSuite, les utilisateurs peuvent rencontrer des probl\u00e8mes tels que l\u2019\u00e9chec de l\u2019enregistrement des lignes ou des donn\u00e9es incoh\u00e9rentes. Cela provient souvent du fait que le script n\u2019attend pas correctement que toutes les op\u00e9rations de r\u00e9cup\u00e9ration des donn\u00e9es et tous les calculs des champs d\u00e9pendants, en particulier ceux li\u00e9s aux configurations de \u00ab Tax Nexus \u00bb, soient termin\u00e9s avant de poursuivre.","ga_solution":"En cas de probl\u00e8mes li\u00e9s \u00e0 la manipulation des lignes de commande dans les SuiteScripts c\u00f4t\u00e9 client, il est recommand\u00e9 d\u2019utiliser le mode synchrone lors de la d\u00e9finition des champs de ligne. Cela garantit une ex\u00e9cution pr\u00e9visible du script en le for\u00e7ant \u00e0 attendre la fin de toute r\u00e9cup\u00e9ration de donn\u00e9es sp\u00e9cifi\u00e9e avant de poursuivre. La fonction `currentRecord.setCurrentSublistValue` de SuiteScript 2.x inclut une option d\u2019ex\u00e9cution synchrone :\n\n```\ncurrentRecord.setCurrentSublistValue(options)\n```\n\nL\u2019option `fireSlavingSync` de cette fonction s\u2019applique aux SuiteScripts c\u00f4t\u00e9 client. Dans les scripts c\u00f4t\u00e9 serveur (tels que les scripts d\u2019\u00e9v\u00e9nements utilisateur), cette option s\u2019ex\u00e9cute toujours avec la valeur \u00ab true \u00bb. Dans les scripts client, si l\u2019option `fireSlavingSync` n\u2019est pas explicitement d\u00e9finie, sa valeur par d\u00e9faut est `false` et l\u2019API s\u2019ex\u00e9cute de mani\u00e8re asynchrone. Si elle est d\u00e9finie sur `true`, cette API s\u2019ex\u00e9cute de mani\u00e8re synchrone, ce qui garantit une ex\u00e9cution pr\u00e9visible du script. D\u00e9finir `fireSlavingSync` sur `true` force le script client \u00e0 attendre toute source sp\u00e9cifi\u00e9e avant de poursuivre l\u2019ex\u00e9cution du reste du script. Une cause fr\u00e9quente de probl\u00e8mes avec les lignes de d\u00e9penses est l\u2019interf\u00e9rence de Tax Nexus. Si le mode synchrone (c\u2019est-\u00e0-dire `fireSlavingSync: true`) n\u2019est pas utilis\u00e9, la d\u00e9finition de la valeur du code fiscal peut emp\u00eacher le Tax Nexus de r\u00e9cup\u00e9rer les informations n\u00e9cessaires relatives au code fiscal. Cela peut emp\u00eacher l\u2019enregistrement de la ligne.","ga_source_author":"","ga_source_author_email":"","ga_date_original":"2017-08-21T11:09:58-04:00","ga_date_verified":"2026-07-05","ga_source_subject":"How do I add expense lines in client side script","ga_ans_id":"ANS-1699","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 `nlapiSetCurrentLineItemValue` is a SuiteScript 1.0 API and has been superseded by `currentRecord.setCurrentSublistValue` in SuiteScript 2.x.; The `synchronous` parameter in SuiteScript 1.0's `nlapiSetCurrentLineItemValue` is equivalent to the `fireSlavingSync` option in SuiteScript 2.x's `setCurrentSublistValue`.","ga_final_category":"SuiteScript Development","footnotes":""},"ga_category":[108,23,108],"ga_audience":[10],"ga_difficulty":[92],"class_list":["post-3438","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\/3438","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\/3438\/revisions"}],"predecessor-version":[{"id":5358,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/3438\/revisions\/5358"}],"wp:attachment":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=3438"}],"wp:term":[{"taxonomy":"ga_category","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_category?post=3438"},{"taxonomy":"ga_audience","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_audience?post=3438"},{"taxonomy":"ga_difficulty","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_difficulty?post=3438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}