由于我需要导入少数100个供应商,因此我不希望编辑供应商需要的多个供应商记录而不是子公司。
我们是否能够在代码中为此做任何聪明的事情,或者是否有人为此限制获得了解决方案?
由于
答案 0 :(得分:2)
您尝试过两次导入。
第一个在Netsuite中创建供应商记录,如果是子公司,只需分配一个。然后将您的CSV文件编辑为以下内容:
Vendor A, Sub B
Vendor A, Sub C
然后执行更新的CSV导入。
答案 1 :(得分:1)
作为Rusty Shackles的替代品,可以在子公司的供应商记录中访问未记录的子列表。该子列表的名称为submachine
。无论出于何种原因,必须使用record.selectLineItem,record.setCurrentLineItemValue和record.commitLineItem来访问它,而不是使用record.setLineItemValue API函数。
例如,我有一个批量更新脚本,用于在批量更新搜索中替换每个供应商的子公司。这是代码示例
function massUpdate(recType, recId) {
var context = nlapiGetContext();
var subToRemove = context.getSetting('SCRIPT', 'custscript_subsidiary_to_remove');
var subToReplace = context.getSetting('SCRIPT', 'custscript_replacement_sub');
var record = nlapiLoadRecord('vendor', recId);
var lineCount = record.getLineItemCount('submachine');
nlapiLogExecution('DEBUG', 'lineCount = ' + lineCount)
if (lineCount > 0){
for (var i = 1; i <= lineCount; i++){
record.selectLineItem('submachine', i);
var sub = record.getCurrentLineItemValue('submachine', 'subsidiary')
nlapiLogExecution('DEBUG', i, sub);
if (sub == subToRemove){
record.setCurrentLineItemValue('submachine', 'subsidiary', subToReplace);
record.commitLineItem('submachine');
break;
}
}
}
nlapiSubmitRecord(record);
}
这样就可以编写自己的预定脚本来处理文件并更新子列表,无论出于何种原因,CSV上传都是不可用的。