Lookup Select Boxの参照修飾子にカタログ変数を設定する方法
今回はグループ[sys_user_group]を参照するLookup Select Boxとグループメンバー[sys_user_grmember]を参照するLookup Select Boxを用意して、グループを選択したときにグループに所属しているメンバーのみを表示するようフィルターをかけていきます。
カタログ変数の準備
まずは適当にカタログアイテムを用意して変数は下記の表の通りに作成します。
Type | Order | Question | Name |
Lookup Select Box | 100 | Group | group |
Lookup Select Box | 200 | Group Member | group_member |
Lookup from table | Lookup value field | Lookup label field(s) |
Group[sys_user_group] | Sys ID | name |
Group Member[sys_user_grmember] | User | user |
カタログ変数に参照修飾子の設定
次にGroup MemberのReference qualifierに下記を入力します。
javascript: "group=" + current.variables.group;
最後にGroup MemberのVariable attributesに下記を入力します。
ref_qual_elements=group
グループの方は特に設定することはありません。最終的には以下の画像のようになっているはずです。
画像ではInclude noneにチェックが入ってます。選択肢に「– None –」を追加する設定です。ここは自由にチェックを外しても大丈夫です。
テスト
カタログアイテムのTry It ボタンを押して実際にどうなるか見てみましょう。
選択したグループにグループメンバーが設定されていなければ選択肢には何も出てこなくなります。グループメンバーが設定されていれば、設定されているメンバーのみが表示されています。
実際に正しいのか確認してみます。
どちらも正しくフィルターされていることが確認できました。
まとめ
カタログアイテム変数の値を取得したいときは下記で取得する。
current.variables.[varialbe_name]
Variable attributesに下記を設定しないと値を変えた時にフィルターが変わらない。
ref_qual_elements=group
※いつも失敗してる原因は大体この2つのどちらかが上手く設定できていないです