Apex trigger を作成する
[請求先住所と一致] オプションが選択されている場合、取引先の [郵便番号(納入先)] を [郵便番号(請求先)] と一致するように設定する Apex trigger を作成します。トリガは取引先の挿入前または更新前に起動します。
事前作業:
チェックボックス項目を取引先オブジェクトに追加する:
- 項目の表示ラベル:
請求先住所と一致
- 項目名:
Match_Billing_Address
メモ: 生成される API 参照名はMatch_Billing_Address__c
になるはずです。https://trailhead.salesforce.com/ja/content/learn/modules/apex_triggers/apex_triggers_intro
- Apex trigger を作成する:
- Name:
AccountAddressTrigger
- Object: Account
- イベント: before insert と before update
- 条件: [請求先住所と一致] が true
- 操作: [郵便番号(納入先)] を [郵便番号(請求先)] と一致するように設定する
事前準備で取引先オブジェクトに項目を追加しておくのは忘れずに。
課題をクリアできるソースコードは以下です。
trigger AccountAddressTrigger on Account (before insert, before update) {
for(Account acc : Trigger.new) {
if(acc.Match_Billing_Address__c == true) {
acc.ShippingPostalCode = acc.BillingPostalCode;
}
}
}
このトリガの説明は以下の通り。(by. chatGPT)
- トリガは取引先 (
Account
) オブジェクトのbefore insert
およびbefore update
イベントに対して発火します。 - トリガの中で、新しく挿入または更新されるすべての取引先レコードをループしています。
- 各レコードで「請求先住所と一致」(
Match_Billing_Address__c
) フィールドがtrue
かどうかを確認します。 true
の場合、ShippingPostalCode
(納入先の郵便番号)をBillingPostalCode
(請求先の郵便番号)と一致するように設定します。
コメント