フロービルダーを使用するうえでリファレンスを見ても載っていない情報があり、フローを組むうえで悩んでおります。 ご回答いただけると幸いです。 主にデータ型コレクション変数についての質問となります。
#Salesforce Platform #Flow Builder
1.データ型コレクション変数の内部の参照方法 例えば、 データ型コレクション変数(例:KokyakuList)に顧客オブジェクト(カスタムオブジェクト)型のデータが数件格納されている場合、指定の行の指定の項目への参照方法はございますか?
イメージとしてはデータ一件目の顧客データに存在する「顧客ID」を取得したい、というような状況です
phpにおける連想配列における要素のアクセス方法のようなイメージです KokyakuList[0]['kokyakuId'] それとも、このように行をインデックスで指定するのは不可でループで参照する以外の方法はないでしょうか
2.「フロー要素: レコードを取得」を行い該当データがない場合の戻り値について
下記の条件でレコードの取得を行い該当するレコードが0件の場合の戻り値は何になりますでしょうか
保存するレコード数:すべてのレコード
レコードデータの保存方法:すべての項目を自動的に保存
null、空文字、空のレコード型の変数等を推測しております データ型と中身が知りたいです
3.「フロー要素: レコードを取得」を行い該当データの件数の取得について
下記の条件でレコードの取得を行い該当するレコードが複数件ある場合、レコード数を取得する方法はございますか?
保存するレコード数:すべてのレコード
レコードデータの保存方法:すべての項目を自動的に保存
phpにおける $result->num_rowsのようなイメージです
4.ループの最後の項目の参照の仕方
並び替えを指定してレコードの取得を行い、その変数を指定しループを行った際、最後の行の指定項目を取得する方法がございますか?
例えば、 とあるデータ型コレクション変数(例:KokyakuList)の最後の行の「顧客ID」を取得したい場合、 ループを抜けた後に変数内のカーソルの位置は末尾のままでしょうかそれともループの外での取得は不可でしょうか
「最後の項目の後」に指定した割り当てで {!LoopXXXXXX(ループ名).XXXXX__c(項目名)}という指定方法で値の取得は可能でしょうか
またそれ以外の方法で取得ができるのであれば別の方法でも構いません
フロービルダーを担当するようになってから日が浅く、理解の浅い部分がある状態での質問となり申し訳ございません。 もしご存じの方がいればご回答いただけると嬉しいです。
@愛美 清水さま
1.
残念ながら個別要素へのアクセスは不可ですね。
ループ内で参照する方法になります。
2.
「null」ですね。
決定要素 null trueで切り分けれます。
尚、ヘルプページに文章としての明記はないですが
下記実装例にあるように、レコード取得後のnull判定はしなくてもエラーにはならず、ループに入らずそのまま次の要素へ抜ける仕様になってます。
https://help.salesforce.com/articleView?id=sf.flow_ref_elements_loop_example.htm&type=5
3.
残念ながらございません。
ループ内でカウントする方法になるかと思います。
4.
ループを抜けた後は、ループ変数でアクセスはできないですね。
ループ内で取得したい項目を割り当て要素で変数に退避する方法になるかと思います。
上記はフロービルダー内で完結する回答ですが、要素数に個別にアクセスしたいご要件があるのでしたらApexを使う方法になるかと思います。
1,3,4のご要望もスマートに解決できるかと思います。