#どんな機能?
・レコードの状態によって項目の表示可否が制御できる機能
・現在はカスタムオブジェクトのみ対応
#設定してみる
①まず詳細コンポーネントをレコードページに配置します。
②その詳細コンポーネントをクリックすると、画面右側に以下のリンクが表示されるのでクリックします。
③動的フォームのチュートリアル画面がでます。
「次へ」ボタンをクリックします。
④動的フォーム表示元となるページレイアウトを選択し、「完了」ボタンを押します。
⑤これで動的フォームが設定されました。
設定されると同時にアコーディオンコンポーネントも設定されます。
#試してみる
①動的フォームは項目の位置を自由に変更できます。
②項目の表示条件を設定してみます。
設定方法は他のコンポーネントの表示条件設定と変わりません。
項目をクリックすると画面右側に以下のキャプチャの通り、
「検索条件の追加」リンクが表示されるのでクリックします。
③例として、”参加人数”項目が10以上のとき、"レベル"項目を表示させてみたいと思います。
条件を設定したら「完了」→レコードページを保存します。
#さらに試してみる
##セクション/項目を追加する
レコードページ内でセクション/項目を追加できるようになります
①レコードページ編集画面左側に「項目」というタブがあります。
ここからセクションや項目をドラッグ&ドロップすることで追加することが可能です。
##プロファイルに割り当てられているレイアウトと別のレイアウトをソースにするとどうなるか
上記の通り、動的フォームを生成する時にソースとなるレイアウトを選択します。
このとき、どのプロファイルにも割り当てられていないレイアウトを選択したらどうなるのでしょうか。
①セッションという名のカスタムオブジェクトには、「セッションレイアウト」を「セッションレイアウト2」がある状態です。
③ちなみに「セッションレイアウト2」の中身はこのような感じです。
③現在「セッションレイアウト2」はどのプロファイルにも割り当てられてません。
⑤レコードページ上も「セッションレイアウト2」レイアウトと同じ配置となります。
⑦編集画面も「セッションレイアウト2」の内容となってしまいます。
##動的フォーム追加した後、ソース元のレイアウトを変更するとどうなるか
動的フォームを設定した後、ソース元のレイアウトにセクションや項目を追加したらどうなるのでしょうか。
①上記から引き続き、セクションレイアウト2で試してみます。
現在はこのようなレイアウトです。
②「セクションレイアウト2」を編集してみます。
「テスト2」というセクションを追加し、"参加人数"項目と"取引先"項目を配置しました。
#動的フォーム上必須に設定した項目が非表示の場合、必須チェックエラーが発生するか【2020/11/18追記】
①"参加人数"項目を動的フォーム上必須にし、検索条件で"レベル"項目が「中級」のときに表示させるとします。
②レベル「初級」だと”参加人数”項目は表示されません。
この状態で適当に保存すると・・・
④レベルを「中級」にした途端に以下のメッセージが表示されました。
⑤レベル「中級」の状態で”参加人数”が未入力のまま保存するとエラーが発生します。
#まとめ
- 条件をつけて項目出し分け出来るのは便利
- ページレイアウトとして割り当てらてないレイアウトでもソースとして選択できる
- 動的フォームとして設定すると、ソース元のレイアウトとは独立したレイアウトとなる
- 作成/編集画面のレイアウトも動的フォームのレイアウトと同様となる
- レコードタイプと動的フォームを合わせて使いたい場合は、レイアウトの割り当てではなくレコードページ側で割り当てを行うことが必要