Administrator 練習問題 Q08
Ursa Major Solar は、設置するすべてのパネルに 1 年間の保証を提供します。インストールの詳細は、保証情報とともに、Installation と呼ばれるカスタム オブジェクトにキャプチャされます。インストール レコードは、インストーラーによってモバイル アプリから作成されます。顧客は、インストールが遅れたり問題が発生したりした場合に、顧客満足度を高める方法として、より長い保証を受けます。管理者は、保証の有効期限を取得するために Salesforce をどのように構成する必要がありますか?
左の○で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
1つ選択してください(0/1)
正答:A. 保証有効期限フィールドのデフォルト値として式を使用します。
解説
前提知識
- 数式フィールド(Formula Field):値が常に自動計算され、ユーザーが手動で編集できない読み取り専用のフィールド。
- デフォルト値としての式(Formula as a Default Value):フィールド自体は通常の編集可能なフィールド(この場合は日付フィールド)のままで、新規レコード作成時にだけ式による計算結果を初期値として自動入力する仕組み。入力後はユーザーが手動で値を変更できる。
設問の状況を分解する
- Installationレコードの新規作成時に、通常の1年保証の有効期限を初期入力したい。
- ただし、設置の遅延やトラブルがあった場合には、顧客満足度向上のために、より長い保証期間が与えられることがある=有効期限が例外的に個別調整される必要がある。
- つまり「通常は自動計算されつつ、例外時には手動で修正できる」構成が必要。
選択肢の検討
- A ⭕:日付フィールドのデフォルト値に
TODAY() + 365などの式を設定すれば、新規レコード作成時に1年後の日付を初期入力し、その後インストーラーや管理者が延長保証の例外に応じて手動修正できる。デフォルト値は作成時に一度だけ評価され、通常項目なので編集可能である。 - B ✕:数式フィールドとして作成すると、値は常に計算式に固定され、ユーザーが手動で保証期間を延長するような編集ができなくなる。例外対応ができないため不適切。
- C ✕:検証ルールは入力必須化やフォーマットの検証を行うものであり、有効期限そのものを自動的に取得・計算する仕組みではない。
- D ✕:モバイルページレイアウトに含めるのは単なる表示の配置であり、有効期限の値をどう取得・計算するかという課題の解決にはならない。
管理者としての対処手順
- Installationオブジェクトに保証有効期限用の日付フィールドを作成する(未作成の場合)。
- フィールドの[デフォルト値]に、レコード作成日を基準とする
TODAY() + 365などの式を設定する。デフォルト値は新規レコードの現在レコード上の別項目を参照できないため、「設置日」項目を直接参照する式にはしない。 - モバイルアプリのページレイアウトにこのフィールドを配置し、インストーラーが必要に応じて値を編集できるようにする。
- 通常ケースでは自動入力された日付をそのまま保存し、延長保証が必要な例外ケースでは手動で日付を修正してもらう運用を周知する。
あわせて覚えておきたいポイント
- 「数式フィールド」と「デフォルト値に式を使う」は似ているようで別の仕組み。前者は自動計算される読み取り専用項目、後者は作成時の初期値だけを自動入力する編集可能な通常項目である。
- デフォルト値はユーザーが新規レコードの入力を始める前に評価されるため、同じ新規レコード上でこれから入力する項目の値は参照できない。別項目を基準に有効期限を計算する必要がある場合は、保存後に動くレコードトリガーフローなど別の自動化を検討する。
出典(Salesforce公式)
- Default Field Values — デフォルト値は新規レコード作成時に一度だけ実行され、編集画面に初期入力され、ユーザーが変更できることを裏付ける。
- Default Field Value Considerations — デフォルト値と数式項目の違い、およびデフォルト値では新規作成中の現在レコード上の項目を参照できない制約を裏付ける。
- Where are Formulas Used in Salesforce? — デフォルト値に
TODAY() + 7のような式を使用でき、数式項目は自動計算されることを裏付ける。