ANS-1521 · DéVELOPPEMENT SUITESCRIPT
Quel est l’impact des mises à jour en masse de NetSuite sur l’exécution des scripts d’événements utilisateur ?
Lorsqu'une mise à jour en masse NetSuite est exécutée, les scripts d'événements utilisateur sont déclenchés dans le contexte « xedit », ce qui a une incidence sur la manière dont les valeurs des champs sont consultées.
Solution courte
Les mises à jour en masse NetSuite déclenchent les scripts d’événements utilisateur dans le contexte « xedit », et non « edit ». Cela signifie que, dans le script, la fonction « nlapiGetFieldValue » renverra la valeur « null » pour tous les champs qui n’ont pas été explicitement modifiés par l’opération de mise à jour en masse. Les scripts doivent tenir compte de ce comportement lorsqu’ils tentent de récupérer des valeurs de champ lors d’une mise à jour en masse.
Scénario
Les utilisateurs de NetSuite peuvent constater un comportement inattendu dans leurs scripts d’événements utilisateur lorsque ces scripts sont déclenchés par une opération de mise à jour en masse. Plus précisément, les tentatives de récupération de valeurs de champ à l’aide de la fonction « nlapiGetFieldValue » au sein du script peuvent aboutir à des valeurs « null », même pour les champs qui sont renseignés dans l’enregistrement. Ce phénomène s’explique par le fait que le contexte du script diffère de celui d’une modification d’enregistrement standard.
Solution
Lorsqu’une mise à jour en masse NetSuite est exécutée, elle déclenche des scripts d’événement utilisateur dans le contexte xedit, et non dans le contexte edit. Cette distinction est essentielle pour le comportement des scripts. Par conséquent, dans un script d’événement utilisateur s’exécutant pendant une mise à jour en masse, la fonction nlapiGetFieldValue renverra null pour tous les champs, sauf s’ils ont été explicitement modifiés par l’opération de mise à jour en masse.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Développement SuiteScript
