カタログ変数(参照)の表示される列について

a_129
Mega Guru

カタログアイテムで「業務ID」という名前で変数を作成しています。
タイプは参照で設定していて、参照先テーブルは「グループメンバー」です。find_real_file.png

 

このカタログアイテムをポータル上で開いて、上記の「業務ID」変数を選択する際
以下画像のように「作成日時」の列が表示されるようになっています。

find_real_file.png

 

この表示されている列を変更することは可能でしょうか?
以下画像の「グループメンバー」テーブルから「グループ」の列をポータル上に表示させたいと考えていますが変更方法・設定方法がわかりません。
ポータル上に表示させる列の変更方法を教えて頂けると幸いです。

find_real_file.png

 

1 件の受理された解決策

Hitoshi Ozawa
Giga Sage
Giga Sage

sys_userテーブル及びsys_user_groupテーブルの関係はNxNのためにsys_user_grmemberテーブルには列「表示」はありません。そのため、フォームでsys_user_grmemberテーブルを参照するフィールドを定義するのではなく、sys_user_groupテーブルを参照するようにして、フィールドの参照修飾子でsys_user_grmemberテーブルのグループ一覧を取得するようにします。

元の投稿で解決策を見る

6件の返信6

ログインしているユーザのsys_idを引数として渡すようにしました。一つ以上のフォームで利用する場合はスクリプトインクルードを作成した方が保守しやすくなります。

javascript:'sys_idIN'+getGroups(gs.getUserID()); function getGroups(sys_id){var gr = new GlideRecord("sys_user_grmember"); gr.activeQuery();gr.addQuery('user', sys_id); gr.query();var list=[]; while (gr.next()){list.push(gr.group.sys_id);} return list.join(',');}

スクリプトインクルード

var UserGroupUtil = Class.create();
UserGroupUtil.prototype = {
    initialize: function() {},
    getUserGroups: function(sys_id) {
		var userGroupList = [];
        var grUG = new GlideRecord('sys_user_grmember');
        grUG.addActiveQuery();
		grUG.addQuery('user', sys_id);
        grUG.query();
        while (grUG.next()) {
            userGroupList.push(grUG.group.sys_id);
        }
        return userGroupList.join(',');
    },
    type: 'UserGroupUtil'
};

find_real_file.png

javascript: 'sys_idIN' + new UserGroupUtil().getUserGroups(gs.getUserID());

find_real_file.png