
Salesforce: エントリ条件に設定した数式内に未入力項目がある場合にフローを起動する方法
はじめに
こんにちは。
今回は、エントリ条件に設定した数式内に未入力項目がある場合にフローを起動する方法についてご紹介します。
例として、例えば「項目①」・「項目②」(どちらも数値項目)の値の合計が100以上の時に別項目の値を更新するフローを作成していたとします。この時、「項目①」・「項目②」のどちらかが未入力であると、もう片方の値が100以上だとしてもフローは起動されません。
この問題は、数式でBLANKVALUE関数を使用することによって解決することが可能です。
では設定方法をご紹介していきます。
エントリ条件に設定した数式内に未入力項目がある場合にフローを起動する方法
1. 事前準備
設定方法をご紹介していくにあたって、今回は「はじめに」で取り上げた例について設定を行なっていくこととします。前提として、以下の項目・フローが作成されているものとします。
オブジェクト:
「商談」
項目:
「項目①」(API参照名:「Test1__c」、データ型:数値)
「項目②」(API参照名:「Test2__c」、データ型:数値)
フロー種別:レコードトリガーフロー
フローの要件:
作成または更新された「商談」レコードの「項目①」・「項目②」の値の合計が100以上の場合、そのレコードの「フェーズ」を「保留」に更新する
フローのエントリ条件で設定している数式は以下のようになっており、その他の設定は画像①、画像②となります。
{!$Record.Test1__c}+{!$Record.Test2__c} >= 100 上記の数式をエントリ条件とすることで、作成または更新された「商談」レコードの「項目①」・「項目②」の値の合計が100以上の場合にフローが起動するように設定しています。


2. 数式にBLANKVALUE関数を追加する
作成したフローは「項目①」・「項目②」の一方が未入力であるともう一方の値が100以上だとしても起動されないので(画像①・画像②)、数式では設定している項目が未入力の場合も考慮する必要があります。


① 数式にBLANKVALUE関数を追加する
そこで、数式で設定している項目が未入力の場合も考慮するにはエントリ条件の既存の数式にBLANKVALUE関数を以下のように追加します。
<既存の数式> {!$Record.Test1__c}+{!$Record.Test2__c} >= 100 <追加後> BLANKVALUE({!$Record.Test1__c}, 0) + BLANKVALUE({!$Record.Test2__c}, 0) >= 100
BLANKVALUE関数を使用することで、括弧内の項目が未入力の場合に代わりにコンマの後の値が返されます。上記の数式で言えば、「項目①」・「項目②」が未入力であった場合にその項目の値が0として計算されることとなります。
エントリ条件の数式を上記の数式に書き換えます。[構文を確認]をクリックして画像③のように数式にエラーがないことを確認し、[保存]をクリックしフローを[有効化]します。

② フローを起動できるか確認する
最後に設定した数式によって、未入力項目がある場合にフローを起動することができるか確認します。「商談」で画像④のように項目を入力し、レコードを新規作成します。
すると、画像⑤のように「フェーズ」が「保留」へと更新され、フローが起動したことが確認できました。


まとめ
今回は、フローのエントリ条件に設定した数式内に未入力の項目がある場合に、BLANKVALUE関数を使用してフローを起動する方法についてご紹介しました。
BLANKVALUE関数を使用することで未入力の項目へ事前に設定した値が入力されるので、今回のように未入力の項目が原因で処理が行われないという事態を防ぐことが可能となります。
Salesforceに関するお悩みはありませんか?
今回ご紹介したフローや数式をはじめとするSalesforceの機能活用について、
「調べるのに時間がかかる...」
「作ったはいいがバグが起こらないか心配...」
「Salesforceを活用したいけどそこまで手が回らない...」
などお悩み事はありませんか?
Air合同会社ではSalesforceエンジニアを一人雇うほどの業務は無いが、業務を任せたいというお客様へ月 数時間~40時間で柔軟にご利用頂けるSalesforce活用支援サービスを提供しています。
機能の実装や改善のご提案、社内での内製化支援まで、貴社のSalesforceのお悩みを解決いたします。Salesforceをより活用し課題解決を行なっていくための手段としてぜひご検討ください。
Salesforce業務を他社に外注するイメージがわかない…という方に向け、外注する際のメリット・デメリットやSalesforce開発の流れを以下の記事で解説しています。ぜひご覧ください。(自社サイトへ移動します。)
Salesforce運用保守を外注するメリット・デメリットとは?
Salesforceのノーコード・ローコード開発の流れを解説!
また、弊社では「サービスについて簡単に知りたい」「Salesforceの使い方について相談したい」などSalesforceに関する無料相談会も随時実施しています。まずはお気軽にお問い合わせください。
↓関連記事
↓サービスの資料請求はこちらからお申し込みいただけます。
↓無料相談はこちらからお申し込みいただけます。
この記事を書いた人
Suzuki
Salesforceの認定資格「Salesforce認定アドミニストレーター」を保有しています。 IT業務経験ゼロからSalesforceに関する実務に携わってきた経験をもとに、初心者の目線に立って各種機能の活用方法や設定手順をステップバイステップでわかりやすくご紹介します。