画面フローとページコンポーネントの確認
学習の目的
この単元を完了すると、次のことができるようになります。
- 画面フローの設計に役立つ重要な決定を行う。
- 契約にリベート種別を適用する画面フローを設計する。
- リベートのパネルコンポーネントとタブコンポーネントを標準オブジェクトのページレイアウトに追加する。
インセンティブを表示する
Cindy は Salesforce フローなどのコード不要のツールを使用して、対象リベートを選択すると実行されるビジネスプロセスを作成することができます。Vance が契約で対象リベートを選択すると、Cindy が作成した画面フローがトリガーされます。Cindy はより複雑なシナリオの画面フローロジックを拡張するために API をトリガーすることもできます。今回は Flow Builder でフローを作成することにしました。
Cindy は次の要件を念頭に置いて画面フローを設計しました。
- 画面フローは、プログラムリベート種別パネルカードの [対象] タブから選択された複数のリベート種別を処理する必要がある。
-
[プログラムリベート種別を追加] をクリックすると、ユーザーは新しいリベートプログラムを作成するよう促される。ユーザーにプログラムの名前と支払頻度を入力し、それを確認するよう求める必要がある。
- 新しいリベートプログラムは、契約の取引先をメンバーとして作成され、選択したリベート種別にそのすべての属性が含まれる。
- 必要であれば、Cindy は契約が有効になるとすぐに関連付けられた新しいリベートプログラムも有効になるようにすることもできる。
フローの内容
Cindy はビジネス要件に従って画面フローを設計する必要がありました。ただし、フローに追加した特定の要素に関係なく、彼女が決めなければならない設定がいくつかありました。
- 2 つの入力変数を定義します。
- 彼女は対象リベート種別を保存する変数を次のように定義しました。
- データ型: レコード
- オブジェクト: プログラムリベート種別
- フロー外部での可用性: 入力で使用可能
-
[複数の値を許可 (コレクション)] チェックボックスをオンにする
- 彼女は対象契約レコードを保存する変数を次のように定義しました。
- データ型: レコード
- オブジェクト: 契約
- フロー外部での可用性: 入力で使用可能
-
[複数の値を許可 (コレクション)] チェックボックスをオフにする
- リベートプログラムを作成する方法を決定し、リベート種別を適用します。
- リベートプログラムを作成します。
- 契約の取引先は、選択したリベート種別を使用して既存のリベートプログラムに追加できる。報奨金がどのメンバーに対しても同じである場合、これが最善のオプションです。
- 契約の取引先は、選択したリベート種別のすべての属性をディープコピーする新しいリベートプログラムに追加できる。報奨金が取引先によって異なり、取引先ごとに交渉が行われる場合は、これが最善のオプションです。
- リベート種別をプログラムに関連付けます。
- 次のステップで説明するように参照レコードを作成して、選択したリベート種別を契約に直接適用します。
- 選択したリベート種別をコピーし、契約に適用します。新しいプログラムを作成する場合は、リベート種別と関連オブジェクトをコピーします。次に、新しくコピーしたリベート種別をコピーしたプログラムに追加します。
- リベート種別と契約参照を保存するプログラムリベート種別参照レコードを作成します。次の入力を指定します。
- 参照オブジェクトは、現在のオブジェクトである契約。
- プログラムリベート種別は、選択またはコピーしたリベート種別 ID。
- プログラムリベート種別ソースは、コピーされた標準リベートプログラムから選択した統合可リベート種別 ID。
- 契約の取引先をリベートプログラムの有効メンバーとして追加します。
- 必要に応じて、契約レコードにリベートプログラムを入力します。Cindy はリベートプログラム参照用のカスタム項目をすでに契約に作成してあります。これは契約とそのリベートプログラムとの関連付けを維持するのに役立ちます。
- 必要に応じて、契約と併せてリベートプログラムの承認を管理します。
Cindy は契約の画面フローに次のコンポーネントを追加しました。一部は必須ですが、それ以外はユースケースに特化したものです。システム管理者は画面フローに検証を追加して、ユーザーが選択したリベート種別を参照レコードに追加したときに失敗または成功のメッセージが表示されるようにすることもできます。
コンポーネント |
リソース種別 |
必須 |
目的 |
---|---|---|---|
契約のレコードを取得 |
[レコードを取得] 要素 |
はい |
契約の次の項目を選択し、値をまとめてレコード変数に保存する。
|
メンバーのレコードを取得 |
[レコードを取得] 要素 |
はい |
メンバーの次の項目を選択すると、すべての項目が自動的に保存される。レコードを次で絞り込む。
|
選択したリベート種別を取得 |
[レコードを取得] 要素 |
はい |
リベート種別の ID でレコードを絞り込む。ID はレコードコレクション変数 {!SelectedRebateTypes} を使用するループ要素を使用して取得できる。 |
メンバーのレコードを作成 |
[レコードを作成] 要素 |
いいえ |
画面フローで新しいリベートプログラムを作成できる場合は、この要素を使用して取引先 ID とリベートプログラム ID を抽出し、新しいメンバーレコードを作成する。 |
リベート種別のレコードを作成 |
[レコードを作成] 要素 |
いいえ |
画面フローでリベートプログラムを作成できる場合は、この要素を使用して選択した対象リベート種別をコピーして新しいリベートプログラムを作成する。 |
参照レコードを作成 |
[レコードを作成] 要素 |
はい |
次の入力を使用して、プログラムリベート種別参照レコードを作成する。
|
選択したリベート種別を追加 |
画面要素 |
はい |
この画面フローでは、ユーザーが選択したレコードに対象リベート種別を追加するときに、確認のポップアップがどのように表示されるか、そしてユーザーが何を確認するかを定義する。 |
リベートプログラムを取得 |
画面要素 |
いいえ |
ユーザーが新しいプログラムの属性を定義できるようにする、または既存のプログラムをコピーできるようにする場合、この要素でその画面がどのように表示されるかを定義する。 |
リベートプログラムは作成されていますか? |
決定要素 |
いいえ |
ユーザーが既存のリベートプログラムを選択すると、その値が渡される。 |
ユーザーの選択からプログラムを取得 |
決定要素 |
いいえ |
ユーザーがリベートプログラムを作成すると属性値が渡される。 |
メンバーは存在しますか? |
決定要素 |
はい |
契約の取引先がすでにリベートプログラムに登録されている場合、その情報がプログラムリベート種別パネルカードの [適用済み] タブに渡される。 |
リベートプログラムを設定 |
割り当て要素 |
いいえ |
決定要素のいずれにおいても、参照契約レコードを既存またはコピーしたリベートプログラムに関連付けるのにこの割り当てが役立つ。 |
プログラムを作成 |
サブフロー |
はい |
このサブフローは、既存のリベートプログラムをコピーするのか、新しいリベートプログラムを作成するのかに応じて、必要なすべての属性使用してプログラムレコードを作成する。 |
報奨金と検索条件を作成 |
サブフロー |
いいえ |
選択したリベート種別がリベートプログラムに追加されると、関連する報奨金と対象資格基準もコピーされる。 |
Cindy は設定のリストにある 2 番目の要件に完了のチェックを付けました。また、要求に応じて異なるロジックを使用して注文でも同様のフローを作成しました。
あと残っているのは、ユーザーがインセンティブを表示して適用できるようにするコンポーネントを契約と注文のページレイアウトに追加することです。
コンポーネントのドラッグアンドドロップ
Cindy が 2 つのコンポーネントを契約と注文のページレイアウトにどのように追加したかを見てみましょう。
- 対象オブジェクトレコードの詳細ページを開きます。Cindy は Meridian Partners の契約レコードを開きました。
-
[設定] をクリックして、[編集ページ] を選択します。
-
[プログラムリベート種別パネル] コンポーネントを、ページ上のコンポーネントを表示する場所にドラッグします。
- [フロー] 項目で値を選択します。Cindy は [Rebates for Contracts (契約のリベート)] を選択しました。
- [対象プログラムリベート種別変数] で値を選択します。この変数は、画面フローで定義したプログラムリベート種別オブジェクトのレコードコレクション変数にする必要があります。Cindy は [SelectedRebateTypes] を選択します。
- [レコード変数] の値を選択します。この変数は、画面フローで定義した対象オブジェクトのレコード変数にする必要があります。Cindy は [CurrentRecord] を選択します。
-
[プログラムリベート種別タブ] コンポーネントを、ページ上のコンポーネントを表示する場所にドラッグします。
- 作業を保存し、[有効化] をクリックします。
- 組織のデフォルトとして割り当てます。
- 次の詳細を使用して、注文ページレイアウトでステップ 1 ~ 9 を繰り返します。
オブジェクトページレイアウト
フロー
対象プログラムリベート種別変数
レコード変数
注文
Rebates on Orders (注文のリベート)
SelectedRebateTypes
CurrentRecord
これで最後の 3 つ目の設定が完了しました。
まとめ
ここまで多くのことを学んできました。まず最初に、セールスプロセスがつながっていないために Rayler Parts が抱えているビジネス上の課題を確認しました。
次に、セールスプロセス内でインセンティブがシームレスに統合されていれば、プログラムマネージャー、取引先マネージャー、業務マネージャーにどのようなメリットがあるかを確認しました。契約のコンテキスト内でインセンティブ条件を直接調整する方法を説明しました。注文時に分析用のリベート情報があり、パートナーがより高額な報奨金と支払を得られる方法を明確に把握することができました。
最後に、このプロセスの作成に使用された設定を調べました。セールスプロセスを強化するために、Cindy がこのエクスペリエンスをどのように作成したかを説明しました。
このモジュールでは Cindy、Vance、Rishi が辿った道を一緒に見てきました。次は皆さんが リベート管理で新しい道を切り開いてください。
リソース