ANS-1630 · DéVELOPPEMENT SUITESCRIPT

Comment la fonction « Exécuter en tant que rôle » affecte-t-elle le contexte utilisateur dans NetSuite SuiteScript ?

Le paramètre « Exécuter en tant que rôle » dans les déploiements SuiteScript de NetSuite régit les autorisations des scripts, et non le rôle de l'utilisateur actuel.

Solution courte

Le champ « Exécuter en tant que rôle » d’un déploiement de script NetSuite définit les autorisations sous lesquelles le script s’exécute, mais il ne modifie pas le rôle de l’utilisateur actuel tel qu’il est renvoyé par le module N/runtime. L’objet de contexte reflète systématiquement l’utilisateur réel qui lance le script, quel que soit le rôle d’exécution du déploiement.

Scénario

Les développeurs NetSuite configurent souvent les déploiements de scripts avec l’option « Exécuter en tant que rôle » afin de gérer les autorisations. Une question revient fréquemment : ce paramètre influence-t-il les informations relatives au rôle récupérées à partir du contexte d’exécution du script, ce qui peut entraîner une confusion potentielle entre l’identité de l’utilisateur et les privilèges du script ?

Solution

Quel que soit le rôle spécifié dans le champ « Exécuter en tant que rôle » lors du déploiement d’un script, la propriété « rôle » au sein du contexte d’exécution du script n’est pas affectée. Lors de la récupération des informations relatives au rôle de l’utilisateur à l’aide du module SuiteScript 2.x N/runtime, le système renvoie systématiquement le rôle de l’utilisateur actuel qui a lancé le script, et non le rôle configuré dans le paramètre « Exécuter en tant que rôle » du déploiement. Par exemple, pour obtenir le rôle de l’utilisateur actuel :

var currentUser = runtime.getCurrentUser();
var userRole = currentUser.role;

Le champ « Exécuter en tant que rôle » sert principalement à définir les autorisations sous lesquelles le script lui-même fonctionne. Cela garantit que le script dispose des droits d’accès nécessaires aux enregistrements et aux opérations, indépendamment du rôle spécifique de l’utilisateur à l’origine du script, sans modifier l’identité de l’utilisateur qui exécute le script.

Support expert NetSuite

Besoin d’aide pour cet enjeu NetSuite ?

Accompagnement-conseil et configuration pour Développement SuiteScript

Parler à un consultant