由于某种原因,子公司、实体、应付账款账户、外部账户正在输出内部价值而不是实际价值



我对Netsuite很陌生。我的任务是将csv格式的供应商提取到文件柜。在互联网上搜索后,我找到了一个样本并将其调整为我想要的。但是,导出后,某些字段(如子公司)将使用 Internalid 导出。我不知道为什么。请帮我解决这个问题。

函数创建文件(){

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);
}
}

您提到的所有字段都是Select字段(即UI中的下拉或列表字段)。通常,这些类型的字段从一条记录链接到另一条记录。

Select字段有两个组成部分:valuetextSelect字段的value始终是所选记录的internalidtext始终是所选记录的name

在搜索Result实例(即您的searchResults[i])中,调用getValue()将返回internalid,而调用getText()将返回name

无论您希望在何处显示列表字段中的文本,请使用getText()而不是getValue()

最新更新