ANS-1608 · DéVELOPPEMENT SUITESCRIPT
Comment traiter les saisies hebdomadaires de temps avec SuiteScript afterSubmit
Comprenez comment NetSuite convertit les saisies horaires hebdomadaires et utilisez la fonction afterSubmit de SuiteScript pour mettre à jour les enregistrements après leur soumission.
Solution courte
Lorsqu’une saisie horaire hebdomadaire est enregistrée, NetSuite la convertit en saisies quotidiennes individuelles. Pour gérer les valeurs des champs personnalisés ou appliquer une logique supplémentaire, vous pouvez utiliser un script SuiteScript « afterSubmit ». Ce script doit charger explicitement l’enregistrement nouvellement créé afin de pouvoir le modifier et inclure des conditions pour éviter toute exécution redondante.
Scénario
Les organisations qui utilisent la fonctionnalité de suivi hebdomadaire du temps de NetSuite ont souvent besoin d’une logique personnalisée ou de mises à jour des champs après la soumission des saisies de temps. La difficulté réside dans la compréhension de la manière dont NetSuite traite les saisies hebdomadaires pour les convertir en enregistrements quotidiens individuels, ainsi que dans la mise en œuvre efficace de scripts post-soumission pour ces enregistrements convertis.
Solution
Lorsqu’un formulaire de suivi hebdomadaire des heures est enregistré, NetSuite convertit automatiquement les entrées hebdomadaires agrégées en entrées horaires quotidiennes individuelles, en les traitant colonne par colonne et ligne par ligne. Pour les solutions impliquant des champs personnalisés dont les valeurs doivent être gérées ou mises à jour après la soumission, un script d’événement utilisateur « afterSubmit » peut être utilisé. Il est essentiel de noter que, dans le contexte « afterSubmit », l’objet « newRecord » est en lecture seule. Pour effectuer des mises à jour supplémentaires sur l’enregistrement nouvellement créé, le script doit explicitement charger l’enregistrement, appliquer les modifications nécessaires, puis le valider. Afin d’éviter que le script ne s’exécute de manière redondante ou ne provoque des boucles infinies, il convient de mettre en place une condition, souvent basée sur un champ personnalisé. La valeur de ce champ personnalisé variera selon qu’il est défini dans un formulaire de saisie hebdomadaire (au niveau de la colonne) ou dans un formulaire de saisie quotidienne (au niveau de l’en-tête), ce qui permettra au script de distinguer le contexte d’exécution.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Développement SuiteScript
