繰り返しコンポーネントを使用したレコードの一括登録

今回は繰り返しコンポーネントをご紹介します。

はじめに

Spring’24にてFlow Builderの機能面が強化されました。
Flow BuilderのUIが変更し、その他にもさまざまな機能が追加されました。
その中でも、今回は画面フローで利用できる「繰り返しコンポーネント」についてご紹介いたします。

画面フローで繰り返し要素が利用できるようになったことで、これまで1回1回行っていた処理を1度にまとめて行うことができます。
画面フロー内で複数のレコードを一括で登録するシナリオを基に機能を見ていきましょう。

フローの作成

今回利用するシナリオはこちらになります。

シナリオ

販売製品(Merchandise__c)に対して検査を実施し、その結果を販売製品検査レコード(MerchandiseInspection__c)として起票します。

検査ではパッケージの検査や落下検査など複数回にわたって検査を行います。
販売製品レコード上に配置した画面フローからその検査の内容を記入したレコードを作成します。
販売製品検査は販売製品オブジェクトの参照項目を有し、複数の販売製品検査レコードが販売製品レコードに紐づいています。

レコード作成時に入力する項目は以下とします。
項目の表示ラベル 項目名 データ型
販売製品検査名 Name テキスト
検査状況 InspectionStatus__c 選択リスト
検査種別 InspectionType__c 選択リスト
販売製品 Merchandise__c 参照関係(販売製品)

完成イメージ

完成した際のイメージは以下のようになります。

作成手順

では早速Flow Builderを起動してみましょう。
Flow Builderを起動し、画面フローを選択して画面要素を追加します。

そこで左側のコンポーネント欄から「繰り返し」を選択し、配置します。

新規レコード作成時に入力する項目をこの「繰り返しコンポーネント」内に配置します。
今回は「テキスト」「選択リスト」「ルックアップ」を配置します。

次にループ要素を利用して「繰り返しコンポーネント」で入力した内容を反復処理します。

「販売製品検査」のレコード変数を作成し、各項目に割り当てを行います。

「販売製品検査」のレコードコレクション変数を作成し、割り当てたレコード変数を追加します。

(ループ要素内にて割り当て済みのレコード変数をInsertすることも可能ですが、ガバナ制限に抵触する可能性があるため避けたほうが良いかもしれません)

最後にレコードコレクション変数を利用して販売製品検査レコードを作るようにすれば完了です。

画面フローを配置して、実際に動作を確認してみます。

「追加」を押下して要素を追加することができます。

関連リストを見ると入力した値でレコードが2件作成されていることが確認できます。

考慮事項

ガバナ制限

画面フローに限らないですが、繰り返し要素で陥りやすいガバナ制限に気を付ける必要があります。
一括作成するレコードの件数を制限するようなルール・運用面でのカバーや、今回のようにレコードコレクション変数をループの外側でInsertするなど実装方法にご注意ください。

また「繰り返しコンポーネント」内では、「追加」ボタンを制御することはまだできません。
そのため画面要素の後続処理で件数判定を行い、何らかの制御を設けたほうがよいかもしれません。

UIの工夫

「追加」ボタンを押下することで、繰り返し要素が下に下に追加されていきます。
追加される要素が多ければ多いほど下に伸びていくため、入力や見た目の面で不便です。
入力する項目数を絞る、選択リスト・ラジオボタンを利用する等の工夫を意識する必要があります。

利用できるコンポーネント

「繰り返しコンポーネント」内で利用できる子コンポーネントは以下です。
チェックボックス
チェックボックス グループ
通貨
日付
日付と時刻
ロングテキストエリア
複数選択リスト
数値
パスワード
選択リスト
ラジオ ボタン
テキスト
表示テキスト
また「繰り返し子コンポーネント」内で別の「繰り返しコンポーネント」の出力内容を参照することはできません。

まとめ

繰り返しコンポーネント、いかがだったでしょうか。
現状こちらはベータサービスですが、今後のアップデートで更に利用できる場面が増えるでしょう。
画面フローでも繰り返し要素を使って業務を効率化しましょう!