いつもお世話になっております。
画面フローにてチェックボックスグループを使用し、選択した項目のレコードのみ更新を行う処理を実装したいと考えております。
今回の問題点としては、チェックボックスグループにて項目選択を行い各IDを取得した場合、選択したIDごとに”;”を挟む形のテキストになることです。
◆試したこと
・”;” を ”,” に変換し、リスト形式に戻したのループでの割り当て処理を行い更新を想定
replace関数を使用しましたが、フローでは機能しないようでした。
・”;”で項目を分離し、ループでの割り当て処理を行い更新を想定
下記リンクをもとに実装を試しましたが、数式が想定通りの結果にならない状況です。
https://keneloper.com/handle-choices-in-screen-flow/
⇩最初の”;”の前のテキストのみ取得の認識でいます
IF(ISBLANK( {!var_SelectedContact}),
null,
IF(NOT(CONTAINS( {!var_SelectedContact}, '; ')),
{!var_SelectedContact},
LEFT( {!var_SelectedContact}, FIND(';', {!var_SelectedContact})-1)
)
)
⇩最初の”;”の後のテキストを全て取得する認識でいます。
IF( NOT (
CONTAINS( {!var_SelectedContact} , '; ')), null,
RIGHT( {!var_SelectedContact} , LEN( {!var_SelectedContact} ) - FIND( ';', {!var_SelectedContact} ) -1 )
)
上記の解決策や打開策があればご教授いただけますと幸いです。
ご対応のほど、よろしくお願いいたします。
アイデアにあがっています。まさかのコレクション変数でなくてテキストとして保存される?
ええええ、
Flow - Store Checkbox Group (Record Choice Set) as Collection Variable
Parsing typically requires an Apex Action or an overly complicated declarative solution.
らしいので、以下が紹介されていましたが、紹介している人は出来なかったといていますね。
しかし、このブログは私も参考にしている人が書いているので大丈夫と思いたいですが...
ただ私が読んでもよく分からなかったです。
Hurray! Parsing a Multi-Select Picklist is Trouble No More! Phew!