ANS-0543 · DéVELOPPEMENT SUITESCRIPT

Comment charger, modifier et enregistrer par programmation une recherche enregistrée dans NetSuite

Découvrez comment modifier de manière dynamique une recherche enregistrée dans NetSuite et en conserver les modifications à l'aide de SuiteScript 2.x.

Solution courte

Pour charger, modifier et enregistrer par programmation une recherche enregistrée NetSuite, utilisez le module N/search dans SuiteScript 2.x. Chargez la recherche à l’aide de search.load(), ajoutez ou modifiez des filtres à l’aide de search.createFilter() et du tableau filters, puis enregistrez les modifications avec search.save(). Cette fonctionnalité est prise en charge aussi bien dans les scripts côté client que côté serveur.

Scénario

Un utilisateur de NetSuite doit mettre à jour de manière dynamique les filtres d’une recherche enregistrée existante et enregistrer ces modifications par programmation. L’objectif est de s’assurer que la recherche enregistrée reflète les nouveaux critères en vue d’une utilisation future ou de la création de rapports.

Solution

Le chargement, la modification et l’enregistrement d’une recherche enregistrée NetSuite par programmation sont possibles à l’aide de SuiteScript 2.x. Contrairement aux versions précédentes, search.Search.save() est pris en charge dans les scripts client, ce qui permet des mises à jour dynamiques des définitions de recherche enregistrées aussi bien du côté client que du côté serveur. Pour mettre cela en œuvre, procédez comme suit :

  1. Chargement de la recherche enregistrée

    utilisez la méthode search.load() du module N/search pour récupérer la recherche enregistrée existante à l’aide de son identifiant.

  2. Modification des filtres

    Ajoutez de nouveaux filtres ou modifiez ceux qui existent déjà en ajoutant des objets search.createFilter() au tableau filters de l’objet de recherche chargé.

  3. Enregistrez les modifications

    appelez la méthode save() sur l’objet de recherche pour enregistrer les modifications apportées à la définition de la recherche enregistrée.Voici un exemple illustrant comment charger une recherche enregistrée, y ajouter un filtre et l’enregistrer à l’aide de SuiteScript 2.x :

javascript
/**
 * Example snippet for a SuiteScript 2.x User Event script's beforeSubmit function.
 * Ensure the N/search module is defined in your script's define statement.
 */
// Assuming 'search' module is loaded, e.g., define(['N/search'], function(search) { ... });
function beforeSubmit_test(scriptContext) {
    var mySearch = search.load({
        id: 'customsearch376'
    });
    mySearch.filters.push(search.createFilter({
        name: 'vendor',
        operator: search.Operator.ANYOF,
        values: [9464]
    }));
    mySearch.save();
}

Lorsque vous utilisez la méthode save(), les deux paramètres sont facultatifs, et les valeurs d’origine de la recherche chargée seront conservées si elles ne sont pas explicitement remplacées.

Support expert NetSuite

Besoin d’aide pour cet enjeu NetSuite ?

Accompagnement-conseil et configuration pour Développement SuiteScript

Parler à un consultant