概要
フォームに含まれる特定のフィールド(例えばステータス)の値に応じて、表示するフォームビューを切り替える方法についてまとめます。
表示ルール[View Rules]を使用します。
前提条件
- PDIのTokyoバージョンで確認
- adminユーザーで操作
詳細
1. UIビューを作成する
- [System UI] > [Views]を開く
- [New]ボタンで新規作成する
Name : 内部的な名前。英数字のみが無難。
Title : ビューの切替などで表示される文字列。(上と同じにしておく方がわかりやすい) - Submitする
2. フォームビューを作成する
- 設定したいテーブルのレコードを開く
- ≡(ハンバーガーメニュー) > [Configure] > [Form Design] または [Form Layout]を開く
- [Form Design]の場合
画面上部のビュー設定欄で[New]を選択し、1で作成したUIビューのNameを入力
- 表示したい項目を設定して[Save]する
3. 表示ルールを作成する
-
[System UI] > [View Rules]を開く
-
[New]ボタンで新規作成する
Name : 名前
Table : フォームを設定したいテーブル ※
Device Type : Browser
Match conditions : All
View : 1で作成したUIビューのNameを入力
Conditions : フォームを設定する条件※アプリケーションスコープを設定している場合、指定できる[Table]はアプリケーションスコープ内のものに限られます
-
[Submit]する
結果
- 指定した[Table]のレコードを表示する際、[Conditions]に合致した場合に、指定した[View]が適用される。
- タイトル部分には「View:~~~*」と表示され、自分でビューを変更した場合と違い、末尾に*が付与されている。
View部分にマウスオーバーすると、View forced by a View Rule
とポップアップ表示される。
ルールが適用されている場合は、Viewのメニューも表示されない。
これはURLに「&sysparm_view_forced=true」が設定されているため。
- ルールによりViewが適用されたレコードから、Prevous record(↑) または Next record(↓) で他のレコードに移動した場合、移動先でもビューが適用されたままになる。ただしルールの適用外であれば、View名の末尾に*はなく、Viewの変更が可能。
参考
以上