ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
SuiteWorldまであと41日となりました。以下の最新情報をご確認ください。
アジェンダビルダー公開
SuiteWorld On Airの登録受付開始
新しいNetSuite Prompt Studioコンテスト
その他の最新情報も!
詳細はこのスレッドでご確認ください!
ユーザー・イベント・スクリプト > 押下後にRESTletを管理者として実行する
適用
製品: NetSuite 2022.1
シナリオ
ユーザー・イベント・スクリプトから作成されたボタンをクリックし、管理者としてRESTletを実行したい。
解決策
RESTletをコールして別のスクリプトから管理者として実行するには、ロールを含むユーザー資格証明を指定できるように、サーバー側スクリプトからコールする必要があります。
ユーザー・イベント・スクリプトから作成されたカスタム・ボタンからRESTletをコールする場合、一連のscritpsをトリガーして動作させる必要があります。基本的には、クライアント・スクリプトからオンクリック関数をソースとするユーザー・イベント・スクリプトからボタンを作成します。クライアント・スクリプトは、RESTletをコールするSuiteletをコールします。ユーザー・イベント・スクリプトが技術的にサーバー側であっても、カスタム・ボタンの機能はクライアント側スクリプトから取得されるため、RESTletへのコールがサーバー側スクリプトから行われるように、ユーザーはSuiteletを追加する必要があります。
次に、サンプル・コード・スニペットを示します。
I. Suitelet (サンプル・スクリプト内部ID: 211、デプロイメントID: 1)
var url = 'https://rest.na2.netsuite.com/app/site/hosting/restlet.nl?script=210&deploy=1';var headers = new Array();var headers = {"Content-type": "application/json","Authorization": "NLAuth nlauth_email=test@netsuite.com," +"nlauth_signature=sampleP@ssW0rd!," +"nlauth_account=12345," +"nlauth_role = 3"};var postData = {"memo":"sample string"};postData = JSON.stringify(postData);var result = nlapiRequestURL(url, postData, headers, null, "POST");
II. クライアントスクリプト (サンプルスクリプト id: customscript_client)
function goToSuitelet(){var url = nlapiResolveURL('SUITELET', 211, 1);nlapiRequestURL(url);window.location=url;}
III. ユーザーイベントスクリプト
function beforeLoad(type, form, request){form.setScript('customscript_client');form.addButton('custpage_call_client', 'Execute RESTlet', "goToSuitelet()");}