ANS-0569 · DéVELOPPEMENT SUITESCRIPT

Comment utiliser efficacement la fonction `render.emailMerge` dans les scripts Map/Reduce de NetSuite ?

Découvrez les exigences essentielles relatives au type de paramètre pour que la fonction `render.emailMerge` fonctionne correctement dans les scripts côté serveur de NetSuite, tels que Map/Reduce.

Solution courte

Pour utiliser correctement la fonction render.emailMerge dans les scripts côté serveur de NetSuite, tels que Map/Reduce, veillez à ce que les paramètres templateId et entity.id soient convertis en nombres à l’aide de la fonction parseInt(). Le fait de transmettre ces valeurs sous forme de chaînes de caractères empêchera la fonction de s’exécuter correctement, ce qui entraînera un comportement inattendu.

Scénario

Les développeurs NetSuite qui tentent d’utiliser la fonction `render.emailMerge` dans des scripts côté serveur, tels que Map/Reduce, peuvent rencontrer des échecs inattendus. Contrairement à ce que l’on pourrait croire à première vue, cette fonction est en réalité compatible avec ces types de scripts. La cause première du problème réside souvent dans la manière dont les paramètres sont transmis à la fonction.

Solution

Pour garantir le bon fonctionnement de la fonction render.emailMerge dans les scripts côté serveur de NetSuite, il est essentiel de convertir les paramètres templateId et entity.id en nombres. La fonction n'acceptera pas ces paramètres s'ils sont transmis sous forme de chaînes de caractères. Ceci ne fonctionnera PAS :

var emailMergeResult  render.mergeEmail({templateId: emailTemplateInternalId,entity: {type: 'customer',id: customerInternalId}});

. Ceci fonctionnera :

GA_KEEP_0002.

Support expert NetSuite

Besoin d’aide pour cet enjeu NetSuite ?

Accompagnement-conseil et configuration pour Développement SuiteScript

Parler à un consultant