Salesforce フロー 選択リストのデフォルト値


SFDCの画面フロー:選択リストのデフォルト値を設定する

【使用方法】フロー内の選択リストで、画面から取得した値をデフォルト値に設定したい時に使用。

※2019年11月現在、画面フローにおいて、「選択リスト型」項目については、画面から取得した値をデフォルト値に設定できません。
また、選択リスト型ではなくラジオボタンでの選択式にしないと、必須項目になってしまったり、少し不可解な部分がありますね。。今後バージョンアップにて改善があれば更新します。

※2021年6月現在、Summer21バージョンアップでdefaultValue 項目を選択肢リソースに使用できるようになりました。
詳しくはリリースノートや開発者ガイドのご参照を!
https://help.salesforce.com/articleView?id=release-notes.rn_api_default_flow_screen_components.htm&type=5&release=232

▼今回の例▼
旅行情報を管理するアプリケーションを簡単に作成しました。
ここで、「宿泊情報」セクションを、ボタンのアクションから画面フローで入力していきます。
※項目「部屋タイプ」が選択リストです。

①.オブジェクトに、現在の選択値を取得する数式項目を作成します。

②.画面フローを作成していきます。まず、レコードの値を取得します。

③.リソースに、①の値を格納する変数(数式)を作成します。

If文において、選択肢が未選択(null)のとき、デフォルト値を「シングル」にしておきます。

④.リソースに、選択肢を作成します。

★現在の選択値を選択肢とする。

⑤. リソースに、レコード選択肢セットを作成します。

★現在の選択値以外の選択値を選択肢とする。
※EntityParticleIdの値は、<オブジェクトAPI名>.<選択リスト項目ID>

⑥. 画面コンポーネントを作成します。

選択リストの項目は、ラジオボタンで実装します。(選択リスト型だと、必須になってしまうため注意)
デフォルト値に、④で作成した、「現在の選択値」をセットします。

⑦. レコード更新を行えば完成!

オブジェクトにて、アクションボタンを作成して、ページレイアウトにボタンを配置します。

▼▼実際に動きを確認▼▼

  1. 新規登録の場合

    1-1.[宿泊情報]ボタンを押下します。

    1-2. 入力し、[次へ]ボタンを押下します。

    1-3. 登録できました。

  2. 更新の場合

    2-1. [宿泊情報]ボタンを押下します。

    2-2. 内容を編集します。

    2-3. 更新完了です。

【memo】

以上、選択リストを動的に作成する方法でした。
重要な点を簡潔にまとめると、1つの選択リストに対して、画面フローのリソースでは選択肢を2種類作成します。
・現在選択している値
・現在選択している値以外
これら2つを選択肢とする選択リスト項目を設置し、
デフォルト値に、「現在選択している値」をセットします。



この記事は、同じ壁にぶち当たった人は理解しやすいかと思います。(笑)
分かりにくいのでそのうち更新します。とりあえず忘れないうちにメモ。
とっても大変だった~(´;ω;`)



以上