ディスカッション

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 21, 2025 2:05PM SuiteCloud / カスタマイズ

適用

製品:  NetSuite 2024.2

シナリオ

リスト/レコード種類のフィールドを隠す必要があります。但し、リスト/レコードフィールドの特定の値を隠す方法は以下で行うことができます。

  • スクリプトは、Suiteletの時のみリストの値を変更できます。
  • または、実際のリスト/レコードフィールドはスクリプトで作成されました。

スクリプトはフィールドのリストの値を変更できません。標準フォームであるクライントスクリプトと同様に、デフォルト値があるフィールドのみ設定できます。

ある条件で、リスト/レコードフィールドの値は隠せます。しかし、リスト/レコードフィールドの値を隠すことの代わり、その値を選択できないようにします。

例えば、経費請求書のレコードで、特定のロールにて承認ステータスの「却下」の選択を防ぎます。

解決策

  1. フィールド検証関数があるクライントスクリプトを作成します。

  2. フィールド検証関数で以下のコードを追加します。

  3. スクリプトを保存して展開します。


SuiteScript 1.0

 function clientFieldChanged(type, name, linenum){   var role = nlapiGetRole();    if (name == 'approvalstatus') {        // ここに条件を追加します ....       if (role == '3'){           // リスト/レコードフィールドの値を取得します           var status = nlapiGetFieldValue('approvalstatus');            if (status == '3') {               alert('ステータスは「却下」に設定する権限はありません。');               return false;           }       }       // ... 条件終了   }   return true; } 

 

SuiteScript 2.0

 function fieldChanged(scriptContext) {     var userObj = runtime.getCurrentUser();     var role = userObj.role          var curRec = scriptContext.currentRecord          if (scriptContext.fieldId == 'approvalstatus') {              // ここに条件を追加してください ....             if (role == '3') {                 // リスト/レコードフィールドの値を取得                 var status = curRec.getValue({                     fieldId: 'approvalstatus'                 });                  if (status == '3') {                     alert('ステータスは「却下」に設定する権限はありません。');                     return false;                 }             }             // ... END CONDITION         }         return true; } return {     fieldChanged: fieldChanged }; 

注:特定の条件が満たす場合、リスト/レコードフィールドは選択できなくなります。



免責事項

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

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

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

ようこそ!

サインイン

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

登録

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

リーダーボード

コミュニティの達人

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

今週のリーダー

今月のリーダー

歴代リーダー