ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
SuiteWorldまであと41日となりました。以下の最新情報をご確認ください。
アジェンダビルダー公開
SuiteWorld On Airの登録受付開始
新しいNetSuite Prompt Studioコンテスト
その他の最新情報も!
詳細はこのスレッドでご確認ください!
ユーザーイベントスクリプトを介してフォルダの作成を制限する
適用
製品: NetSuite 2022.1
シナリオ
現在、ユーザーは、特に購買要などのファイルをトランザクションに添付するときに、独自のフォルダの作成ができるようになっています。
目的はフォルダ作成の権限を制限することで、ファイルキャビネットの制限は、クラス、部門、場所、またはグループのみで行うことができるため、レコード送信前のユーザーイベントで行うことができます。
解決策
レコード送信前のユーザーイベントを作成することで、フォルダの作成を特定のロールに防止できます。その後、このユーザー・イベントをフォルダレコードタイプにデプロイできます。以下のスニペットは、このことを示しています。
SuiteScript 1.0
function userEventBeforeSubmit_restrictfolder(type){
var role = nlapiGetContext().getRole();
if(role != 3) {
throw nlapiCreateError('NOT_PERMITTED', 'Your role does not allow you to create a folder');
}
}
SuiteScript 2.0
/**
* @NApiVersion 2.x
* @NScriptType UserEventScript
*/
define(['N/runtime', 'N/error'], function(runtime, error) {
function beforeSubmit(context) {
var userRole = runtime.getCurrentUser().role;
if(userRole != 3) {
var myCustomError = error.create({
name: 'Folder Creation Restricted',
message: 'Your role does not allow you to create a folder.',
notifyOff: false
});
throw myCustomError;
}
}
return {
beforeSubmit: beforeSubmit
};
});
最初に、コードは現在のユーザーのロールを参照します。次に、ユーザーのロールでフォルダの作成が許可されていないかをチェックします。最後に、nlapiCreateError ()を使用してエラーがスローされます。
このAPIの詳細は、次の「ヘルプ・ガイド」リンクを参照してください。
SuiteScript 1.0
nlapiCreateError(code, details, suppressNotification)
SuiteScript 2.0
error.create(options)
免責事項
ここに記載されているサンプルコードは、法律で認められている最大限の範囲で、いかなる種類の保証もなく、「現状のまま」で提供されています。Oracle+NetSuite社は、開発者がそれぞれの開発プラットフォームにサンプルコードを実装したり、独自の Web サーバー構成を使用したりする際に、個々の成功を保証するものではありません。
Oracle + NetSuite社は、サンプルコードに関連するデータまたは情報の使用、使用結果、正確性、適時性または完全性に関して、いかなる保証も行わず、表明もしません。Oracle + NetSuite社は、明示的にも黙示的にもすべての保証を放棄し、特に、商品性、特定目的への適合性、およびコード、またはそれに関連するサービスやソフトウェアに関連する保証を放棄します。
Oracle + NetSuite社は、本サンプルコードに関連してお客様または他者が行った行為に起因するいかなる種類の直接的、間接的または結果的な損害または費用についても責任を負いません。