ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
SuiteWorldまであと41日となりました。以下の最新情報をご確認ください。
アジェンダビルダー公開
SuiteWorld On Airの登録受付開始
新しいNetSuite Prompt Studioコンテスト
その他の最新情報も!
詳細はこのスレッドでご確認ください!
SuiteScriptを使用してサブリストにオプションを動的に追加する
適用
製品: NetSuite 2023.1
シナリオ
ユーザーは、SuiteScriptを使用してサブリストにオプションを動的に追加したいと考えています。値は検索から取得されます。このシナリオでは、オプション値は特定の連結から取得され、Suiteletフォームに追加された在庫アイテムとなっています。
解決策
サンプルSuiteleスクリプト
SuiteScript 1.0
function main(request, response) {
var form = nlapiCreateForm('Items', false);
var sublist = form.addSubList('custpage_items', 'inlineeditor', 'Items');
var itemField = sublist.addField('custpage_item', 'select', 'Item');
form.setScript('customscript_populate'); //クライアントスクリプトを設定
response.writePage(form);
}
SuiteScript 2.0
var form = serverWidget.createForm({ title: 'Items' });
var sublist = form.addSublist({ id:'custpage_items',
label: 'Items',
type : serverWidget.SublistType.INLINEEDITOR });
var itemField = sublist.addField({ id: 'custpage_item',
label: 'Item',
type: serverWidget.Type.SELECT })
form.clientScriptFileId = 32; //フォームに使用するクライアントスクリプトファイルの内部ID
context.response.writePage(form);
サンプルクライアントスクリプト
SuiteScript 1.0
function pageInit() {
nlapiRemoveLineItemOption('custpage_items', 'custpage_item'); //現在の選択オプションを削除
nlapiInsertLineItemOption('custpage_items', 'custpage_item', '', '', true); //Null値を挿入して、デフォルト値とする
var filters = new Array();
filters[0] = new nlobjSearchFilter('type',null,'is','InvtPart'); /アイテムの種類は在庫アイテム