ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
SuiteWorldまであと41日となりました。以下の最新情報をご確認ください。
アジェンダビルダー公開
SuiteWorld On Airの登録受付開始
新しいNetSuite Prompt Studioコンテスト
その他の最新情報も!
詳細はこのスレッドでご確認ください!
Scriptでアイテムレコードの価格マトリックスを変更する
適用
製品: NetSuite 2022.1
シナリオ
nlapiLoadRecordかつnlapiSubmitRecordを介して、クライントスクリプトで在庫アイテムの価格・数量マトリックスは変更できません。
しかし、サーバーサイードスクリプトで可能です。バックエンドSuiteletで価格・数量マトリックスを設定するボタンをユーザーイベントスクリプトで追加します。ロジックはクライントスクリプトの代わり、バックエンドSuiteletに追加します。
解決策
サンプルコード
ユーザーイベントスクリプト
function userEventBeforeLoad(type, form, request) {
form.setScript('customscript83'); //ユーザーイベントスクリプトのスクリプトID
form.addButton('custpage_btn_callbackend', '数量変更のヘッダ', 'changeHeader()');
};
function changeHeader() {
//Suiteletを呼ぶ
var URL = nlapiResolveURL('SUITELET', 'customscript84', 'customdeploy1'); //バックエンドSuiteletのスクリプトID:customscript84、デプロイメントID:customdeploy1
nlapiRequestURL(URL);
};
バックエンドSuitelet
function suitelet(request, response) {
var childItemRecord = nlapiLoadRecord('inventoryitem', 5);
childItemRecord.setMatrixValue('price1', 'price', 2, 6);
childItemRecord.setMatrixValue('price1', 'price', 3, 12);
itemUpdateSuccess = nlapiSubmitRecord(childItemRecord, true, true);
var childItemRecord2 = nlapiLoadRecord('inventoryitem', 5); //変更の成否をログする
var price2 = childItemRecord2.getMatrixValue('price1', 'price', 2);
var price3 = childItemRecord2.getMatrixValue('price1', 'price', 3);
nlapiLogExecution('DEBUG', price2, price2);
nlapiLogExecution('DEBUG', price3, price3);
};
免責事項
ここに記載されているサンプルコードは、法律で認められている最大限の範囲で、いかなる種類の保証もなく、「現状のまま」で提供されています。Oracle+NetSuite社は、開発者がそれぞれの開発プラットフォームにサンプルコードを実装したり、独自の Web サーバー構成を使用したりする際に、個々の成功を保証するものではありません。
Oracle + NetSuite社は、サンプルコードに関連するデータまたは情報の使用、使用結果、正確性、適時性または完全性に関して、いかなる保証も行わず、表明もしません。Oracle + NetSuite社は、明示的にも黙示的にもすべての保証を放棄し、特に、商品性、特定目的への適合性、およびコード、またはそれに関連するサービスやソフトウェアに関連する保証を放棄します。
Oracle + NetSuite社は、本サンプルコードに関連してお客様または他者が行った行為に起因するいかなる種類の直接的、間接的または結果的な損害または費用についても責任を負いません。