I am very new to Netsuite. I have the task of extracting the the Vendor in csv format to file cabinet. After searching on the internet I found a sample and tweaked it to what I want. However, after the export some fields like subsidiary is exporting with Internalid. I am not sure why. Please help me out with this.
function createFile(){
try{
var searchResults = nlapiSearchRecord('vendor', 'customsearch_davoil_apx_vendor');
var csvBody = '';
if (searchResults == null || searchResults.length < 1) return;
for (var i=0; i<searchResults.length; i++){
csvBody += searchResults[i].getValue('subsidiary') + ',';
csvBody += searchResults[i].getValue('entityid') + ',';
csvBody += searchResults[i].getValue('subsidiary') + ',';
csvBody += searchResults[i].getValue('companyname') + ',';
csvBody += searchResults[i].getValue('address1') + ',';
csvBody += searchResults[i].getValue('address2') + ',' ;
csvBody += searchResults[i].getValue('city') + ',';
csvBody += searchResults[i].getValue('state') + ',';
csvBody += searchResults[i].getValue('zipcode') + ',';
csvBody += searchResults[i].getValue('country') + ',';
csvBody += searchResults[i].getValue('terms') + ',';
" " + ',';
" " + ',';
csvBody += searchResults[i].getValue('phone') + ',';
" " + ',';
csvBody += searchResults[i].getValue({name:'contact', join:'contactprimary'}) + ',';
csvBody += searchResults[i].getValue('currency') + ',';
csvBody += searchResults[i].getValue('category') + ',';
csvBody += searchResults[i].getValue({name:'payablesaccount', join:'account'}) + ',';
csvBody += searchResults[i].getValue({name:'expenseaccount', join:'expaccount'}) + ',';
csvBody += searchResults[i].getValue('isinactive') + '\n';
if( searchResults[i] == searchResults.length){
csvBody += EOD|vd_mstr|Rowcount|searchResults.length;
EOF
}
}
var file = nlapiCreateFile('APXPress_Vendor_${filename}_051820_081300.csv', 'CSV', csvBody);
file.setFolder('766');
nlapiSubmitFile(file);
}catch(e){
nlapiLogExecution('Error', 'createFile', 'Error while creating file - ' + e.message);
}
}
All of the fields you mentioned are
Selectfields (i.e. dropdown or list fields in the UI). In general these types of fields link from one record to another.Selectfields have two components: avalueand atext. Thevalueof aSelectfield is always theinternalidof the selected record. Thetextis always thenameof the selected record.In a Search
Resultinstance (i.e. yoursearchResults[i]), callinggetValue()will return theinternalidwhile callinggetText()will return thename.Wherever you want the display text from a List field, use
getText()instead ofgetValue().