ANS-1833 · DéVELOPPEMENT SUITESCRIPT

Comment afficher du contenu HTML ou des liens dans les sous-listes NetSuite ?

Utilisez le type de champ « texte » dans SuiteScript pour intégrer du contenu HTML interactif et des liens directement dans les lignes des sous-listes NetSuite.

Solution courte

Le type de champ « inlinehtml » n'est pas pris en charge dans les sous-listes NetSuite. Pour contourner ce problème, utilisez le type de champ « text » et remplissez-le avec du contenu HTML, tel que les balises `<a>` pour les liens ou les boutons. Cela permet d'intégrer des éléments dynamiques et interactifs directement dans les lignes des sous-listes des Suitelets.

Scénario

Les développeurs se heurtent souvent à des limitations lorsqu’ils tentent d’afficher du contenu HTML enrichi ou des éléments interactifs, tels que des boutons d’affichage ou de modification, directement dans les lignes des sous-listes des Suitelets NetSuite. Le type de champ « inlinehtml », bien que disponible dans d’autres contextes, n’est pas pris en charge pour les sous-listes, ce qui nécessite de recourir à une autre méthode pour obtenir la fonctionnalité d’interface utilisateur souhaitée.

Solution

Le type de champ « inlinehtml » n’est pas pris en charge dans les sous-listes NetSuite. Une solution courante consiste à utiliser le type de champ « texte » pour afficher du contenu HTML, tel que des liens ou des boutons cliquables. Cette approche est particulièrement utile dans les Suitelets où une sous-liste affiche des éléments et où chaque ligne nécessite des éléments interactifs pour la consultation ou la modification.

Pour mettre en œuvre cette solution de contournement :n

  1. Créez votre sous-liste (par exemple, subListOrders).n

  2. Ajoutez les colonnes souhaitées à la sous-liste en utilisant le type de champ « text ». Par exemple, pour ajouter les colonnes « Afficher » et « Modifier » :n

nvar columnView = subListOrders.addField({n    id: 'custpage_sublist_so_view',n    type: serverWidget.FieldType.TEXT,n    label: 'View'n});nvar columnEdit = subListOrders.addField({n    id: 'custpage_sublist_so_edit',n    type: serverWidget.FieldType.TEXT,n    label: 'Edit'n});n

n

  1. Lors du remplissage de la sous-liste, définissez la valeur de ces champs « texte » avec le code HTML souhaité, tel qu’une balise pour un bouton ou un lien. Les variables VIEW_LINK et EDIT_LINK peuvent être définies de manière dynamique pour rediriger les utilisateurs vers la page NetSuite appropriée, un autre Suitelet ou une URL externe.n

nsubListOrders.setSublistValue({n    id: 'custpage_sublist_so_view',n    line: i,n    value: '<a href="VIEW_LINK">View</a>'n});nsubListOrders.setSublistValue({n    id: 'custpage_sublist_so_edit',n    line: i,n    value: '<a href="EDIT_LINK">Edit</a>'n});n