Salesforce

Salesforceで動的フォームでページレイアウトを作る【制限・注意点も紹介】

Winter'21でSalesforceのページレイアウトに動的フォームという機能がリリースされた。

これまでのページレイアウトでは表現力が足りてねぇなと思っていた。

動的フォームがリリースされ、ヘルプを見る感じ、イイ感じな気がする!ということで使ってみた。確かに「やれることは増えたな」と思う一方で、細かいところで「なんでや」と思う点がボロボロと・・・。

個人的に気になったところを制限、注意点としてまとめておこうかと思う。きっと誰かの設計の助けになるはず。

前提:Winter'21

 

Salesforceで動的フォームでページレイアウトを作る

Salesforceで動的フォームを作る手順をずらっと並べようかと思ったのだが、思っていたのだが、思ってしまったのだが、ヘルプに基本的な事書いてあるから、そっちに委ねよう。

公式ヘルプの参考:動的フォームへのレコードページの移行 

従来のレコード詳細ページを動的フォームに変更したときの具体例を示そう。

👇が動的フォームを適用する前の詳細タブの画面。

Salesforceで動的フォームでページレイアウトを作る【制限・注意点も紹介】

 

👇が動的フォームを適用した後の詳細タブの画面。

Salesforceで動的フォームでページレイアウトを作る【制限・注意点も紹介】

 

通常のレコード詳細のページレイアウトで言うところの、「情報」セクションの部分が「項目」の所に配置され、それ以外の部分が「追加項目」の部分に配置されているようだ。ただ、セクションBを見ると分かる通り、空白部が上詰めされている。

 

Salesforceの動的フォームでできるようになったこと

Salesforceの動的フォームを使うことで、ページレイアウト内の配置の自由度が上がった。それによって、かなり不満に思っていたところが改善されていた。大きくは2つあるので紹介しよう。

 

セクション間にコンポーネントを追加できる

これこそ、動的フォームを使う醍醐味なのかもしれないが、セクション間に別のコンポーネントを追加できるようになった。これまでは、「レコード詳細」として1枚のページレイアウトを、ドン、と配置するしかなかったが、項目のセクションの間に入れられるようになったので、説明分を入れることができるようになった。具体的に示すと👇みたいな感じ。

Salesforceで動的フォームでページレイアウトを作る【制限・注意点も紹介】

 

編集中に表示/非表示がリアルタイムで反映される

なんと、編集中に、項目の表示/非表示ができるようになっている。個人的にはかなり嬉しい。条件によって、入力できる項目を表示/非表示できるようになるので、ミスを減らせる入力ができるようになった。

具体例を示そう。

チェックボックス項目「カスタム項目D」がONになった時にのみ、テキスト項目「カスタム項目E」が入力できるようにしたいとき。

これが

Salesforceで動的フォームでページレイアウトを作る【制限・注意点も紹介】

↓ こんな感じになる。

Salesforceで動的フォームでページレイアウトを作る【制限・注意点も紹介】

 

設定としては、項目に対して、表示条件を指定するだけでよいので、お手軽ですな。

Salesforceで動的フォームでページレイアウトを作る【制限・注意点も紹介】

 

 

Salesforceの動的フォームの制限・注意事項

Salesforceの動的フォームは良いことばかりじゃない。Winter'21でリリースされたばかりだからか、イマイチな部分も多くある。いかに、私が感じた、イマチチな部分を紹介しよう。レイアウトを設計するときには注意されたし。

 

モバイルではつかない

モバイルで表示すると次のような表示になる。動的フォームで定義した「項目セクション」部分は表示されていない。うーん。まあ、モバイルで使えないからと言って、困ることはそんなにないか?と思わなくもないけど、不十分な感じがしなくもない。

参考サイト:動的フォームとモバイル

 

コミュニティでは使えない

動的フォームはあくまで、Lightningプラットフォームでだけ使えるっぽい。ポータルサイトでオブジェクト詳細ページを表示して見たけど、反映されてないね。有効化の操作でも、コミュニティに対してする有効化って感じじゃなかったから、使えないのだろう。

実際にコミュニティの詳細ページを見ると👇になる。

Salesforceで動的フォームでページレイアウトを作る【制限・注意点も紹介】

 

標準オブジェクトでは使えない

動的フォームは標準オブジェクトでは使えないんだと。なんでや!?

動的フォームは、カスタムオブジェクトのレコードページでのみサポートされます。

引用元:動的フォームでレコードの詳細を分割

 

空白が使えない

一番最初に示してある具体例で、上詰めになっている、と示したのを覚えているだろうか。じつは空白が使えなくなっているのだ。Lightningアプリケーションビルダーにも、空白のコンポーネントがない。

Salesforceで動的フォームでページレイアウトを作る【制限・注意点も紹介】

これは個人的には割と致命的。なんで使え無くなっとんねん。ページレイアウトを作るのには、必須の機能やろ。

 

「印刷用に表示」はレコード詳細が使われる

動的フォームで最高のレイアウトにしたとしても、「印刷用に表示」で印刷できるのはレコード詳細の表示である。せっかくレイアウトを整理して、操作性や可読性を上げた画面を作っても、印刷するのには使えない。ペーパーレスが進んでいる世の中だから、ギリ我慢できなくはないかな。

 

セクションを閉じた状態が保存されない

通常のレコード詳細のセクションだと、セクションを閉じると、別ページに遷移した場合などに、もう一度表示すると閉じた状態が保存されたまま表示できる。

こういうの👇が保存されない。

Salesforceで動的フォームでページレイアウトを作る【制限・注意点も紹介】

操作性という観点では、地味に良い仕様だと思っていたのだが、動的フォームの項目セクションでは閉じた状態が保存されない。機能的にダウングレードやん。

 

タブオーダーが違う

通常のレコード詳細のタブオーダーは横向き固定なんだが、動的フォームだと項目セクション内で縦方向固定だったりする。番号を付けると、👇の順番だ。

Salesforceで動的フォームでページレイアウトを作る【制限・注意点も紹介】

そもそも、レコード詳細のタブオーダーはLightninプラットフォームだと縦向きに設定しても横向きにしかならない。これ、不具合なんじゃねぇの?と思っていたが、まあ、それは良いとしよう。が、今度は縦方向に固定になっている。仕様は統一してほしいものだ。

 

詳細ページと一緒に使うとどうなるか?

レアなパターンで言うと、動的フォームの「項目セクション」とレコード詳細を一緒にしたときに、片方を編集モードにすると、もう片方は編集モードにならない。

下の緑の部分が「項目セクション」、青の部分が「レコード詳細」にしていて、「項目セクション」の鉛筆マークをクリックして編集モードにしたときの図だ。

Salesforceで動的フォームでページレイアウトを作る【制限・注意点も紹介】

「項目セクション」にある項目は変更できるが、「レコード詳細」にある項目は変更できなくなっている。

シチュエーションとしては、それほど多くないパターンだろうが、これはこれでイマイチスペックだなぁ、と思う。

 

まとめ:Salesforceで動的フォームの今後に期待

Salesforceの動的フォームはWinter'21でリリースされたばかりの機能だから、今後アップデートが入る機能だと思われる。本記事でまとめた内容が改善されるか、されないかはSalesforce次第だが、ユーザーにとっても、開発者にとっても良い機能にしてもらいたい。

 

 

-Salesforce