先週
こちらで試した内容をまとめた動的フォームですが、その後も楽しいのでいじっていたところ、気づいたことがありました。
追加した項目が表示されない
一度動的フォームを設定し、その後オブジェクトで項目を新たに作成して、ページレイアウトへ追加しました。
動的フォームを設定して保存、有効化してユーザへ割り当てた後、
項目を2つ作成してページレイアウトへ追加し、
レコードの画面を確認すると……反映されていません。
拡大してみても、ない!
まあ、ここまではよくあることです。
レコードのレイアウト変更が保存後に表示されるまでの遅延 でも書いていますが、Winter'20よりレイアウトの変更の反映に時間がかかるようになりました。
すぐに確認したい場合は、一度ログアウトし、ログインをし直す必要があります。
そこで、面倒でも一度ログアウトし、再びログイン。
それでも
反映されていません。
LightningアプリケーションビルダーでLightningレコードページを開いてみました。
プレビューにも反映されていません。
見にくくてすみません
時間を置いても反映されず、「?」で頭がいっぱいになったころ、思い出しました。
あの工程のことを。
「動的フォームのソースを選択」で選択していないから?
「どこかに反映させる設定とかあったかな~」「権限の問題かな」と色々調べながら、先日自分で書いた記事を何となく見ていたら
、動的フォームで状況にあわせた項目を表示する の設定方法の 4にこうありました。
4.「動的フォームのソースを選択」する画面が表示されます。少しわかりにくいですが、ここで動的フォームを設定するレイアウトを選択するようです。
レイアウト名の左の〇をクリックして選択し、右下の【完了】をクリックします。
そして、ここの画面を確認すると、次の記述がありました。
移行する項目とセクションを含むページレイアウトを選択します。
さらに
心配いりません。
ページレイアウトは変更されません。項目とセクションの情報を取得するのみです。
最初に動的フォームを設定したときに読み込んだページレイアウトには、あとから作成して追加した項目の情報はありません。これは、
再度動的フォームのソースとして読み込まないといけないのでは?と考え、検証し、解決方法をみつけました。
解決方法
一度「詳細」を削除し、動的フォームを読み込みなおす。
はい、やってみます。
1.Lightningアプリケーションビルダーで動的フォームを設定したLightningレコードページを開きます。
2.「レコードの詳細」のコンポーネントの右上、ごみ箱アイコンをクリックして、削除します。
3.「レコードの詳細」コンポーネントを、プレビューの詳細タブへドラッグします。
この時点で、プレビューでは追加した項目が反映されています。
見えにくいですが反映されています。
4.再度、動的フォームを設定します。元の動的フォームを活かしながら項目を追加したいので、
こちらの記事の設定方法2から同じように設定します。
【保存】をクリックして、元のレコードに戻ると、
項目が追加され、動的フォームも反映されています。
拡大してみます。
感想
さっと読むだけで終わってしまうことが多い説明書きですが、大事なことが書いてありました。
「ページレイアウト」を読み込む処理を行っている、ときちんと認識していれば、解決に時間を割くこともなかったかと思います。
β版なので、この仕様は正式リリースの際には変わるかもしれませんね。