ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
既存の注文書をコピーするスクリプト
適用
製品: NetSuite 2022.2
シナリオ
ユーザー・イベント・スクリプトによる作成作成されたボタンを押下すると、注文書のコピーを作成します。
解決策
標準的にクライアント・スクリプトは編集モードのみに実行されます。レコードを表示する時に作動(例:ボタン押下)が必要の場合、次の設定及びコードは適用できます。
1. 以下のスクリプトを参照し、クライアント・スクリプトを作成します。
function CopyOrder() { var record = nlapiGetRecordId(); var copyRecord = nlapiCopyRecord('salesorder', record); var submitCopyRecord = nlapiSubmitRecord(copyRecord); window.location = nlapiResolveURL('RECORD', 'salesorder', submitCopyRecord);}
2. 以下の手順の通り、クライアント・スクリプトをNetSuiteへアップロードします。
- カスタマイゼーション > スクリプト > スクリプト > 新規作成 へ移動し、プラス「+」のアイコンを押下し、スクリプトのファイルをアップロードします
- 「スクリプトレコードを作成」を押下します
- クライアントを選択します
- 名前:名前を入力します
- 保存します。(デプロイメントは不要)
3. 以下のスクリプトをユーザー・イベント・スクリプトのレコードのロード前機能に追加します。SuiteScript 1.0:
function userEventBeforeLoad(type, form, request) { form.addButton('custpage_Copy', 'Copy Order', 'CopyOrder()'); form.setScript('customscript91'); //Enter the ScriptID of the Client Script}
SuiteScript 2.1:
const beforeLoad = (scriptContext) => { let form = scriptContext.form; form.addButton({ id: 'custpage_Copy', label: 'Copy Order', functionName: 'CopyOrder()' }) form.clientScriptFileId = < "script InternalId" >}
注:ボタンの押下後に作成されたクライアント・スクリプトを実行するサンプルコードです。
4. NetSuiteへスクリプトをアップロードし、クライアント・スクリプトを実行するボタンを追加するレコードにデプロイします。期待の結果:表示モードに新しいボタンが表示され、押下した後に「Client script triggered」のメッセージが表示されます。
免責事項
ここに記載されているサンプルコードは、法律で認められている最大限の範囲で、いかなる種類の保証もなく、「現状のまま」で提供されています。Oracle+NetSuite社は、開発者がそれぞれの開発プラットフォームにサンプルコードを実装したり、独自の Web サーバー構成を使用したりする際に、個々の成功を保証するものではありません。
Oracle + NetSuite社は、サンプルコードに関連するデータまたは情報の使用、使用結果、正確性、適時性または完全性に関して、いかなる保証も行わず、表明もしません。Oracle + NetSuite社は、明示的にも黙示的にもすべての保証を放棄し、特に、商品性、特定目的への適合性、およびコード、またはそれに関連するサービスやソフトウェアに関連する保証を放棄します。
Oracle + NetSuite社は、本サンプルコードに関連してお客様または他者が行った行為に起因するいかなる種類の直接的、間接的または結果的な損害または費用についても責任を負いません。