適用
製品: NetSuite 2025.1
シナリオ
ユーザーから、アイテム出荷レコードで割り当てられているBin番号を取得し、それを受注(Sales Order)レコードに表示したいというご要望がありました。
解決策
注文書のアイテム・サブリストに保管棚番号を追加するには、以下の手順を実施します。
カスタマイゼーション > リスト、レコード、およびフィールド > トランザクション・ライン・フィールド > 新規 へ移動し、注文書へ追加するカスタムのトランザクション・ライン・フィールドを作成します。次の値も設定します。
- ラベル:保管棚番号
- ID: _bin_number
- 種類:テキスト・エリア
- 値を保存:マークします
- 次に適用:販売アイテム
- 保存を押下します
スクリプトのレコードを作成します。
- カスタマイゼーション > スクリプト > スクリプト > 新規 へ移動します
- 後述のサンプルコードのファイルをアップロードします
- スクリプトレコードを作成のボタンを押下します
- 名前を入力します
- 保存を押下します
デプロイメントレコードを作成し、次の値を設定します
- 次に適用:配送
- ステータス:テスティング/リリース済
- ロール:すべてを選択をマークします
- 保存を押下します
以下のサンプルコードを参照し、「*.js」ファイルとして保存します。
Client SuiteScript 2.0:
function saveRecord(scriptContext) {
var itemFulfillRec = scriptContext.currentRecord
var itemFulfillCreatedFrom = itemFulfillRec.getValue({ fieldId: 'createdfrom' })
var itemCount = itemFulfillRec.getLineCount({ sublistId: 'item' })
//make sure to define the N/record module
//this will load the Sales Order where the item fulfillment is created
var soRec = record.load({
type: record.Type.SALES_ORDER,
id: itemFulfillCreatedFrom
})
for (var i = 0; i < itemCount; i++) {
//pulling the inventory detail subrecord in itemfulfillment
var inventoryDetailRec = itemFulfillRec.getSublistSubrecord({
sublistId: 'item',
fieldId: 'inventorydetail',
line: i
})
//pulling the binnumber text from the inventory detail sub record
var binNumber = inventoryDetailRec.getSublistText({
sublistId: 'inventoryassignment',
fieldId: 'binnumber',
line: 0
})
//setting the bin number value in the sales order custom field
soRec.setSublistValue({
sublistId: 'item',
fieldId: 'custcol_bin_number',
line: i,
value: binNumber
})
}
}
注:このソリューションは、保管棚番号を設定されたアイテムのみで適用されます。このソリューションを適用した後、配送を保存する時に注文書でのカスタムのライン・フィールドに「保管棚番号」を設定します。然し、配送は注文書に紐付いている必要があります。注文書は配送に未連携の場合、保管棚番号を取得する方法はありません。
免責事項
ここに記載されているサンプルコードは、法律で認められている最大限の範囲で、いかなる種類の保証もなく、「現状のまま」で提供されています。Oracle+NetSuite社は、開発者がそれぞれの開発プラットフォームにサンプルコードを実装したり、独自の Web サーバー構成を使用したりする際に、個々の成功を保証するものではありません。
Oracle + NetSuite社は、サンプルコードに関連するデータまたは情報の使用、使用結果、正確性、適時性または完全性に関して、いかなる保証も行わず、表明もしません。Oracle + NetSuite社は、明示的にも黙示的にもすべての保証を放棄し、特に、商品性、特定目的への適合性、およびコード、またはそれに関連するサービスやソフトウェアに関連する保証を放棄します。
Oracle + NetSuite社は、本サンプルコードに関連してお客様または他者が行った行為に起因するいかなる種類の直接的、間接的または結果的な損害または費用についても責任を負いません。