ANS-1284 · DéVELOPPEMENT SUITESCRIPT

Comment comparer correctement les valeurs des champs de date et d’heure dans NetSuite 2.0

Comprenez la différence entre la manière dont NetSuite 2.0 traite les valeurs des champs de date et d'heure par rapport à NetSuite 1.0 afin de garantir l'exactitude des comparaisons dans les scripts.

Solution courte

Dans NetSuite 2.0, la comparaison directe des valeurs des champs de date-heure à l'aide de `getValue()` renverra toujours « false », car cette fonction récupère un objet. Pour effectuer des comparaisons précises, utilisez plutôt `getText()`. Cette méthode renvoie la représentation sous forme de chaîne de caractères de la valeur du champ de date-heure, ce qui permet d’effectuer des comparaisons correctes basées sur des chaînes de caractères dans vos scripts.

Scénario

Lorsqu’ils tentent de comparer les valeurs des champs de date-heure dans des scripts NetSuite 2.0, les développeurs peuvent être confrontés à des situations où les comparaisons utilisant la méthode `getValue()` renvoient systématiquement la valeur « false ». Cela s'explique par le fait que, contrairement à la méthode GA_KEEP_0002 de NetSuite 1.0, la méthode `getValue()` de NetSuite 2.0 récupère la valeur du champ de date-heure sous forme d'objet plutôt que sous sa représentation sous forme de chaîne de caractères.

Solution

Dans NetSuite 1.0, la récupération de la valeur d’un champ date-heure à l’aide de nlapiGetFieldValue renvoyait sa représentation sous forme de chaîne de caractères. Dans NetSuite 2.0, en revanche, la méthode getValue() renvoie un objet. La comparaison directe de deux objets de ce type à l’aide de != donnera toujours « faux » comme résultat. La solution consiste à utiliser getText(), qui renvoie le texte figurant dans le champ date-heure, ce qui permet d’effectuer des comparaisons de chaînes de caractères correctes.

Support expert NetSuite

Besoin d’aide pour cet enjeu NetSuite ?

Accompagnement-conseil et configuration pour Développement SuiteScript

Parler à un consultant