Administrator 練習問題 Q265
Cloud Kicks は、チェックボックス フィールドの High Value Customer が true に設定されている場合に最初の画面がスキップされ、ユーザーが 2 番目の画面に移動するように画面フローを更新したいと考えています。管理者は決定要素をどのように構成する必要がありますか?
左の○で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
1つ選択してください(0/1)
正答:A. 等号演算子を使用し、値として {!$GlobalConstant.True} を使用します。
解説
前提知識
画面フローとは
フローは、クリック操作で作れる自動化ツールです。そのうち画面フローは、ユーザーに入力画面を順番に見せて進むタイプです。入力内容やレコードの値に応じて途中の画面を飛ばすこともできます。
決定要素とは
決定(Decision)要素は、フローの途中で分岐を作る部品です。「結果(Outcome)」ごとに条件を設定し、条件を満たしたルートへ進みます。条件は「リソース(項目や変数)」「演算子」「値」の3つ組で書きます。
グローバル定数とは
フローに標準で用意されている固定値です。チェックボックスの真偽を表すには {!$GlobalConstant.True} と {!$GlobalConstant.False}、空白文字列には {!$GlobalConstant.EmptyString} を使います。チェックボックス項目は「オンならtrue、オフならfalse」として評価されるため、比較対象は真偽値であり、項目のラベル文字列ではありません。
演算子の違い
- 等号(Equals):値が完全に一致するかを見る。真偽値の判定に使う
- 含む(Contains):文字列の中に指定の文字が含まれるかを見る。テキスト項目向け
設問の状況を分解する
- チェックボックス項目 High Value Customer がtrueのときだけ、1つ目の画面をスキップして2つ目に進む
- すなわち、分岐の条件は「チェックボックスがONか」という真偽判定1つ 初学者が誤解しがちなのは、条件の「値」に項目名(高価値顧客)を入れてしまう点です。左辺にすでに「どの項目を見るか」を指定しているので、値側に必要なのは「その項目がどういう状態なら真なのか」だけです。
選択肢の検討
A. 等号演算子を使用し、値として {!$GlobalConstant.True} を使用します。 → ⭕ 正解
チェックボックスはONのときtrueとして評価されます。したがって、リソースにHigh Value Customerを指定し、演算子に等号、値に {!$GlobalConstant.True} を指定すれば、「trueのときだけこの結果へ進む」分岐になります。公式の決定要素の例もこの形で書かれています。
B. 等号演算子を使用し、値として「高価値顧客」を使用します。 → △(惜しいが不正解)
演算子の選び方は正しいです。しかしチェックボックスの値はBoolean(真偽値)であり、項目の表示ラベル文字列とは一致しません。判別基準は「左辺に置いたリソースのデータ型は何か」です。この設問ではBooleanなので、値にもTrueまたはFalseのBoolean値を指定します。
C. contains 演算子を使用し、値として {!$GlobalConstant.False} を使用します。 → ✕
演算子と値の両方が誤りです。containsは文字列の部分一致を見る演算子で、真偽値には使いません。さらにFalseを指定すると、チェックボックスがOFFのときに進む分岐になり、要件と逆になります。
D. contains演算子を使用し、値として「高価値顧客」を使用します。 → ✕
演算子も値もチェックボックスに適していません。containsと文字列の組み合わせは、例えば顧客名に特定の単語が含まれるかを見たいときなど、テキスト項目に対して使います。
管理者としての対処手順
- [設定]→[フロー]で対象の画面フローを開く
- 1つ目の画面の前に[決定]要素を追加する
- 結果のラベルを「高価値顧客」などとし、条件を次のとおり設定する
- リソース:High Value Customer(レコード変数の項目またはフロー変数)
- 演算子:等号
- 値:{!$GlobalConstant.True}
- この結果の接続先を2つ目の画面にする
- 既定の結果(上記以外)の接続先を1つ目の画面にする
- [デバッグ]で、チェックボックスがONのレコードとOFFのレコードの両方を試す
- 問題なければフローを保存し、新しいバージョンを有効化する
あわせて覚えておきたいポイント
| 項目の種類 | 使う演算子の例 | 値の書き方 |
|---|---|---|
| チェックボックス | 等号 | {!$GlobalConstant.True} または {!$GlobalConstant.False} |
| テキスト | 等号、含む、開始する | 比較したい文字列 |
- 画面を飛ばす場合、その画面ではユーザー入力が行われません。後続要素がその画面の入力値を前提にしていないか、各コンポーネントの初期値や未実行時の値も含めて確認します。
- 画面のチェックボックスコンポーネントも同じで、ユーザーがチェックしたらtrue、しなければfalseとして評価されます。
出典(Salesforce公式)
- Flow Operators in Decision, Wait, and Collection Filter Elements — Decision要素でBooleanリソースを比較する場合、Equalsは選択したリソースと指定値が一致するときに真になることを裏付けています。
- Global Constant Resource — TrueとFalseがBoolean型のシステム提供グローバル定数であることを裏付けています。
- Enhance Process Automation with Flow Builder(Trailhead) — Decision要素でtrue/false条件を確認するときはTrueグローバル定数を使用する公式例を示しています。
- Checkbox Screen Input Component — 画面コンポーネントのチェックボックスは選択時にtrue、未選択時にfalse、画面未実行時にnullと評価されることを裏付けています。