ANS-0794 · DéVELOPPEMENT SUITESCRIPT
Comment éviter les conflits entre les scripts NetSuite lors des exécutions planifiées
Mettez en place des vérifications du contexte d'exécution dans SuiteScript 2.x afin de vous assurer que les scripts ne s'exécutent que dans des conditions spécifiques, évitant ainsi toute interaction indésirable.
Solution courte
Pour gérer les conflits de scripts, intégrez une vérification conditionnelle à l’aide de `runtime.executionContext` afin de limiter l’exécution du script à des contextes spécifiques, par exemple en l’empêchant de s’exécuter pendant des processus planifiés. Cela garantit que la logique du script ne s’applique que lorsque cela est prévu, ce qui minimise les comportements inattendus et les conflits d’accès aux ressources.
Scénario
Les administrateurs et développeurs NetSuite sont souvent confrontés à des situations où plusieurs scripts interagissent de manière inattendue, ce qui entraîne des conflits ou un traitement inefficace. Un scénario courant consiste en l’exécution involontaire, lors de l’exécution d’un script planifié, d’un script conçu pour une interaction avec l’utilisateur ou pour des événements spécifiques, ce qui provoque des modifications de données non souhaitées ou des problèmes de performances.
Solution
Pour empêcher un script d’exécuter sa logique principale lors d’un processus planifié, mettez en place une vérification conditionnelle au début du script. Cela garantit que la fonctionnalité principale du script ne s’exécute que lorsque le contexte d’exécution n’est pas « planifié ». 1. Ajoutez l’instruction conditionnelle suivante au script :
GA_KEEP_0001.
Par ailleurs, bien que cette méthode soit moins précise et généralement déconseillée en raison des risques potentiels, le déploiement des scripts peut être géré par rôles. Cela implique de désinstaller le script de « tous les rôles », puis de le déployer sur des rôles spécifiques, en excluant l’utilisateur dont les actions ne doivent pas déclencher le script. Toutefois, cette méthode comporte le risque que d’autres processus non souhaités ne parviennent pas à exécuter le script.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Développement SuiteScript
