ANS-0780 · DéVELOPPEMENT SUITESCRIPT

Comment utiliser l’identifiant interne pour les filtres mathématiques et les colonnes dans les recherches enregistrées de NetSuite

Comprenez la différence entre les noms de champs requis pour appliquer des filtres mathématiques et ceux nécessaires pour spécifier des colonnes correspondant aux identifiants internes des enregistrements NetSuite dans les scripts.

Solution courte

Lorsque vous créez des scripts pour les recherches enregistrées de NetSuite, utilisez « internalidnumber » pour appliquer des filtres mathématiques tels que « lessthan » ou « greaterthan » à un identifiant interne. Toutefois, lorsque vous définissez une colonne pour afficher ou agréger l’identifiant interne, le nom de champ correct à utiliser est « internalid ». Cette distinction garantit le bon fonctionnement de la recherche et la récupération correcte des données.

Scénario

Les utilisateurs qui développent des scripts NetSuite ont souvent besoin de filtrer des recherches enregistrées en fonction de l’identifiant interne des enregistrements à l’aide d’opérateurs mathématiques (par exemple, inférieur à, supérieur à). Un problème courant survient lorsqu’on tente d’utiliser le même nom de champ à la fois pour le filtrage et la spécification des colonnes, ce qui entraîne des résultats inattendus ou des erreurs.

Solution

Pour appliquer correctement des filtres mathématiques à un identifiant interne dans un script de recherche enregistrée NetSuite, utilisez le nom de champ « internalidnumber ». À l’inverse, lorsque vous spécifiez l’identifiant interne en tant que colonne dans les résultats de recherche, vous devez utiliser le nom de champ « internalid ». Cela garantit que les filtres sont appliqués numériquement et que les colonnes sont correctement récupérées. Exemple d’utilisation de « internalidnumber » pour les filtres et de « internalid » pour les colonnes :

searchFiltersPreviousCase[0] new nlobjSearchFilter('internalidnumber', null, 'lessthan', caseIdRejected);searchFiltersPreviousCase[1] new nlobjSearchFilter('status', null, 'is', CASE_STATUS_CLOSED, null);searchFiltersPreviousCase[2] new nlobjSearchFilter('email', null, 'isnotempty', null);searchFiltersPreviousCase[3] new nlobjSearchFilter('closeddate', null, 'onorafter', START_COUNTER_ON_DATE);searchColumnsPreviousCase[0] new nlobjSearchColumn('internalid', null, 'max');

Support expert NetSuite

Besoin d’aide pour cet enjeu NetSuite ?

Accompagnement-conseil et configuration pour Développement SuiteScript

Parler à un consultant