Account Trigger: Apex triggers allow for complex logic to retrieve and update theTimezonefield based onPostalCodeToTimezone__c. Fast Field Updates Record-Triggered Flow: A record-triggered flow in Fast Field Updates mode can fetch the necessary data fromPostalCodeToTimezone__cand update the Account. Why Not Other Options? A). Quick actions: Used for user interface updates, not for automation based on edits. B). Approval process: Not relevant to dynamic field updates. References:Record-Triggered Flow:https://help.salesforce.com/s/articleView?id=sf.flow_build_trigger.htm
最新のコメント (最新のコメントはトップにあります。)
正解は **C** と **D** です。
### 正解の解説
この要件は、「レコードが保存される前に、別のマスタオブジェクトを検索して、自分の項目値をセットする」というものです。これを実現できるのは以下の2つです。
**C. アカウントトリガー (Account Trigger)**
* **Apexコード** を使用して `before update` トリガーを記述します。
* トリガー内で SOQL クエリを発行し、入力された郵便番号に一致する `PostalCodeToTimezone__c` レコードを検索して、その値を Account にセットします。最も柔軟で確実な方法です。
**D. 高速フィールド更新レコードトリガーフロー (Fast Field Update Record-Triggered Flow)**
* これは **「保存前フロー (Before-Save Flow)」** のことです。
* 現在の Flow Builder では、保存前フローの中でも **「レコードの取得 (Get Records)」** 要素を使用することができます。
* フロー内で `PostalCodeToTimezone__c` オブジェクトを検索し、見つかったタイムゾーンの値を Account レコードに割り当てることで、Apexトリガーと同じことをノーコードかつ高速(再度DMLを発行しないため)に実現できます。自分のレコードの項目を更新する場合のベストプラクティスです。
---
### 不正解の解説
**A. クイックアクション**
* クイックアクションは、ユーザーがボタンをクリックして特定の入力画面を開き、処理を実行するものです。今回のように「郵便番号を編集したら自動的に裏で動く」という要件には適していません。
**B. 承認プロセス**
* 承認プロセスは、レコードの承認・却下を行うためのワークフローです。項目値の自動計算やルックアップ(検索してセット)を行うための機能ではありません。
### 💡 学習のポイント
**「自分のレコードの値を、保存前に自動セットしたい」** 場合の選択肢:
1. **高速フィールド更新フロー (Before-Save Flow)**:最優先(推奨)。
2. **Apex トリガー (Before Trigger)**:フローで複雑すぎる場合に使用。
この2つがセットで正解になるパターンです。...