ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
SuiteWorldまであと41日となりました。以下の最新情報をご確認ください。
アジェンダビルダー公開
SuiteWorld On Airの登録受付開始
新しいNetSuite Prompt Studioコンテスト
その他の最新情報も!
詳細はこのスレッドでご確認ください!
イベントレコードの作成時に「開始日」を「必須でない」フィールドに設定する機能
適用
製品: NetSuite 2021.1
シナリオ
SuiteScriptを使用してNetSuiteをカスタマイズする場合、ユーザーのエラーを回避するために、特定のプロセスではファイルされたレコードを必須または非必須にする必要がある場合があります。デフォルトでは、NetSuite では、イベントレコードの開始日は必須フィールドとなっています。SuiteScriptを使用して、このフィールドを非必須フィールドに変更することができます。以下のソリューションは、NetSuite の他のレコードにも適用でき、必要に応じてフィールドを必須にするために使用することもできます。
解決策
SuiteScriptを使用して希望するフィールドの必須ステータスを変更するには、新しいUser Event Scriptを作成し、Before Loadコンテキスト上でコードロジックを実行する必要があります。SuiteScript API 1.0 と 2.0 の両方を使用できます。
SuiteScript 1.0を使用する場合。Before Load 関数の名前は、スクリプト コードの名前と一致している必要があります。
- カスタマイゼーション > スクリプ ト > スクリプト > 新規
- サンプルコードのスクリプトファイルのアップロード
- スクリプトレコードの作成 をクリックします。
- ユーザーイベントを選択
- スクリプトに名前とIDを追加する
- Before Load Function フィールドに startDate を入力します。
- 保存してデプロイをクリックします。
- 適用先フィールドにイベントを入力します。
- ステータスフィールドをリリース済に変更します。
- 保存をクリックします。
/** * Module Description * * Version Date Author Remarks * 1.00 DD MM YYYY USER * */ /** * The recordType (internal id) corresponds to the "Applied To" record in your script deployment. * appliedtorecord recordType * * @param {String} type Operation types: create, edit, view, copy, print, email * @param {nlobjForm} form Current form * @param {nlobjRequest} request Request object * returns {Void} */ function startDate(type, form, request) { try { var field = nlapiGetField('startdate'); field.setMandatory(false); } catch (error) { nlapiLogExecution('DEBUG', 'CATCH ERROR', error); } }
SuiteScript 2.0を使用しています。このコードサンプルでは特定のモジュールを定義する必要はありません。
- カスタマイゼーション > スクリプト > スクリプト > 新規作成
- サンプルコードのスクリプトファイルのアップロード
- スクリプトレコードの作成 をクリックします。
- スクリプトに名前とIDを追加します。
- 保存してデプロイをクリックします。
- 適用先フィールドにイベントを入力します。
- ステータスフィールドをリリース済に変更します。
- 保存をクリックします。
/** * NApiVersion 2.x * NScriptType UserEventScript * NModuleScope SameAccount */ define