{"id":3008,"date":"2018-03-16T17:13:51","date_gmt":"2018-03-16T17:13:51","guid":{"rendered":"https:\/\/answers.gurussolutions.com\/answers\/how-to-apply-user-event-scripts-to-netsuite-weekly-time-entries-2\/"},"modified":"2026-07-28T18:25:23","modified_gmt":"2026-07-28T18:25:23","slug":"comment-appliquer-des-scripts-devenements-utilisateur-aux-saisies-hebdomadaires-de-temps-dans-netsuite","status":"publish","type":"qa_entry","link":"https:\/\/answers.gurussolutions.com\/fr\/answers\/comment-appliquer-des-scripts-devenements-utilisateur-aux-saisies-hebdomadaires-de-temps-dans-netsuite\/","title":{"rendered":"Comment appliquer des scripts d&rsquo;\u00e9v\u00e9nements utilisateur aux saisies hebdomadaires de temps dans 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":"Les scripts d'\u00e9v\u00e9nements utilisateur sur l'enregistrement de temps NetSuite s'appliquent aussi bien aux saisies hebdomadaires qu'aux saisies ponctuelles, ce qui n\u00e9cessite une logique conditionnelle.","ga_short_answer":"Les scripts d\u2019\u00e9v\u00e9nements utilisateur associ\u00e9s \u00e0 l\u2019enregistrement \u00ab Temps \u00bb de NetSuite s\u2019ex\u00e9cutent aussi bien pour les pages de saisie hebdomadaire des heures que pour les enregistrements de temps individuels. Les scripts doivent int\u00e9grer une logique permettant de d\u00e9tecter la sous-liste \u00ab timeitem \u00bb afin de distinguer ces deux contextes, garantissant ainsi un traitement appropri\u00e9 de chaque sc\u00e9nario. La s\u00e9quence d\u2019ex\u00e9cution implique g\u00e9n\u00e9ralement que les d\u00e9clencheurs des pages hebdomadaires s\u2019ex\u00e9cutent en premier, suivis des d\u00e9clencheurs des saisies de temps individuelles.","ga_scenario":"Les organisations utilisant la fonctionnalit\u00e9 d\u2019enregistrement des heures de NetSuite doivent souvent appliquer une logique personnalis\u00e9e via des scripts d\u2019\u00e9v\u00e9nements utilisateur. Un probl\u00e8me courant se pose lorsque ces scripts doivent se comporter diff\u00e9remment selon que l\u2019utilisateur interagit avec la page \u00ab Saisie hebdomadaire des heures \u00bb ou avec un enregistrement d\u2019heures individuel, ce qui n\u00e9cessite une m\u00e9thode permettant de distinguer ces deux contextes.","ga_solution":"Les scripts d\u2019\u00e9v\u00e9nement utilisateur appliqu\u00e9s \u00e0 l\u2019enregistrement \u00ab Temps \u00bb de NetSuite s\u2019ex\u00e9cuteront aussi bien pour la page \u00ab Saisie hebdomadaire des temps \u00bb que pour les enregistrements de temps individuels. Afin de garantir que les scripts g\u00e8rent correctement ces deux cas de figure, une logique conditionnelle doit \u00eatre mise en place. Le script doit \u00eatre con\u00e7u pour g\u00e9rer ces deux cas de figure distincts : 1.  **Cas de figure \u00ab Saisie hebdomadaire des temps \u00bb** : Ce contexte s\u2019applique lorsque l\u2019utilisateur interagit avec la page \u00ab Saisie hebdomadaire des heures \u00bb. L\u2019\u00e9cran contient une sous-liste identifi\u00e9e par le nom \u00ab timeitem \u00bb. Cette sous-liste peut \u00eatre utilis\u00e9e pour d\u00e9terminer si l\u2019ex\u00e9cution concerne la page de saisie hebdomadaire des heures. 2.  **Sc\u00e9nario d\u2019enregistrement de temps unique** : Ce contexte s\u2019applique lorsque le script s\u2019ex\u00e9cute pour un enregistrement de temps unique. Dans ce sc\u00e9nario, toute tentative de r\u00e9cup\u00e9ration du nombre de lignes de la sous-liste \u00ab timeitem \u00bb renverra g\u00e9n\u00e9ralement la valeur -1, indiquant son absence. Lorsqu\u2019un utilisateur enregistre sur la page \u00ab Saisie hebdomadaire des temps \u00bb, la s\u00e9quence de d\u00e9clencheurs d\u2019\u00e9v\u00e9nements utilisateur implique g\u00e9n\u00e9ralement :\n1.  Des d\u00e9clencheurs d\u2019\u00e9v\u00e9nements utilisateur pour la page \u00ab Saisie hebdomadaire des temps \u00bb.\n2.  Par la suite, des d\u00e9clencheurs d\u2019\u00e9v\u00e9nements utilisateur pour chaque enregistrement de saisie de temps individuel qui a \u00e9t\u00e9 modifi\u00e9 ou cr\u00e9\u00e9.","ga_source_author":"Michael Turcotte","ga_source_author_email":"","ga_date_original":"2018-03-16T10:13:51-07:00","ga_date_verified":"2026-07-05","ga_source_subject":"User event scripts on the Weekly Time Entry page","ga_ans_id":"ANS-1269","ga_publish_decision":"publish_with_edits","ga_staleness_risk":"high","ga_review_priority":"spot_check","ga_tier2_verdict":"partially_outdated","ga_tier2_concerns":"The underlying subrecord for lines on the Weekly Timesheet has changed from 'timeentry' to 'timebill' (Time record) in the newest UI, although 'timeitem' as a sublist ID for scripting is still referenced in current documentation.; The handling of user event context types for timesheet actions (approving, rejecting, submitting) has changed with the 'New Weekly Timesheets Interface', consolidating these actions under the 'EDIT' user event type, which may affect the precise trigger order described in the original answer.","ga_final_category":"SuiteScript Development","footnotes":""},"ga_category":[108,23,108],"ga_audience":[10],"ga_difficulty":[92],"class_list":["post-3008","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\/3008","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\/3008\/revisions"}],"predecessor-version":[{"id":4928,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/3008\/revisions\/4928"}],"wp:attachment":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=3008"}],"wp:term":[{"taxonomy":"ga_category","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_category?post=3008"},{"taxonomy":"ga_audience","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_audience?post=3008"},{"taxonomy":"ga_difficulty","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_difficulty?post=3008"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}