ディスカッション

NetSuiteの保存検索やレポートをマスターするための究極のガイドである分析センターを使用して、データの力を最大限に活用しましょう。複雑さを単純化し、組織の真の可能性を解き放ちます。今すぐ分析センターに参加して、新たな高みを目指しましょう!
New AI Community Guidelines. Please review and follow them to ensure AI use stays safe, accurate, and compliant.
Update: Narrative Insights has been restored and is now available.

Narrative Insights is Temporarily Unavailable due to an Infrastructure Issue. Learn how This Impacts Your Account and What to Expect While the Feature is Disabled.

SuiteScript 2.0で在庫詳細を更新

編集済:Jun 2, 2025 2:48PM SuiteCloud / カスタマイズ

適用

製品:  NetSuite 2022.1



シナリオ

SuiteScript 2.0で既存トランザクションの在庫詳細を更新します。

クライアントスクリプトのsetCurrentSublistSubrecord で在庫詳細を更新すると、「NOT_SUPPORTED_ON_CURRENT_SUBRECORD」のエラーが発生してしまいます。



解決策

機能改善#417206 やSuiteAnswer記事51520 - CurrentRecord.getSubrecord(options)によると、クライアントスクリプトでサブレコードオブジェクトは読み込みモードのみのため、サブレコードのフィールドの値の設定は不可能です。

Suiteletスクリプトで在庫詳細を更新すれば、その問題を解決できます。

以下のSuiteletの例コードはクレジットメモの初行を更新します。

/** 
 *@NApiVersion 2.x 
 *@NScriptType Suitelet 
 */ 
 
define(["N/record"], function (record) { 
    function onRequest(context) { 
 
  var recordType = record.Type.CREDIT_MEMO; 
  var recordId = 123;//sample credit memo internal ID 
   
  // 標準モードでレコードをロード 
  var recObj = record.load({ 
   type: 'creditmemo', 
   id: recordId 
  }); 
   
  // リストアイテムの量を更新(量の不一致のエラーを回避) 
  recObj.setSublistValue({ 
   sublistId: 'inventorydetail', 
   fieldId: 'quantity', 
   line: 0, 
   value: 2 
  }); 
   
  // サブレコードをロード 
  var subrec = recObj.getSublistSubrecord({ 
    sublistId: 'item', 
    fieldId: 'inventorydetail', 
    line: 0 
  }); 
   
  if(subrec){ 
   // サブレコードの量を更新する。注:ラインアイテムの量と合計の量は一致しないと行けない 
   subrec.setSublistValue({ 
    sublistId: 'inventoryassignment', 
    fieldId: 'quantity', 
    line: 0, 
    value: 2 
   }); 
  } 
   
  recObj.save(); 
    } 
    return { 
        onRequest: onRequest 
    }; 
}); 




免責事項

ここに記載されているサンプルコードは、法律で認められている最大限の範囲で、いかなる種類の保証もなく、「現状のまま」で提供されています。Oracle+NetSuite社は、開発者がそれぞれの開発プラットフォームにサンプルコードを実装したり、独自の Web サーバー構成を使用したりする際に、個々の成功を保証するものではありません。

Oracle + NetSuite社は、サンプルコードに関連するデータまたは情報の使用、使用結果、正確性、適時性または完全性に関して、いかなる保証も行わず、表明もしません。Oracle + NetSuite社は、明示的にも黙示的にもすべての保証を放棄し、特に、商品性、特定目的への適合性、およびコード、またはそれに関連するサービスやソフトウェアに関連する保証を放棄します。

Oracle + NetSuite社は、本サンプルコードに関連してお客様または他者が行った行為に起因するいかなる種類の直接的、間接的または結果的な損害または費用についても責任を負いません。

タグ付けされた:

ようこそ!

サインイン

完全な詳細を表示するには、サインインしてください。

登録

アカウントがありませんか?ここをクリックして始めましょう!

リーダーボード

コミュニティの達人

第2四半期 (4月~6月 2026)

今週のリーダー

今月のリーダー

歴代リーダー