Salesforce のリストビューや関連リスト上の新規ボタンがおかしい?動的フォーム使用時の標準新規ボタンの挙動など
※当サイトには広告やプロモーションが含まれています。
「Salesforce (セールスフォース)のリストビューや関連リストにある新規ボタンを押したときに表示される項目やレイアウトが今までと違って、何かおかしくなってしまいました。」
「動的フォームを使った場合の新規ボタンの挙動がわかりません。」
「動的フォームを使用して、新規ボタンに特定の項目のみ表示させることは可能でしょうか?」
最近、Salesforce(セールスフォース)を利用されている企業のシステム管理者様から上記のようなご相談やご質問をいただくことが増えています。
詳しくお話を伺ったり、設定状況を確認させていただくと、動的フォームの機能を標準新規ボタンへの影響などをあまり理解されていない状態で(時に意図せず)使用してされていることが原因となっている場合が多くございます。
というわけで、こちらのページで Salesforce のオブジェクトで動的フォームを使用した場合のリストビューや関連リスト、参照項目上の[新規]ボタンの挙動などについて記載させていただきます。
こちらのページは記載日時点での情報を基に記載させていただいておりますが、サービスの今後のリリース(バージョンアップ)により、実際のご利用環境と記載内容に差異が生じる場合がございます。
また説明や検証には Developer Edition または Enterprise Edition を使用しており、特に記載のない限り Enterprise Edition で Lightning Experience 環境をご利用されている場合を想定した内容となっています。
動的フォームとは
まず始めに動的フォームについて簡単に記載させていただきます。
Salesforce の動的フォームとは、オブジェクトの Lightnigレコードページ(Lightning アプリケーションビルダー)上でセクションや項目を配置したり、条件を設定して表示・非表示を切り替えたりすることができるようになる機能です。
上図では、ひと通りセクションと項目を配置し、「特価」という項目に別の項目「販売方式」の値が”年課金”に等しい場合のみ表示させるという項目の表示条件を設定しています。
動的フォームに関しましては、以下のページで詳しく取り上げています。
動的フォーム使用時の標準新規ボタンの挙動
さて、ここから当ページの主なテーマである動的フォームを使用した場合の、リストビューや関連リスト、参照項目にある標準の[新規]ボタンの挙動はどうなるかという点について説明させていただきます。
結論といたしましては、動的フォームを使用していない場合はオブジェクトの「ページレイアウト」から取得されていた[新規]ボタンのレイアウトが、Lightningレコードページ上に「項目セクション」を配置した時点で Lightning レコードページ上に配置された動的フォームのセクションと項目が取得されるようになります。
■ 動的フォームを使用していない場合
↓
動的フォームを使用していない場合の新規作成画面
■ 項目セクションのみ配置した場合
↓
項目セクションのみ設置した場合の新規作成画面
項目セクションを設置しただけの状態で、新規作成画面は上図のようになります。
項目は何も表示されていません。
たしかに意図せず項目セクションを設置してしまって、急に新規作成画面がこの状況になると戸惑ってしまうかもしれないですね。
新規作成画面の項目を「ページレイアウト」から取得するように戻したい場合は、Lightning レコードページ からすべての「項目セクション」を外します。
■ 動的フォームの項目セクションと項目を配置した場合
↓
動的フォームの項目セクションと項目を配置した場合の新規作成画面
表示条件の設定がない場合、Lightning レコードページ上に配置した項目セクションとセクション内の項目が新規作成画面にレイアウトされます。
(参照項目からの新規作成に関しては、記載日時点で以下の内容が公式HELPで既知の問題として取り上げられています。)
参照項目からレコードを作成すると、オブジェクトが LWC に対応している場合にのみ、動的フォーム項目が含まれるウィンドウが開きます。
動的フォームの参照からの作成に関する既知の問題 https://help.salesforce.com/s/articleView?id=sf.dynamic_forms_known_issues.htm&type=5
動的フォームの表示条件を利用して、レコード新規作成時に必要な項目だけ表示させることは可能か?
「動的フォームの項目の表示を設定できる機能を利用して、レコード新規作成時に表示させる項目を必要な項目のみとすることも可能なのか?」という点につきましては、ページ記載日に、こちらで試した際には以下のような設定をすることで項目の表示を制御することは可能でした。
■ 設定内容と結果
新規作成画面に表示させたいセクションと非表示としたいセクションを分け、非表示にしたいセクションに対して「NAME項目(例では製品名)が空文字と等しくない」と表示条件を設定。
項目に設定した場合、新規作成時の画面でNAME項目に入力した時点でその項目は表示条件を満たし表示されるようになりますが、セクションは新規作成画面上では表示条件を満たすようになっても表示されませんでした。
↓
↓
「製品名」に入力した時点で「定価」項目は表示されますが、同じ表示条件を設定したセクションは非表示のままとなっています。
↓
新規保存後の画面では、新規作成画面では非表示であったセクションも表示されています。
結果として新規作成時には限られた項目のみ表示させ、保存した後の画面では、他の項目も表示させるということができています。
新規作成時の画面で動的フォームを使い一部の項目を入力させ、後は「ページレイアウト」から取得される「詳細」コンポーネントを利用するという方法も考えられそうですが、以下の公式HELP内で「同じページに [レコード詳細] コンポーネントと項目セクションの両方を追加しないことをお勧めします。」との記載がございましたので、基本的には従っておくのがよいと思われます。
また、カスタムオブジェクトで動的フォームを使うとNAME項目を入力せずに保存することができ、その際はレコードIDがNAME項目に入るという仕様もございますが、この点に関しましても必須項目としてページ上に配置することが推奨されています。詳しくは以下の公式HELPに記載されていますので、ご確認ください。
まとめ
こちらのページでは、Salesforce (セールスフォース)の 動的フォームを使用した場合の、リストビューや関連リストなどにある標準の[新規]ボタンの挙動などについて記載させていただきました。
ポイントとしましては、動的フォームを使用していない場合はオブジェクトの「ページレイアウト」から取得されていた[新規]ボタンのレイアウトが、Lightningレコードページ上に「項目セクション」を配置した時点で Lightning レコードページ上に配置された動的フォームのセクションと項目が取得されるようになるということです。
動的フォームの利用を開始したり、意図せず項目セクションや項目を設置してしまった場合などに[新規]ボタンを押したときの様子が変わっても、慌てずに対処いただけましたら幸いです。
動的フォームの活用や設定についてご興味ございましたら、以下のページもチェックしてみてください。
こちらのページはここまでとなります。ご覧いただきありがとうございました。