見出し画像

Salesforceのフローで複数選択リストが使えなかった話

フロー初心者の私!
自分のナレッジ蓄積の場として記録しておきます。
もし同じ現象が起きてる。。!という方は参考にして頂ければ嬉しいです。
また、もっとこうすると簡単だよ!というお優しい方からのご意見もお待ちしております。
ですがあくまで個人のメモですのでお手柔らかに。。。


前提はこんな感じ。
・取引先OBJに「取引先種別」のカスタム項目(AccountType__c)
 └データ型:複数選択リスト(値:顧客;仕入先;外注先など)
・取引先種別に「顧客」が含まれる取引先だけを更新したいよ

フローでやりたいことはこんな感じ。
・期初(9/1)に取引先種別に「顧客」を含む取引先だけ新規顧客から既存顧客に変更したい

フロー自体はめっちゃ簡単。

スケジュールトリガーフローで毎日9/1かどうか確認してから更新する

まず準備したものは、期初(9/1)かどうかを判定する数式(チェックボックス)だけ。BeginFY__cというAPI名にしました。
「今日」が9/1であればTureを返してくれるので、それをフローの条件に入れました。

数式はこんな感じ。合ってるよね。。。?

そして肝心のフローの中身は

こんな感じ。
AccountType__cは複数選択リストなので「次の文字列を含む:顧客」にしました。

デバッグするとああああああ、エラーが。。。。

エラー文や「次の文字列と一致する:顧客」だとエラーが解消されたことから、やはり複数選択リストがダメなんだなと。。。。
だけど複数選択リストは変えられないので、解決策を探しました。

少し調べるとINCLUDES関数なるものが存在することを知りました。
恥ずかしながら初心者なもので。。。。。

INCLUDES変数を使ってフロー内でループを使って顧客か否かを判定する方法もあるみたいですが、いかんせんループやら変数はまだまだ使いこなせていない私。。。。
ループや変数に手を出すと沼にハマりだす未来しか見えなかったです。。。

なのであまり綺麗ではないですが、そのままINCLUDES関数の数式項目を取引先OBJに作ることにしました。

INCLUDES関数についてSalesforceヘルプはこちら

数式もとても単純明快でありがたい。。。。

これで「顧客」が含まれている場合はチェックボックスをTrueで返してくれるようになりました!!!命拾いした。。。。。

そしてすぐにフローを修正!!

IfCustomer__cが数式項目(チェックボックス)です

これで無事にエラーを解消することができました!!
良かった良かった。

INCLUDES関数、今回初めて知ったので新しいことが知れて良かったです。
今回作成したINCLUDES関数のカスタム項目は、Account Engagementのリスト作成にも使いたいと思います!!

ここまで見て頂いた方は、最後までありがとうございました!
今後も備忘録的にnoteに残していきますので、また!!

この記事が気に入ったらサポートをしてみませんか?