リストビューから複数選択したレコードIDをノーコードでフローに渡す方法として、「
リストビューで選択したレコードを一括削除してみる」を紹介しましたが、この記事の公開時にはループ外でレコード操作する方法がわかりませんでした。
こちらの記事「
Winter’23 リリースノートの日本語版が公開されました!」で紹介されている、フローの新しい演算子を使用することで、ループを使用しなくても処理が可能になりましたので、今回はそちらの設定方法をご紹介いたします。
※本番環境へのリリースは10/16のWinter ’23バージョンアップまでお待ちくださいませ。
1.フローの設定
今回紹介するフローではループを使用しないので、リストビューで選択可能な上限の200件を選択しても、エラーなく処理が可能になります。
1.[設定] から、[クイック検索] で「フロー」を検索し、[フロー]をクリックし[新規フロー]ボタンをクリックします。
2.「画面フロー」を選択、[作成]ボタンをクリックします。Flow Builderが開いたら、左上のアイコン「ツールボックスを切り替え」をクリックします。
3.マネージャの[新規リソース]をクリックして以下の変数を作成します。
①選択したレコードIDを受け取るテキストコレクション変数
・
リソース種別:変数
・
API参照名:
ids(※大文字と小文字が区別されるため、この表記のままで入力してください)・
データ型:テキスト
・
複数の値を許可 (コレクション):チェックあり
・
フロー外部での可用性:入力で使用可能にチェック
②受け取ったレコード件数を格納する変数
・
リソース種別:変数
・
API参照名:命名は自由です
・
データ型:数値
・
小数点の位置:0
4.[開始]の下の⊕から[割り当て]を追加し以下のとおり設定します。
変数 | 演算子 | 値 |
Count(3.②で作成した変数) | 次の数と一致する | ids(3.①で作成した変数) |
5.[割り当て]の下の⊕から[決定]を追加し以下のように設定します。
・
表示ラベル:0件
・
結果を実行する条件の要件:すべての条件に一致 (AND)
リソース | 演算子 | 値 |
Count(3.②で作成した変数) | 次の文字列と一致する | 0 |
6.[決定]要素のコネクタの「0件」の下の⊕から[画面]を追加し以下のように設定します。
コンポーネントから[表示テキスト]をクリックし、選択件数0件のユーザ宛てのメッセージを入力します。
サンプルではレコードの選択件数が0件はフローを終了させますので、[カスタム表示ラベルを使用]で完了ボタンの表示ラベルを「終了」にします。(フッターの設定は任意です)
7.[決定]要素のコネクタの「デフォルトの結果」の下の⊕から[画面]を追加し以下のように設定します。
コンポーネントから[表示テキスト]をクリックし、選択件数1件以上のユーザ宛てのメッセージを入力します。サンプルでは選択したレコード件数の確認メッセージとキャンセルする場合のメッセージを表示させます。
[表示テキスト]にリソースから3.②の変数を挿入してメッセージを入力します。
8.7.で設定した[画面]の下の⊕から
[レコードを削除]を追加し以下のように設定します。・
削除するレコードを検索する方法 :条件を指定
・
オブジェクト:商談(削除するレコードのオブジェクト)
・
レコードを絞り込み:[条件の要件] すべての条件に一致(AND)
項目 | 演算子 | 値 |
Id | 次に含まれる | ids (3.①で作成したコレクション変数) |
9.[レコードを削除]の下の⊕から[画面]を追加し、削除完了メッセージ用の画面を以下のとおり設定します。
コンポーネントから[表示テキスト]をクリックし、削除が完了したメッセージを入力します。サンプルでは削除したレコード件数のメッセージを表示させ、[一時停止]と[前へ]ボタンを非表示にします。
10.最後にフローを[保存]し、 [有効化]にします。
2.カスタムボタンの作成、配置
こちらは前回の記事と同じ内容です。
1.削除するレコードのオブジェクトマネージャから「ボタン、リンク、およびアクション」にアクセスし、[新規ボタンまたはリンク]をクリックします。
2.[表示ラベル][名前]を入力し、以下のように設定します。
・表示の種類:リストボタン
・チェックボックスの表示 (複数レコード選択用):チェックあり
・動作:現在のウィンドウにサイドバーおよびヘッダーなしで表示
・内容のソース:URL
・数式入力欄:/flow/Record_Delete_OPP?retURL=006/o
<数式入力欄の解説>
フローの API 参照名:フローの「プロパティ」や、「詳細とバージョンの表示」から確認することができます。
戻り値:設定しないとフロー完了ボタンを押した後も初期画面に戻りエンドレスになり、削除実行された場合はエラーとなりますので何かしらの設定が必要です。
今回のサンプルでは商談のホーム画面に戻るようにしています(006は商談のオブジェクトPrefix)
他のオブジェクトのオブジェクトPrefixを確認したい場合はレコード画面を開いてアドレスバーからレコードIDの先頭の3桁を確認してください。
その他のフローの完了時のカスタマイズについては
ヘルプを参照してください。
3.削除するレコードのオブジェクトマネージャから「リストビューボタンレイアウト」にアクセスし、[リストビュー]の🔽から[編集]をクリックします。
4.カスタムボタンの[利用可能なボタン]から2.で作成したボタンを移動させ[保存]をクリックします。
【結果確認】
選択件数を0件にして配置したボタンをクリックすると、ちゃんと設定したメッセージが表示され、[終了]ボタンを押すと商談のホーム画面に戻りました。
次に上限の200件を選択して一括削除ボタンをクリックすると、こちらもちゃんと設定したメッセージが表示されました。[次へ]ボタンをクリックして進みます。
設定したとおりの削除完了のメッセージが表示されました。完了をクリックすると商談のホーム画面に戻りました。
ごみ箱にも削除した200件の商談レコードがちゃんとあり削除が実行されました。
(検証のため事前にごみ箱は空にしておきました)
最後に
こちらは前回の記事でもお伝えしてますが、リストビューにフロー起動ボタンを配置しているため、表示されるユーザの制御ができません。もし、実行できるユーザを制御したい場合は、フローの開始直後に実行ユーザのプロファイルやユーザ情報等で分岐させる方法で制御してください。