ANS-1509 · DéVELOPPEMENT SUITESCRIPT
Comment accéder à l’identifiant d’un formulaire personnalisé dans un script « beforeLoad » de NetSuite (SuiteScript 1.0)
Cet article décrit le comportement des fonctions SuiteScript 1.0 permettant de récupérer l’identifiant d’un formulaire personnalisé au sein d’un script d’événement utilisateur « beforeLoad », en soulignant les difficultés d’exécution courantes.
Solution courte
Pour récupérer de manière fiable la valeur du champ « customform » dans un script d’événement utilisateur « beforeLoad » de SuiteScript 1.0, utilisez nlapiGetNewRecord().getFieldValue('customform'). La fonction nlapiGetFieldValue('customform') peut échouer dans certains contextes d’exécution, par exemple lors de l’impression d’enregistrements.
Scénario
Les développeurs travaillant avec les scripts d’événements utilisateur NetSuite SuiteScript 1.0 peuvent rencontrer des difficultés lorsqu’ils tentent de récupérer la valeur d’un champ « customform » dans le cadre d’un événement « beforeLoad ». Les méthodes standard de récupération des champs peuvent présenter des incohérences, ce qui peut entraîner des échecs de script dans certains scénarios d’exécution spécifiques, par exemple lors de la génération de versions imprimables d’enregistrements.
Solution
Lors du développement de scripts d’événements utilisateur SuiteScript 1.0, il est essentiel de sélectionner la fonction appropriée pour accéder au champ « customform » lors de l’événement « beforeLoad ». Bien que SuiteScript 2.x soit la norme actuellement recommandée, pour les implémentations existantes de SuiteScript 1.0, l’approche suivante permet de résoudre les problèmes courants de récupération :
Évitez d’utiliser directement la fonction nlapiGetFieldValue('customform'), car celle-ci peut ne pas renvoyer systématiquement la valeur du champ « customform » dans tous les contextes d’exécution. Par exemple, les tentatives de récupération de cette valeur lors d’opérations d’impression peuvent échouer.
Utilisez plutôt la fonction nlapiGetNewRecord().getFieldValue('customform'). Il a été constaté que cette méthode permettait de récupérer de manière fiable la valeur du champ « customform » dans divers types d’exécution au sein d’un script beforeLoad SuiteScript 1.0.
// Example of unreliable method in SuiteScript 1.0 beforeLoad// var customFormId = nlapiGetFieldValue('customform'); // May fail in some contexts// Example of reliable method in SuiteScript 1.0 beforeLoadvar customFormId = nlapiGetNewRecord().getFieldValue('customform');Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Développement SuiteScript
