Salesforce Dynamic Forms –完全なハウツーガイドとチュートリアル

公開: 2021-12-29

2019年、Dynamic Formsは、Admin&LightningKeynotesのUI拡張ロードマップの最高の機能の1つとしてDreamforceでリリースされました。

現在、動的フォームは、SalesforceSummer'20リリースの非GAプレビューのように利用できます。

これは、コンサルタントと管理者にレコードページをきめ細かく制御する力を与える最も重要な機能になるでしょう。 これで、ビジネスニーズに応じて、ページのフィールドとセクションを宣言的にカスタマイズできます。

この投稿では、Salesforce Dynamic Formsの機能、動作、セットアップなどについて説明します。

Salesforceダイナミックフォームとは何ですか?

適切なタイミングで正しい詳細を明らかにする直感的でユーザー中心のページレイアウトを作成する場合、動的フォームが使用されます。

時間の経過とともに、Lightningページの「詳細」セクションまたはページレイアウトがフィールドで過負荷になる可能性があります。 このようなフィールドは必須ですが、すべてのユーザーまたは常にではありません。

構成を多用する労力は、さまざまなページレイアウトと個別のプロファイルを作成するための最も近い解決策です。

動的フォームを使用すると、次のことができます。

  • 従来のページレイアウト([詳細]タブ)にフィールドを追加することなく、レイアウト上の任意の場所にフィールドを配置します。
  • 可視性ルールを利用して、選択した基準に従って表示および非表示になるフィールドとコンポーネントを作成します。
  • さまざまなページレイアウトを廃止します。
  • ページの読み込み時間を強化します。

Salesforce Dynamic Formsはいつ入手できますか?

  • Salesforce Dynamic Formsは、カスタムオブジェクトのLightningレコードページから取得できます。
  • 「レコードの詳細」または「ハイライトパネル」コンポーネントを選択する必要があります。
  • 次に、「今すぐアップグレード」のオプションが表示されます。 最初から開始するか、現在のページを移行するかを選択できます。

Salesforce Dynamic Formsはどのように機能しますか?

まったく新しい標準のLightningコンポーネントが、「フィールドセクション」と呼ばれるダイナミックフォームとともに提供されます。 そのコンポーネントをページに追加し、セクションで追加する必要のあるフィールドを選択し、以下を定義するフィルターを作成する必要があります。

  • セクションを表示するとき、
  • それを表示するフォームファクター、および
  • 誰がそれを表示するか。

Salesforce Dynamic Formsを設定するにはどうすればよいですか?

動的フォームを設定する手順を確認しましょう。

1.ページを作成または移行します

ページを作成または移行する
  • カスタムオブジェクト用にアップグレードするLightningページを開く必要があります。 次に、「ハイライトパネル」または「レコード詳細」コンポーネントを選択し、「今すぐアップグレード」を選択します。
  • また、カスタムオブジェクトにジャンプし、[Lightningレコードページ]を選択してから[新規]を選択するだけで、新しいページを作成できます。
  • 新しいLightningレコードページを作成または移行すると、Lightningレコードページにフィールドを直接追加できる「フィールドセクション」コンポーネントを追加できるオプションが表示されます。
フィールドを追加する前のフィールドコンポーネント!
フィールドを追加する前に、まずフィールドコンポーネントを作成する必要があります。

2.コンポーネントにフィールドを追加します

ページに「フィールドセクション」コンポーネントを追加したら、次に個々のフィールドを追加できます。 タブ以外の多くの場所に「フィールドセクション」を追加できます。

コンポーネントにフィールドを追加する

まず、レコードを表示するすべての人に表示されるフィールドをいくつか追加しましょう。

  • すべてのフィールドセクションに名前を付けることを忘れないでください。
  • 「必須」や「読み取り専用」など、選択したフィールドでUIの動作を選択できます。
「読み取り専用」や「必須」などのUIの動作。

3.フィールドとコンポーネントを条件付きで表示する

フィールドとすべてのフィールドコンポーネントの両方を表示できます。

フィールドとコンポーネントを条件付きで表示する

フィールドセクションとフィールドの可視性の動作は異なります。 ただし、どちらも動的であり、ユーザーが変更を加えると、フィールドは非常に動的に見えます。 これは、ユーザーがレコードを変更している間、フィールドが表示または非表示になる力を保持していることを示しています。

旅行を希望する距離

逆に、フィールドセクションは保存時に編集されるだけなので、ユーザーがレコードを保存すると、新しいセクションが表示または非表示になります。

4.ページのパフォーマンスを計画する

アコーディオンまたはタブを選択すると、それらが選出されます。 したがって、開始ページに複数の「フィールドセクション」コンポーネントを追加しても、パフォーマンスと負荷を向上させるためにアコーディオンまたはタブを使用できます。

5.モバイルコンポーネントを追加します

モバイルユーザーに「詳細」フィールドをチェックしてもらいたい場合は、作成するページに「詳細の記録-モバイル」というコンポーネントを追加する必要があります。 これは、新しいコンポーネント「フィールドセクション」がモバイルに存在しないためです。 移行されたページには、このコンポーネントが自動的に含まれます。

モバイルコンポーネントを追加する

ダイナミックフォームの使用を開始するには、次の2つの方法があります。

  • カスタムオブジェクトレコードページを作成し、次に、フィールドコンポーネントとフィールドコンポーネントをそのページにドラッグします。
  • または、現在のレコードページを開き、移行ウィザードを使用してそのレコードの詳細を移行します。

Salesforceで動的フォームを使用するためのクイックガイド

Salesforceでダイナミックフォームを開始する方法を見てみましょう。 このガイドはすべてをカバーします。

  • 動的フォームを有効にする
  • フィールドセクションコンポーネントをLightningレコードページに追加
  • コンポーネントの可視性を設定するためのフィルターを作成する
  • 動的フォームのテスト

1.動的フォームを有効にする

セットアップから、レコードを入力し、クイック検索ボックスで「レコードページ設定」を選択する必要があります。

動的フォームを有効にする方法は?
設定

[動的フォーム]セクションで、任意のレコードページビューを選択する必要があります。次に、[保存]ボタンをタップします。

記録ページの設定
記録ページの設定

2.動的フォームの使用方法は?

カスタマイズされたオブジェクトの新しいレコードページを作成して、それを使用して現在のLightningページに移行できます。

動的フォームの使用方法は?
カスタムオブジェクトポリシーレコードページ

カスタムオブジェクトポリシーレコードページ

ここでは、LightningAppBuilderの新機能を確認できます。

[フィールド]タブには、コンポーネントパレットの[フィールドセクション]および[フィールドコンポーネント]と呼ばれる新しい標準のLightningコンポーネントがあります。 ページに「セクション」フィールドを追加し、セクションで追加するフィールドを選択できます。

Lightning Builder
Lightning Builder

Dynamics Forms移行ウィザードをリリースする場合は、[フィールドとセクションのドラッグ]を使用し、[レコードの詳細]プロパティから[今すぐアップグレード]をタップするだけです。

Lightningアプリビルダー
Lightningアプリビルダー

その後、動的フォーム移行ウィザードが表示されます。 次に、「次へ」をタップする必要があります。

動的フォーム移行ウィザード
動的フォーム移行ウィザード

次に、動的フォームのソースのようなページレイアウトを選択し、ページレイアウトを選択し、[完了]をタップして、動的フォームの移行ウィザードを実行できます。

ページレイアウトを動的フォームソースとして設定する
ページレイアウトを動的フォームソースとして設定する

したがって、動的フォームの移行が成功すると、新しいフィールドセクションとフィールドコンポーネントがデスクトップに移動し、モバイルユーザーが「詳細」フィールドを表示できるように「レコードの詳細-モバイル」コンポーネントがページに追加されます。 。

動的フォームへの移行後の詳細コンポーネントの記録
動的フォームへの移行後の詳細コンポーネントの記録

これを情報セクションに投稿してください。 「フィールドセクション」をドラッグできます。 また、ラベルを「システム情報」に変更して、1つまたは2つの列スタイルを選択することもできます。

3.フィールドセクションコンポーネントをLightningレコードページに追加します

:フィールドセクションコンポーネントの追加
フィールドセクションコンポーネントの追加

ポリシーオブジェクトに属するフィールドを「必須」または「読み取り専用」に変換することで、UIの動作を変更できます。

フィールドを必須または読み取り専用フィールドに設定する
フィールドを必須または読み取り専用フィールドに設定する

また、必要に応じて、フィールドにフィルターを追加したり、高度なフィルターを追加したりできます。

4.コンポーネントの可視性を設定するためのフィルターを作成します

フィールドへのフィルターの追加
フィールドへのフィルターの追加

次に、「アクティブ化」と「保存」をタップします。 カスタムオブジェクトのページレイアウトがアクティブになります。

4.動的フォームをテストします

まず、営業担当者としてログインします。 カスタムオブジェクトへのナビゲーションが可能になり、レコードをタップします。 次に、設定に従って、標準の「レコード詳細」コンポーネントを確認できます。

先に、注文の発送に関連するカスタマーケースに取り組むサポート担当者としてログインします。 そこで、レコードをタップします。

ご存知のように、ダイナミックフォームはゲームを変える機能です。 そのため、プロファイル、フィールド値、またはその他のカスタムフィルターに従ってページをすばやくカスタマイズできます。

動的フォームの利点は何ですか?

それでは、動的フォームの利点を確認しましょう。

  • ページレイアウトとLightningページを別々に割り当てますが、Lightningページには単一の割り当てモデルを使用します。
  • レイアウト全体と比較して、可視性ルールをコンポーネントに変換することにより、ページレイアウトを簡素化または縮小します。
  • ページレイアウトエディタを使用せずに、LightningAppBuilderでページのセクションとフィールドを処理できます。
  • Dynamic Formsは、エンドユーザーになるために必要なフィールドを確認できる魅力的なビジュアルインターフェイスを提供します。
  • 動的フォームは、それに応じてセクションとフィールドをタブまたはコンポーネントに追加して、Webサイトの読み込み時間を改善します。
  • ページレイアウトからの迅速なアップグレード:セクションとフィールドを好きな場所に配置します。
  • コンポーネントの可視性ルールを使用して、必要なページレイアウトの数を減らします。
  • ページレイアウトとLightningページを割り当てるデュアルモードに関係なく、Lightningページの単一の割り当てモデルのメリットを享受できます。

Salesforceダイナミックフォームの制限

それでは、動的フォームの制約を確認しましょう。

  • 空白はサポートされておらず、従来のページレイアウトは常に関連リストを制御します。
  • カスタムページテンプレートと固定領域を含むレコードページではサポートされていません。
  • 新しいフィールドセクションとフィールドコンポーネントはモバイルデバイスと互換性がないため、新しいレコード詳細–モバイルコンポーネントを作成する必要があります。
  • フィールドセクションコンポーネントには、最大100個のフィールド/列を追加できます。
  • 現在、動的フォームをサポートしているのはカスタムオブジェクトだけです。
  • DynamicFormsはInternetExplorer11では動作しません。DynamicFormsを使用するページを表示しようとするIE11のユーザーは、エラーのあるページを表示できます。
  • 空白はサポートされていません。
  • ページをダイナミックフォームに移行するときは、フィールドとフィールドを保持するセクションだけが囲まれます。 空白やカスタムリンクなどの他の要素は、ページレイアウトに含まれていません。
  • 2つの列を1つに変換するセクションを編集すると、新しい列は100個のフィールドを保持できます。 1つの列に切り替えているときに、2つの列にそれ以上ある場合は、最初の100フィールドが1つの列に移動し、残りのフィールドが削除されます。 変換後、気が変わった場合は、すぐに元に戻すボタン、つまりLightningAppBuilderの[元に戻す]ボタンをクリックできます。
  • レコードページでは、ダイナミックフォームはカスタムオブジェクト専用にサポートされています。
  • 動的フォームは、カスタムおよび固定領域テンプレートに基づくページではうまく機能しません。
  • フィールドセクションコンポーネントには、最大100個のフィールド/列を追加できます。
  • 移行するために選択したページレイアウトに、処理するセクションとフィールドがさらに含まれている場合は、すべてのリージョンで最大100セクション、すべての列で最初の100フィールドを移行できます。 残りのフィールドは、必要なフィールドであっても削除されます。 後で、ドロップしたアイテムを手動で追加できます。 切り替えた後、気が変わった場合は、元に戻すボタン、つまりLightning App Builderの[元に戻す]ボタンをタップして、変更をロールバックできます。
  • ユーザーは、ウィンドウの作成、完全編集、または複製ではなく、インライン編集または表示モードでのみフィールドセクションを折りたたんだり展開したりできます。

動的フォームの既知の問題

  • パスコンポーネントから[すべての依存関係の表示]をタップすると、表示する依存関係は、ページの[ダイナミクスフォーム]フィールドからではなく、レコードのページレイアウトに表示されます。
  • CurrencyISOCodeフィールドは、実行時に必要に応じて表示されません。 ただし、それでも必要に応じて動作します。
  • 動的フォームベースのページでは、同じルックアップフィールドの多くのインスタンスにより、UIAPIでサポートされていないオブジェクトをルックアップするページエラーが発生します。
  • 非UIの関連リストから[新規]をタップすると、関連リストのようなフォーム対応オブジェクトを保持するAPIサポートオブジェクト。 親ルックアップフィールドは、[新規]ダイアログには表示されません。 それでも、新しいレコードを保存できます。
  • Macro Builderは、動的フォームフィールドコンポーネントをサポートしていません。 マクロビルダーで、Dynamic Forms-enablesレコードを開くと、フィールドコンポーネントは非表示のままになります。
  • 密度設定は、フィールドセクションのLightning App Builderプレビューでは賞賛されません。また、Lightning App Builderプレビューでは、フィールドセクションの快適設定が常に表示されます。 実行時に、適切な密度設定が適用されます。
  • ルックアップから、レコードを作成する場合、ウィンドウに表示されるフィールドは、ページの動的フォームフィールドからのものではありません。 代わりに、レコードの詳細から取得されます。
    パレットのフィールドにカーソルを合わせると、表示されているデータ型がパレットで不正確になります。
  • 2列のフィールドセクションコンポーネントでは、フィールドが水平方向に正しく整列しません。
  • レコードの印刷可能なビューは、動的フォームベースのページのフィールドに基づいていません。 むしろ、デフォルトページのフィールドに依存します。

動的フォームを使用してレコードの詳細を分割する方法

ページ上にあるフィールドが多いほど、レコード詳細コンポーネントはカスタマイズできないフィールドのモノリシックブロックになります。

動的フォームを使用すると、個々のコンポーネントのようなページレイアウトからLightningAppBuilderにセクションとフィールドを移行できます。

次に、ページ上の残りのコンポーネントのようにそれらを構成し、そのページのユーザーに必要に応じてのみセクションとフィールドを提供することが許可されます。

ダイナミックフォームは、ユーザーがレコードページのフィールドを表示する方法に影響を与えるほか、タップしてレコードを作成、編集、またはコピーしたときに表示される内容に影響を与えます。

動的フォームベースのページでは、編集、作成、または複製時にユーザーに表示されるフィールドは、ページレイアウトからのものではありません。 それらはページのフィールドから来ます。

動的フォームでレコードページを移行する方法

動的フォームでは、Lightning App Builderの個々のコンポーネントのように、現在のレコードページからセクションとフィールドを移行できます。

次に、ページの残りのコンポーネントと同様にこれらのレコードページを構成し、必要なセクションとフィールドのみをユーザーに提供できます。 動的フォームは、カスタムオブジェクト専用にサポートされています。

動的フォームでレコードページを移行するための手順:

1.次のようにLightningExperienceの現在のカスタムオブジェクトレコードページを開きます。

a。 初めて[ページの編集]を選択すると、Salesforceは、LightningAppBuilderで編集した標準ページのコピーを作成します。 カスタマイズされたページが存在し、アクティブになっている場合は、[ページの編集]を選択すると、そのページが開いて編集できます。
b。 オブジェクトマネージャのセットアップで、カスタムオブジェクトを開きます。 次に、Lightningレコードページを選択します。

c。 セットアップのLightningAppBuilderリストページから、カスタムオブジェクトレコードページを開きます

2.レコード詳細コンポーネントをクリックします。
3.コンポーネントの詳細ペインで[今すぐアップグレード]をクリックして、動的フォームの移行ウィザードを開始します。
4.ウィザードを実行し、ページに移行するために必要なフィールドを保持するページレイアウトを選択します。

移行プロセスの一環として、レコード詳細コンポーネントがページから消去され、どこにでも配置および構成できるセクションとフィールドに置き換えられます。

レコードページが電話のフォームファクタをサポートしている場合、移行の一環として「レコードの詳細-モバイル」コンポーネントがページに追加されます。 この新しいコンポーネントは特徴的であり、ユーザーがモバイルデバイスでページを表示するときに、標準のレコード詳細フィールドとセクションを表示します。

動的フォームの必須フィールドと読み取り専用フィールドの方法

Dynamic FormsベースのLightningページで普遍的に必要なフィールドを使用して実行すると、それらのフィールドはステータスを保持します。 ただし、他のフィールドを読み取り専用にするか、作業中のページに対してのみ必須にすることができます。

ダイナミックフォームとモバイル

フィールドコンポーネントとその中のダイナミックフォームフィールドセクションコンポーネントはデスクトップのみです。 それでも、モバイルユーザーはカバーされています。

レコードの詳細–モバイルコンポーネントは、モバイルユーザーにダイナミックフォーム対応ページでレコードの詳細を取得するための経路を提供します。

動的フォームのヒントと考慮事項

ダイナミックフォームを使用するときは、以下のヒントと考慮事項に留意する必要があります。

一般的な考慮事項

  • [レコードタイプ]フィールドと[所有者]フィールドは、動的フォームでの特別な処理に追いつきます。 これらは読み取り専用に設定されており、プロパティペインで編集することはできません。
  • App Builderの対応物と同様に、アコーディオンコンポーネントのプログラムバージョンは同じ機能を提供しません。 たとえば、lightningおよびlightning-accordionコンポーネントは、現在、遅延読み込みをサポートしていません。
  • 可視性ルールで参照される可視性ルールを保持する動的フォーム対応ページに依存するレコードを複製すると、それらのフィールドがすでにページ上にある場合でも、すべてのフィールドが複製されたレコードに追加されます。
  • ページ上で、動的フォームを利用するページテンプレートを切り替えると、使用可能なテンプレートのリストには、動的フォームが有効なページに対応しているテンプレートのみが含まれます。
  • 同じフィールドに属する1つ以上のインスタンスをLightningページに追加できます。 それでも、ページ上のすべてのインスタンスは同じデータを表示します。
  • ページをデザインしている間、フィールドセクションを折りたたんだり展開したりしても、実行時にユーザーがセクションを折りたたんだり展開したりしても効果はありません。
  • 空白のカスタムオブジェクト名で新しいレコードを保存すると、APIはレコードIDのカスタムオブジェクト名フィールドを占有します。 したがって、[名前]フィールドが必須としてマークされ、ページ上にあることを確認する必要があります。

チップ

  • フィールドセクションコンポーネントはデスクトップ専用であり、電話でページを表示したときに表示されないため、モバイル専用のLightningページに配置しないでください。
  • 通常、同じページにフィールドセクションとレコード詳細コンポーネントの両方を配置しないことをお勧めします。 そうした場合、ユーザーはページに問題が発生する可能性があります。両方がインライン編集中およびページ上にある場合、バーのオーバーラップ、複数の保存およびキャンセルが発生します。
  • 可視性ルールは、フィールドおよびフィールドセクションコンポーネントでは正しく機能しません。
  • ユーザーがレコードを編集、作成、または複製すると、表示されるフィールドはレコードの詳細からではなく、フィールドセクションからのものになります。
  • レコードの詳細は左右上下のタブ順序ですが、フィールドセクションは上下左右のタブ順序であるため、混乱が生じる可能性があります。 その結果、フィールドセクション内で、フィールドが水平方向に整列しない場合があります。 それでも、レコード詳細フィールドは水平方向に並んでいます。
  • 電話とデスクトップの両方で1つのLightningページを利用できます。 同じページに、レコードの詳細–モバイルコンポーネントとフィールドセクションコンポーネントを追加します。 デスクトップユーザーはフィールドセクションコンポーネントを表示しますが、モバイルユーザーはレコード詳細–モバイルコンポーネントを表示します。

可視性ルールと動的フォーム

  • ページ上で、可視性ルールのためにフィールドが非表示になっている場合、およびユーザーがフィールドの値を編集した場合、新しい値または変更された値は保存されません。
  • 可視性ルールは、フィールドで行うのと同じように、フィールドセクションコンポーネントで一意に動作します。 フィールドでは、可視性ルールが動的に評価されます。 レコードの編集中、可視性ルールが評価されると、ユーザーの変更が表示および非表示になります。
  • 可視性ルールは動的ではなく、フィールドセクションでのユーザーの編集に反応しません。 フィールドセクションの可視性ルールは、レコードが保存された直後に評価されます。
  • 依存する選択リストフィールドは、可視性ルールに注意を払いません。 可視性ルールが割り当てられている場合でも、依存する選択リストが[すべての依存関係の表示]リストに表示されます。

結論

Salesforce Dynamic Forms、その利点、制限、セットアップの詳細、作業などに関連するほぼすべての詳細が含まれています。

Salesforce Dynamic Formsは、組織の生産性を向上させながら、エンドユーザーに独自のエクスペリエンスを提供します。 さらに、このようなフォームは、複雑なプログラミングやコーディングを必要とせずにすばやくカスタマイズできます。 今のところ、このようなフォームはカスタムオブジェクトからアクセスできます。 間もなく、Salesforceはこの機能を通常のオブジェクトでも利用できるようにします。

このガイドが非常に有益であり、質問に役立つことを願っています。 それでも、Salesforce開発で問題が発生した場合は、私たちと連絡を取ることができます。 より良いソリューションをお手伝いします。

参照

  • Cloudanalogy
  • Salesforceben