NetSuite - 供应商导入问题的多个子公司

NetSuite - Multiple Subsidiaris for Vendor Import Issue

当我们将 Vendors 批量导入 NetSuite 时似乎存在限制,因为我们无法在映射中指定多个子公司。

因为我需要导入少数 100 个供应商,所以我真的不希望编辑每个供应商需要比子公司更多的供应商记录。

我们是否可以为此在代码中做任何聪明的事情,或者有人对此限制有解决方案吗?

谢谢

您尝试进行两次导入。

第一个在Netsuite中创建供应商记录,如果是子公司就分配一个。然后将您的 CSV 文件编辑为如下内容:

Vendor A, Sub B
Vendor A, Sub C

然后进行更新的 CSV 导入。

作为 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 上传都无法使用。