NetSuiteのSuiteスクリプトを使用して販売注文を閉じようとしています。
すでに閉じられているレコードの「ステータス」が「閉じている」に設定されていることに気付きました。レコードを送信する前にこのフィールドを設定しようとしましたが、これは機能せず、レコードはまだ「保留中のフルフィルメント」ステージのままです。
他に関係する分野はありますか?
前もって感謝します!
NetSuiteのSuiteスクリプトを使用して販売注文を閉じようとしています。
すでに閉じられているレコードの「ステータス」が「閉じている」に設定されていることに気付きました。レコードを送信する前にこのフィールドを設定しようとしましたが、これは機能せず、レコードはまだ「保留中のフルフィルメント」ステージのままです。
他に関係する分野はありますか?
前もって感謝します!
トランザクションレコードの実際の「閉じる」同等のステータスはありません。
すべてのラインアイテムを繰り返し処理して閉じるように設定してから、レコードを再送信して変更をコミットする必要があります。
サンプルコードは次のとおりです。
var obj = nlapiLoadRecord('salesorder', 1);
var count = obj.getLineItemCount('item');
for(var i = 1; i <= count; i++) {
obj.setLineItemValue('item', 'isclosed', i, 'T');
}
nlapiSubmitRecord(obj);
suitescript 2.0でaftersubmit()を使用して、以下のコードを試してください。フィールド「isclosed」を「true」に設定します。
var itemcounts = salesorderRecord.getLineCount({
sublistId: 'item'
});
for (var i = 0; i < itemcounts; i++) {
var lineNum = salesorderRecord.selectLine({
sublistId: 'item',
line: i
});
var setclosed = salesorderRecord.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'isclosed',
line: i,
value: true,
ignoreFieldChange: true
});
salesorderRecord.commitLine({
sublistId: 'item',
line: i
});
}salesorderRecord.save();
var count = poRec.getLineCount({
sublistId: 'item'
});
for (var i = 0; i < count; i++) {
poRec.setSublistValue({
sublistId: 'item',
fieldId: 'isclosed',
line: i,
value: true
});
}
suitescript2.0コードスニペット
注文に含まれる個々のラインアイテムを閉じることで、販売注文を閉じることができました。
各ラインアイテムに対してtrue('T')に設定する必要があるラインアイテムフィールド'isclosed'があります。
nlapiVoidTransaction('salesorder', id)