ANS-0913 · DéVELOPPEMENT SUITESCRIPT
Comment trouver l’identifiant interne d’un enregistrement personnalisé en fonction d’une valeur de champ spécifique
Apprenez à récupérer par programmation l'identifiant interne d'un enregistrement personnalisé NetSuite en utilisant la valeur d'un champ comme critère de recherche.
Solution courte
Pour trouver l’identifiant interne d’un enregistrement personnalisé en fonction de la valeur d’un champ spécifique, utilisez le module de recherche SuiteScript 2.x de NetSuite. Créez un filtre de recherche pour le champ personnalisé et la valeur souhaités, puis lancez la recherche. Parcourez les résultats pour extraire l’identifiant interne de l’enregistrement personnalisé correspondant.
Scénario
Un utilisateur doit identifier par programmation l’identifiant interne d’un enregistrement personnalisé NetSuite. Cette identification doit s’appuyer sur la valeur d’un champ personnalisé spécifique au sein de cet enregistrement, tel que le champ « SOId », afin de récupérer l’identifiant unique de l’enregistrement correspondant.
Solution
Pour récupérer l’identifiant interne d’un enregistrement personnalisé en fonction de la valeur d’un champ spécifique, mettez en œuvre une recherche SuiteScript 2.x. Cela implique de créer un filtre de recherche pour le champ personnalisé cible et sa valeur, puis d’exécuter la recherche et d’extraire l’identifiant interne de tout résultat correspondant.L’exemple SuiteScript 2.x suivant illustre la manière d’effectuer cette opération :
javascript/** * @NApiVersion 2.1 * @NModuleScope SameAccount */define(['N/search'], function(search) { function getCustomRecordInternalId(customRecordTypeId, customFieldId, fieldValue) { var internalId = null; var filters = []; filters.push(search.createFilter({ name: customFieldId, operator: search.Operator.IS, values: fieldValue })); var customRecordSearch = search.create({ type: customRecordTypeId, // e.g., 'customrecord_xxx' filters: filters, columns: ['internalid'] }); customRecordSearch.run().each(function(result) { internalId = result.id; // Access the internal ID directly return false; // Stop after the first match }); return internalId; } // Example usage: // var recordId = getCustomRecordInternalId('customrecord_mycustomrecord', 'custrecord_soid', 'XXX'); // log.debug('Found Internal ID', recordId); return { getCustomRecordInternalId: getCustomRecordInternalId };});Dans ce script, customRecordTypeId doit être remplacé par l’identifiant de script de votre enregistrement personnalisé (par exemple, customrecord_xxx), customFieldId par l’identifiant du champ personnalisé concerné (par exemple, custrecord_soid), et fieldValue par les données spécifiques que vous recherchez (par exemple, XXX). La propriété result.id permet d’accéder directement à l’identifiant interne de l’enregistrement personnalisé trouvé dans les résultats de recherche de SuiteScript 2.x.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Développement SuiteScript
