ANS-1076 · DéVELOPPEMENT SUITESCRIPT
Comment trouver les adresses e-mail des contacts dans les transactions NetSuite à l’aide de SuiteScript
Ce guide présente une approche utilisant SuiteScript 2.x permettant d'identifier et d'extraire par programmation les adresses e-mail des contacts associées à des enregistrements de transaction NetSuite spécifiques.
Solution courte
Pour récupérer les adresses e-mail des contacts associées à une transaction NetSuite, effectuez une recherche conjointe sur les fiches de contact. Filtrez cette recherche en fonction de l'identifiant interne de la transaction. Utilisez le module « N/search » de SuiteScript 2.x, et plus précisément les commandes « search.createColumn('email') » et « search.createFilter('internalid', 'transaction', 'is', recordId) » pour définir vos critères de recherche et extraire les adresses e-mail pertinentes.
Scénario
Les utilisateurs de NetSuite ont souvent besoin d’accéder par programmation aux informations de contact, notamment aux adresses e-mail, qui sont directement liées à un enregistrement de transaction. Bien que les contacts soient visibles sous l’onglet « Relations » d’une transaction, il peut s’avérer difficile d’interroger directement ces adresses e-mail associées via les champs de transaction standard. Une exigence courante consiste à récupérer ces adresses e-mail de contact à des fins de reporting personnalisé ou d’intégration.
Solution
Pour récupérer les adresses e-mail des contacts associées à une transaction spécifique, vous pouvez effectuer une recherche conjointe sur les fiches de contact, filtrée par l’identifiant interne de la transaction. Dans SuiteScript 2.x, cela s’effectue à l’aide du module « N/search ». L'extrait de code suivant montre comment définir les colonnes de recherche et les filtres dans un contexte SuiteScript 2.x :
javascript
// This code snippet assumes the 'N/search' module has been loaded,
// for example, via define(['N/search'], function(search) { ... });
var columns = [];
var filters = [];
var result = null;
columns[0] = search.createColumn({ name: 'email' });
filters[0] = search.createFilter({
name: 'internalid',
join: 'transaction',
operator: search.Operator.IS,
values: recordId
});La variable « recordId » du filtre doit être remplacée par l'identifiant interne de la transaction spécifique pour laquelle vous recherchez les adresses e-mail des contacts.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Développement SuiteScript
