ANS-0474 · DéVELOPPEMENT SUITESCRIPT
Comment mettre en place un Suitelet contextuel pour interagir avec les enregistrements NetSuite ?
Utilisez SuiteScript pour créer un Suitelet contextuel qui interagit avec les données d'un enregistrement NetSuite parent et les met à jour, améliorant ainsi les flux de travail des utilisateurs.
Solution courte
La solution comprend un script d’événement utilisateur pour ajouter un bouton, un script client pour ouvrir le Suitelet, ainsi qu’un type de script Suitelet qui utilise « window.opener » pour interagir avec l’enregistrement parent et « window.close() » pour se fermer. Cette architecture permet de mettre à jour dynamiquement les enregistrements à partir d’une fenêtre contextuelle.
Scénario
Une exigence courante dans NetSuite consiste à fournir aux utilisateurs une interface personnalisée pour la saisie ou la sélection de données, capable de mettre à jour dynamiquement les champs d’un enregistrement existant sans avoir à quitter celui-ci. Cela implique souvent d’ouvrir une fenêtre secondaire, telle qu’un Suitelet, pour effectuer des actions spécifiques, puis de renvoyer les résultats vers l’enregistrement d’origine.
Solution
Pour permettre une interaction dynamique entre un Suitelet contextuel et un enregistrement parent NetSuite, mettez en œuvre l’architecture de script suivante :
Script d’événement utilisateur
déployez un script d’événement utilisateur afin d’ajouter un bouton personnalisé
au formulaire de l’enregistrement parent (par exemple, une commande client).
Script client (enregistrement parent)
associez un script client à l’enregistrement parent. Ce script gérera l’événement de clic sur le bouton personnalisé. Dans ce script, utilisez « window.open(url) » pour lancer le Suitelet dans une nouvelle fenêtre contextuelle, où « url » correspond à l’URL NetSuite du Suitelet déployé.
Type de script Suitelet
- Créez un type de script Suitelet.
- Concevez le formulaire Suitelet sans inclure le bouton « Soumettre » standard.
- Ajoutez au Suitelet un bouton personnalisé qui appelle une fonction côté client.
- Cette fonction côté client au sein du Suitelet peut interagir avec l’écran d’origine de l’enregistrement parent à l’aide de l’objet « window.opener ». L’objet « window.opener » permet l’exécution d’API côté client afin de mettre à jour l’enregistrement parent ouvert.
- Une fois le traitement terminé et les mises à jour nécessaires effectuées sur l’enregistrement parent, fermez le Suitelet à l’aide de l’extrait de code JavaScript suivant :
javascriptwindow.ischanged = false;window.close();Cette architecture offre une expérience utilisateur fluide, dans laquelle les données peuvent être manipulées dans une fenêtre secondaire et répercutées instantanément sur l’enregistrement principal.À titre de référence, vous trouverez des implémentations similaires dans des scripts tels que ST_CUE_OrderForm.js, ST_SSU_OrderForm.js et ST_SUE_CUE_OrderForm.js.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Développement SuiteScript
