ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
スクリプトを介して、バックラッシュでワーク・オーダー完了を作成する時、「在庫詳細の合計数量は0となる必要があります」のエラーが出る
適用
製品: NetSuite 2023.1
シナリオ
スクリプトを介して、バックラッシュでワーク・オーダー完了を作成し、サブリストにてシリアル/ロット番号付きアイテムの数量を0に設定したいです。
解決策
UIで行い場合、シリアル/ロット番号付きアイテムの数量を0に設定する際に在庫詳細は自動的に削除されます。但し、スクリプトで行うと同様の行動になりません。スクリプトにワーク・オーダー完了のコンポネントにて在庫詳細を削除するコードを追加して解決できます。参考は以下です。
function createWOC(){ var rec = nlapiTransformRecord('workorder', '5587' , 'workordercompletion', {recordmode: 'dynamic'}); //5587 is the internal ID of the Work Order where the Work Order Completion with Backflush is created from rec.setFieldValue('quantity',1); rec.setFieldValue('isbackflush', 'T'); rec.setLineItemValue('component','quantity',1,0); var subrecordObj = rec.createSubrecord('inventorydetail'); subrecordObj.selectNewLineItem('inventoryassignment'); subrecordObj.setCurrentLineItemValue('inventoryassignment', 'receiptinventorynumber','lot1'); subrecordObj.setCurrentLineItemValue('inventoryassignment', 'quantity', 1); subrecordObj.commitLineItem('inventoryassignment'); subrecordObj.commit(); rec.selectLineItem('component',1); rec.removeCurrentLineItemSubrecord('component', 'componentinventorydetail'); rec.commitLineItem('component'); var id = nlapiSubmitRecord(rec); }
免責事項
ここに記載されているサンプルコードは、法律で認められている最大限の範囲で、いかなる種類の保証もなく、「現状のまま」で提供されています。Oracle+NetSuite社は、開発者がそれぞれの開発プラットフォームにサンプルコードを実装したり、独自の Web サーバー構成を使用したりする際に、個々の成功を保証するものではありません。
Oracle + NetSuite社は、サンプルコードに関連するデータまたは情報の使用、使用結果、正確性、適時性または完全性に関して、いかなる保証も行わず、表明もしません。Oracle + NetSuite社は、明示的にも黙示的にもすべての保証を放棄し、特に、商品性、特定目的への適合性、およびコード、またはそれに関連するサービスやソフトウェアに関連する保証を放棄します。
Oracle + NetSuite社は、本サンプルコードに関連してお客様または他者が行った行為に起因するいかなる種類の直接的、間接的または結果的な損害または費用についても責任を負いません。