2017-07-21 4 views
1

J'essaie d'obtenir une valeur de colonne pour la table de jointure via SuiteScript. Il ne lance pas d'erreur mais il ne montre pas non plus le résultat. Tout tweak ou conseils pour obtenir la valeur.NetSuite GetValue ne fonctionne pas pour la colonne de jointure

var vendorSearchObj = search.create({ 
    type: "vendor", 
    filters: [ 
     [["entityid" , "is" , "KMSS"]] 
    ], 
    columns: [ 
     search.createColumn({ 
      name: "entityid", 
      sort: search.Sort.ASC 
     }), 
     "altemail", 
     search.createColumn({ 
      name: "salutation", 
      join: "contact" 
     }) 
    ] 
}); 
var searchResultCount = vendorSearchObj.runPaged().count; 
vendorSearchObj.run().each(function(result){ 
    // .run().each has a limit of 4,000 results 
    log.debug("result", result); 
    for (i = 0; i < 3 ; i++) { 
     log.debug(result.columns[i].name,result.getValue({name : result.columns[i].name})); 
    } 
    return true; 
}); 

Toute la valeur est à venir à l'exception de la colonne de salutation. Mais dans le jeu de résultats, la valeur est disponible. Voici la valeur du résultat.

{ 
    recordType: "vendor", 
    id: "375", 
    values: { 
     entityid: "KMBS", 
     altemail: "", 
     "contact.salutation": "Konica Jag" 
    } 
} 

TIA ...

Répondre

3

Lorsque vous voulez que la valeur d'une colonne join, vous devez spécifier ainsi la propriété de joingetValue.

result.getValue({ 
    name: "salutation", 
    join: "contact" 
}); 
+0

Merci ... Un peu regardé ... Ma mauvaise. Cela signifie donc que nous ne pouvons pas utiliser array of column pour récupérer la valeur? C'est un moyen difficile de le faire car j'ai besoin de coder en dur la valeur de ce champ. Ou proposez-vous une alternative .. – Arindam

+0

Vous pouvez également passer un objet 'search.Column' à' getValue'. Je n'ai pas vu le besoin de généraliser la lecture des résultats de recherche. J'isole généralement ma logique métier pour qu'il y ait une fonction permettant de récupérer les résultats, une fonction pour mapper les objets 'Result' aux objets JS natifs, puis un module séparé pour que la logique métier traite les données. – erictgrubaugh

+0

Que voulez-vous dire par 'search.Coulumn' dans getValue? Est-ce 'getValue {name:" contact.salutation "}'? Si c'est le cas, cela ne donne aucun résultat, même si cela n'est pas dû à une erreur.
Vous pouvez également expliquer ce que vous entendez par Object to Native JS Obj? – Arindam