LoginSignup
0
0

ポータルのチケット登録画面で関連リスト機能を実装する方法

Posted at

1.変数セットを作成する

レコードプロデューサー画面の変数セットタブから[New]ボタン押下する
image.png

[Multi-Row Variable Set]を選択する
image.png

タイトルを入力し、[Submit]ボタン押下
image.png

作成した変数セットの画面から、変数タブの[New]ボタン押下で関連リストの列に対応する変数を作成していく。
image.png

レコードプロデューサー画面にて、作成した変数セットのオーダーを変更し、表示位置を調整する。
image.png

ポータル画面にて、確認する。
image.png

[Add]ボタンでデータを追加してみる。
image.png

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;

3.確認

ポータル画面にて、登録内容を入力し、[Submit]ボタン押下。
image.png
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0