ANS-0323 · CHAMPS PERSONNALISéS, ENREGISTREMENTS ET FORMULAIRES

Comment empêcher le calcul des sous-totaux sur les lignes de commande supprimées dans NetSuite ?

Mettez en place un script client et un champ personnalisé masqué pour contrôler les calculs de sous-totaux, en veillant à ce qu’ils ne s’appliquent pas lorsque des lignes sont supprimées d’une sous-liste.

Solution courte

Pour éviter que les calculs de sous-totaux ne s’appliquent après la suppression d’une ligne de commande, créez un champ de corps personnalisé masqué afin d’y stocker le nombre de lignes de commande. Utilisez le point d’entrée validateDelete d’un script client pour récupérer ce nombre avant la suppression, puis le point d’entrée sublistChanged pour comparer les nombres, en ignorant de manière conditionnelle la logique de sous-total si une ligne de commande a été supprimée.

Scénario

Les utilisateurs peuvent être confrontés à des situations où les calculs de sous-total sur un enregistrement NetSuite ne doivent pas s’appliquer si un poste a été supprimé d’une sous-liste. Cela se produit souvent lorsque des calculs personnalisés sont liés au nombre de postes, et la simple suppression d’un poste ne doit pas déclencher un nouveau calcul du sous-total basé sur le nombre précédent.

Solution

Pour gérer les calculs de sous-totaux lorsque des lignes de commande sont supprimées, procédez comme suit :

  1. Créez un champ de corps personnalisé de type entier et assurez-vous qu’il soit masqué. Ce champ stockera temporairement le nombre de lignes de commande.

  2. Implémentez un script client et, au sein de son point d’entrée validateDelete, attribuez au champ de corps personnalisé masqué la valeur correspondant au nombre actuel de lignes de commande figurant dans la sous-liste.

  3. Au début du point d’entrée sublistChanged du script client, récupérez la valeur du champ de corps personnalisé masqué ainsi que le nombre actuel de lignes de la sous-liste.

  4. Comparez ces deux valeurs. Si le nombre actuel de lignes est inférieur à la valeur stockée dans le champ personnalisé, cela indique qu’une ligne a été supprimée. Dans ce cas précis, n’appliquez pas les calculs de sous-totaux.

  5. À la fin de la logique du point d’entrée sublistChanged, mettez à jour le champ masqué personnalisé du corps avec le nombre actuel de lignes. Cela garantit que le champ est correctement réinitialisé pour les modifications ultérieures et évite tout comportement indésirable dans d’autres scénarios de calcul.

Support expert NetSuite

Besoin d’aide pour cet enjeu NetSuite ?

Accompagnement-conseil et configuration pour Champs personnalisés, enregistrements et formulaires

Parler à un consultant