2024年10月リリースのWinter25では画面フロー要素内で使える繰り返しコンポーネントに大きなアップデートが入ります。
データテーブルではすでにレコード一括表示が可能でしたが、今後は繰り返しコンポーネントを使ってレコード一括表示、作成、編集が可能になります。
広く使われているレコード一括の無料アプリであるリストエディターのような機能を疑似的に作成できるようになりそうです。
基本的な繰り返しコンポーネントの使い方は過去記事で確認ください。
繰り返しコンポーネントは何が変わったのか
繰り返しコンポーネントでは下記のように、コンポーネントプロパティに機能が追加されました。
Winter25~↓ | いままで↓ |
結果的にWinter25からは下記2点が可能になります。
①事前取得したコレクション変数をデフォルト値として表示可能に(データテーブルコンポーネントに似ている)
➁行「追加」ボタン、行「削除」ボタンの表示/非表示切り替えが可能に
いままではレコードの新規作成しか出来ませんでしたが、今後は①の機能を使い既存レコードの更新も可能となる点はかなり大きいです。
運用上のアップデートポイント
今後は下記の3点が可能になります。
ここでは取引先ページにて取引先責任者の一括管理することを例にしています。
①取引先に紐づく取引先責任者の一括表示
下記のような形で登録済み取引先責任者の一覧表示をします。これは従来の画面フローで使用できるデータテーブルコンポーネントでも可能です。
➁取引先に紐づく取引先責任者の一括更新
下記の形で、先ほどまで伊藤と登録されていたレコードの姓をアレキサンドロスに更新するといったことが今回から可能になります。
レコードの一覧表示+一括更新は従来画面フローで出来なかったため大きな変化です。
③取引先に紐づく取引先責任者の一括作成+更新
先ほど2名だけ登録されていましたが、下記の形で新規レコード作成も可能です。
データローダで言うところのUpsert(作成+更新)が可能ということになります。
レコードの一覧表示+一括更新+一括新規作成は従来画面フローで出来なかったため大きな変化です。
フローを作成してみる
それでは実際にWinter25環境でフローを作成してみます。
[完成形フロー全体図]
具体的に要素の中身を見てみましょう。
①:取引先レコードへ画面フロー配置することを前提に、その子である全取引先責任者を取得します。
➁:画面要素で①の取引先責任者コレクションレコード変数をデフォルト値指定し、
繰り返しコンポーネント内にテキスト要素を配置し各値のデフォルト値を指定しておきます。
下記例では姓、名という2テキスト要素にデフォルト値しています。
また、行「追加」ボタン、行「削除」ボタンは両方表示設定にしています。
③:次に➁の繰り返しコンポーネント(repeaterというAPI名を付けました)をループします。
④:事前に取引先責任者レコード変数、取引先責任者レコードコレクション変数を用意して割り当てます。前者の取引先IDは画面入力されないので、画面フロー起動元の取引先IDを割り当てています。
⑤:最後にレコードを作成要素でUpsertします。
Upsertするために、更新キーをRecordID(=各取引先責任者ID)としておきます。これにより既存レコードは更新、行追加したレコードは新規作成にすることが出来ます。
作成or更新時エラーの挙動はお好みで設定します。
その他:一括削除
繰り返しコンポーネントでは下記の出力が使えるようになりました。
今回は検証していませんが、Removed Itemsを対象に画面上で行削除したレコードを一括削除も可能になりそうです。
まとめ
レコード一括管理に弱かったSalesforce標準機能ですが、ここ1年でかなり充実してきた感があります。
この記事で見てきたように、繰り返しコンポーネント内に配置する各要素は1列配置しかできないようです。
1行に姓、名、役職、メールアドレスなどを配置できれば便利ですが現状では縦長の画面になってしまう点は改善を期待したいです。