ANS-0309 · DéVELOPPEMENT SUITESCRIPT

Comment déclencher un bouton d’enregistrement natif à l’aide d’un script personnalisé côté client dans NetSuite

Ce guide présente une solution de contournement par script côté client permettant d'activer par programmation la fonctionnalité native d'enregistrement de NetSuite à partir d'un bouton personnalisé.

Solution courte

Pour déclencher par programmation le bouton d’enregistrement natif de NetSuite à partir d’un script client personnalisé, une solution de contournement non officielle consiste à utiliser la fonction « getNLMultiButtonByName » avec l’identifiant « multibutton_submitter ». Cette méthode simule un clic sur le bouton d’enregistrement standard, ce qui permet d’appliquer une logique personnalisée avant le processus de soumission de l’enregistrement ; elle repose toutefois sur des fonctions internes de NetSuite non documentées.

Scénario

Les utilisateurs de NetSuite ont souvent besoin de boutons personnalisés sur les formulaires d’enregistrement pour déclencher des actions spécifiques. Lorsque ces actions personnalisées doivent aboutir au processus standard d’enregistrement, il devient nécessaire de déclencher directement le bouton « Enregistrer » natif. Ce scénario se présente généralement lorsque des validations personnalisées ou des étapes de prétraitement doivent être effectuées avant que l’enregistrement ne soit officiellement validé.

Solution

Bien que la méthode officiellement prise en charge pour la création de boutons personnalisés et la gestion des actions dans NetSuite SuiteScript 2.x implique l’utilisation du module « N/ui/serverWidget » et la définition de fonctions au sein de scripts client, il existe une solution de contournement connue permettant de déclencher directement le bouton d’enregistrement natif à partir du code côté client. Cette approche utilise une fonction interne non documentée pour simuler un clic sur le bouton « Enregistrer » standard. Pour mettre en œuvre cette solution de contournement, incluez l’extrait de code JavaScript côté client suivant dans votre script :

javascriptgetNLMultiButtonByName('multibutton_submitter').onMainButtonClick(this);

Cet extrait de code cible le bouton d’enregistrement natif, identifié par « multibutton_submitter », et déclenche son événement de clic principal. Il est important de noter que cette méthode repose sur des fonctions internes non documentées de NetSuite et qu’elle pourrait ne plus être prise en charge dans les futures versions de NetSuite. Pour bénéficier d’une fonctionnalité de bouton personnalisé officiellement prise en charge, veuillez vous reporter à la documentation SuiteScript 2.x de NetSuite concernant « N/ui/serverWidget ».

Support expert NetSuite

Besoin d’aide pour cet enjeu NetSuite ?

Accompagnement-conseil et configuration pour Développement SuiteScript

Parler à un consultant