こんにちは、にいるです。
今日は、Trailheadのモジュール「Apex トリガの使用開始」について、解答と解説をまとめたいと思います。
・【Trailhead】Apex トリガの使用開始
・【ヘルプ】トリガコンテキスト変数
1.チャレンジ内容
チャレンジ内容です。
1-1.原文
-
Create an Apex trigger for Account that matches Shipping Address Postal Code with Billing Address Postal Code based on a custom field.
- The Apex trigger must be called ‘AccountAddressTrigger’.
- The Account object will need a new custom checkbox that should have the Field Label ‘Match Billing Address’ and Field Name of ‘Match_Billing_Address’. The resulting API Name should be ‘Match_Billing_Address__c’.
- With ‘AccountAddressTrigger’ active, if an Account has a Billing Postal Code and ‘Match_Billing_Address__c’ is true, the record should have the Shipping Postal Code set to match on insert or update.
For this challenge, you need to create a trigger that, before insert or update, checks for a checkbox, and if the checkbox field is true, sets the Shipping Postal Code (whose API name is ShippingPostalCode) to be the same as the Billing Postal Code (BillingPostalCode).
1-2.和訳
-
カスタムフィールドに基づいて、配送先住所の郵便番号と請求先住所の郵便番号を一致させるアカウントのApexトリガーを作成します。
- Apexトリガーは「AccountAddressTrigger」と呼ばれる必要があります。
- Accountオブジェクトには、フィールドラベル「MatchBillingAddress」とフィールド名「Match_Billing_Address」が必要な新しいカスタムチェックボックスが必要です。 結果のAPI名は「Match_Billing_Address__c」になります。
- 「AccountAddressTrigger」がアクティブな状態で、アカウントに請求郵便番号があり、「Match_Billing_Address__c」がtrueの場合、レコードには、挿入または更新時に一致するように出荷郵便番号を設定する必要があります。
このチャレンジでは、挿入または更新する前にチェックボックスをチェックするトリガーを作成する必要があります。チェックボックスフィールドがtrueの場合、配送郵便番号(API名はShippingPostalCode)を請求郵便と同じに設定します。 コード(BillingPostalCode)。
2.解答と解説
解答と解説です。
2-1.準備
このチャレンジをクリアするには取引先オブジェクトにカスタム項目を作成する必要があるので、コードを書くまえに作成しておきましょう。
データ型はチェックボックスで、フィールド名「Match_Billing_Address」ですね。
2-2.Apexトリガ
1 2 3 4 5 6 7 8 |
trigger AccountAddressTrigger on Account (before insert, before update) { for(Account a : Trigger.new){ If (a.Match_Billing_Address__c == true) { a.ShippingPostalCode = a.BillingPostalCode; } } } |
取引先が作成か更新される前にこのトリガが起動します。
Trigger.newというトリガコンテキスト変数を使用すれば、トリガで処理されるレコードをキャッチすることができます。
その取引先のMatch_Billing_Address__cがTrueなら、郵便番号(請求)と郵便番号(納入)を一緒にするという処理をしています。
3.まとめ
いかがでしたでしょうか。
トリガのTrailheadはあまり用意されていないので、自身で色々試してみるのをおすすめします。
他にもトリガコンテキスト変数はありますし、トリガのループを考慮した設計をしないといけない点もあります。
他にも色々と標準機能やSalesforce機能について紹介していますので、ご覧ください。
ではでは!