ベンダーをNetSuiteに大量にインポートする際に、マッピングに複数の子会社を指定できないという制限があるようです。NetSuite - ベンダーインポートの複数サブシステムの問題
私はわずか100社のベンダーをインポートする必要があるため、ベンダーが子会社より多くを必要とする各ベンダーのレコードを編集することは本当にありません。
私たちはこれに関して何か巧妙なコードを実行できますか、誰かがこの制限の解決策を得ていますか?
おかげ
ベンダーをNetSuiteに大量にインポートする際に、マッピングに複数の子会社を指定できないという制限があるようです。NetSuite - ベンダーインポートの複数サブシステムの問題
私はわずか100社のベンダーをインポートする必要があるため、ベンダーが子会社より多くを必要とする各ベンダーのレコードを編集することは本当にありません。
私たちはこれに関して何か巧妙なコードを実行できますか、誰かがこの制限の解決策を得ていますか?
おかげ
Rusty Shacklesに代わるものとして、子会社のベンダーレコードでアクセス可能な文書化されていないサブリストがあります。このサブリストの名前はsubmachine
です。何らかの理由で、record.setLineItemValue API関数ではなく、record.selectLineItem、record.setCurrentLineItemValue、およびrecord.commitLineItemを使用してアクセスする必要があります。
たとえば、大量更新の検索で各ベンダーの子会社を置き換えるために使用された大量更新スクリプトがあります。ここでは、コードサンプル
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アップロードが使用可能ではありません何らかの理由でファイルを処理し、子会社のリストを更新し、独自のスケジュールされたスクリプトを、書き込みの可能性を開くのです。
は、次の2つの輸入をやってみました。
最初にNetsuiteでベンダーレコードを作成するには、子会社の場合は1つだけを割り当てます。そして、このような何かにあなたのCSVファイルを編集します:
Vendor A, Sub B
Vendor A, Sub C
が次に更新CSVのインポートを行います。
うん、それは動作します。どうもありがとう! – MG2016
サンプルに感謝します。 – MG2016