ANS-0702 · IMPRESSION, PDF ET MODèLES D’E-MAILS
Comment afficher l’adresse de livraison d’une commande client NetSuite avec des sauts de ligne dans les modèles PDF/HTML avancés ?
Apprenez à extraire et à afficher correctement les adresses de livraison sur plusieurs lignes à partir des commandes client NetSuite, en veillant à respecter la mise en forme appropriée dans les documents PDF personnalisés.
Solution courte
Pour afficher l'adresse de livraison d'une commande client NetSuite avec des sauts de ligne dans un modèle PDF/HTML avancé, récupérez la valeur du champ `shipaddress`. Remplacez ensuite les caractères de nouvelle ligne (`n`) par des balises de saut de ligne HTML (`<br/>`) à l’aide de JavaScript. Enfin, assurez-vous que la sortie n’est pas échappée dans votre modèle FreeMarker en utilisant `?no_esc` afin d’afficher correctement les balises HTML.
Scénario
Les utilisateurs qui créent des modèles PDF/HTML avancés personnalisés pour les commandes client NetSuite rencontrent souvent des problèmes lorsque l’adresse de livraison, qui comporte plusieurs lignes, ne s’affiche pas avec les sauts de ligne appropriés. L’affichage par défaut peut regrouper l’adresse sur une seule ligne, ce qui la rend difficile à lire et donne une impression peu professionnelle.
Solution
Pour afficher correctement l’adresse de livraison avec des sauts de ligne dans un modèle PDF/HTML avancé de NetSuite, procédez comme suit :
Récupération de l’adresse de livraison :
lorsque vous travaillez avec un enregistrement de commande client chargé (par exemple, dans un contexte SuiteScript), récupérez la valeur du champ
shipaddress. Ce champ contient intrinsèquement l’adresse formatée avec des sauts de ligne.
javascriptvar address = record.getValue({ fieldId: 'shipaddress' });*Remarque : record fait référence à l’objet « enregistrement de commande client » chargé dans SuiteScript 2.x et versions ultérieures.*
Convertir les caractères de nouvelle ligne en balises de saut de ligne HTML :
Pour vous assurer que les sauts de ligne s’affichent correctement au format HTML dans votre PDF, remplacez les caractères de nouvelle ligne (
n) par des balises HTML.
javascriptaddress = address.replace(/n/g, '<br/>');Affichage dans un modèle PDF/HTML avancé :
Lorsque vous intégrez la variable
addressdans votre modèle PDF/HTML avancé (qui utilise FreeMarker), il est essentiel d’empêcher l’échappement automatique des balises HTML. Utilisez la fonction intégrée?no_escpour garantir une interprétation correcte du code HTML.
html${address?no_esc}Cela garantira que les balises seront rendues sous forme de sauts de ligne réels dans le PDF généré.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Impression, PDF et modèles d’e-mails
