1.変数セットを作成する
レコードプロデューサー画面の変数セットタブから[New]ボタン押下する
作成した変数セットの画面から、変数タブの[New]ボタン押下で関連リストの列に対応する変数を作成していく。
レコードプロデューサー画面にて、作成した変数セットのオーダーを変更し、表示位置を調整する。
2.変数セット入力データの登録処理実装
変数セットではテーブルとマッピングできないため、現状のままではデータを入力しても実際にデータ登録は行われない。
そのため、[Submit]ボタン押下時に変数セットの情報も登録する処理を追加する必要がある。
登録処理は、レコードプロデューサー画面の[Script]フィールドに登録処理のScriptを書くことで実現できる。
以下のScriptを[Script]フィールドに記載し、更新する。
Client controller
// 関連リストの登録の際にSysIDが必要となるため、このScriptでInsertを行う
var testCaseRecord = new GlideRecord(current.getTableName());
testCaseRecord.initialize();
testCaseRecord.contact_type = current.contact_type;
testCaseRecord.account = current.account;
testCaseRecord.contact = current.contact;
testCaseRecord.product = current.product;
testCaseRecord.opened_at = current.opened_at;
testCaseRecord.priority = current.priority;
testCaseRecord.assignment_group = current.assignment_group;
testCaseRecord.assigned_to = current.assigned_to;
testCaseRecord.insert();
current.setAbortAction(true);
// 関連リストの登録
var testCaseID = testCaseRecord.getUniqueValue();
var subList = producer.test_sub_case_list;
var rowCount = subList.getRowCount();
for (var i = 0; i < rowCount; i++) {
var rowData = subList.getRow(i);
var colList = rowData.getCells();
var testSubCaseRecord = new GlideRecord("u_test_sub_case");
testSubCaseRecord.initialize();
testSubCaseRecord.setValue("u_number", colList[0]);
testSubCaseRecord.setValue("u_short_description", colList[1]);
testSubCaseRecord.setValue("u_test_case", testCaseID);
testSubCaseRecord.insert();
}
// チケット参照画面へリダイレクト
producer.portal_redirect = "?id=csm_ticket&table=u_test_case&sys_id=" + testCaseID;