ディスカッション

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.

クライアントスクリプトでトランザクションの各アイテムをループし、最初のアイテムで停止したフィールド値を設定する

編集済:Feb 12, 2025 2:39PM SuiteCloud / カスタマイズ

適用

製品: NetSuite 2024.2

シナリオ

注文書トランザクションで、プライマリセクションのカスタムセグメントフィールドカスタム場所を変更した後、クライアントスクリプトを実行して各ラインアイテムをループし、カスタム場所という名前のカスタムラインアイテムカスタムセグメントフィールドを設定するシナリオを考えてみます。

カスタム場所ヘッダーフィールドを設定した後、カスタム場所はラインアイテムに設定されますが、最初の行にのみ設定されます。次に、[OK]ボタンをクリックしても機能しません。

解決策

これは、Trueの値を返さない行検証の単純なケースです。

  1. クライアントスクリプトを編集します
  2. スクリプトレコードでライン検証関数として設定されている関数を探します
  3. returntrueがあるかどうかを確認します。これは、ラインアイテムのコミットアクションを検証するために必要です。

以下は、内部の条件が満たされない場合にreturn true呼び出しが欠落し、ラインアイテムの編集がスタックする原因となるサンプルコードです

/*** Client Script Version 2.0*/function clientValidateLine(scriptContext){ var currentRec = scriptContext.currentRecord; var custloc = currentRec.getValue({ fieldId: 'custbody_cust_location' }); // Let's say that the value is "Location 1" if (custloc == "Location 2") { // some logic here return false } // notice that a "return true" statement is missing on this line}

免責事項

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

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

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

ようこそ!

サインイン

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

登録

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

リーダーボード

コミュニティの達人

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

今週のリーダー

今月のリーダー

歴代リーダー