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 :
Chargement de la recherche enregistrée
utilisez la méthode
search.load()du moduleN/searchpour récupérer la recherche enregistrée existante à l’aide de son identifiant.Modification des filtres
Ajoutez de nouveaux filtres ou modifiez ceux qui existent déjà en ajoutant des objets
search.createFilter()au tableaufiltersde l’objet de recherche chargé.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
