Skip to main content

トリガーを作成する

メモ

メモ

日本語で受講されている方へ
Challenge は日本語の Trailhead Playground で開始し、かっこ内の翻訳を参照しながら進めていってください。Challenge での評価は英語データを対象に行われるため、英語の値のみをコピーして貼り付けるようにしてください。日本語の組織で Challenge が不合格だった場合は、(1) この手順に従って [Locale (地域)] を [United States (米国)] に切り替え、(2) [Language (言語)] を [English (英語)] に切り替えてから、(3) [Check Challenge (Challenge を確認)] ボタンをクリックしてみることをお勧めします。

翻訳版 Trailhead を活用する方法の詳細は、自分の言語の Trailhead バッジを参照してください。

Trail Together の動画

エキスパートの説明を見ながらこのステップを進めて行きたい場合は、Trail Together シリーズの一部である、こちらの動画をご覧ください。

(巻き戻して最初から見直したい場合、このクリップは 28:13 分から開始されます。)

トリガーを追加する

トリガーのコードは、Apex トランザクションによってバインドされているので、ガバナ制限が適用されます。ガバナ制限の例外の発生を減らすための Salesforce のベストプラクティスは、トリガー内でのオブジェクトのインスタンス化を避けることです。 

代わりに、トリガーからトリガーハンドラーを呼び出し、ハンドラーでオブジェクトをインスタンス化します。トリガーを使用する場合、static キーワードを使用してトリガーハンドラーでメソッドをコールします。static キーワードを使用して、クラスをオブジェクトにインスタンス化することを回避します。これでガバナ制限の例外の発生を防ぐことができます。

createContact メソッドを呼び出す CreateContact トリガーを作成します。

  1. 開発者コンソールで、[File (ファイル)] | [New (新規)] | [Apex Trigger (Apex トリガー)] をクリックします。[New Apex Trigger (新規 Apex トリガー)] ウィンドウが開きます。
  2. [Name (名前)] に、CreateContactと入力します。
  3. [sObject] で、[Candidate__c] を選択します。
  4. [Submit (実行)] をクリックします。
  5. 既存のコードを次のコードに置き換えます。
    trigger CreateContact on Candidate__c (after insert){
        /* Invoke the createContact method with a list of Candidates as the argument
        to create a corresponding Contact from each new Candidate Record */
        CreateContactFromCan.createContact(Trigger.new);
    }
  6. トリガーを保存します。

新しい応募者を作成して、トリガーをテストします。

  1. アプリケーションランチャー (アプリケーションランチャー) で、[Candidates (応募者)] を見つけて開きます。
  2. [New (新規)] をクリックします。
  3. 応募者レコードを次のとおり作成します。
    • First Name (名): Gina
    • Last Name (姓): Simmons
    • Email (メール): gsimmons@test.com
  4. [Save (保存)] をクリックします。
  5. アプリケーションランチャー (アプリケーションランチャー) で、[Contacts (取引先責任者)] を見つけて開きます。
  6. [All Contacts (すべての連絡先)] リストビューを選択します。
  7. Gina Simmons という名前の連絡先が作成されていることを確認します。

まとめ

お疲れさまでした。初めての Apex コードを作成し、開発者コンソールを使用してコードスニペットを評価しました。Apex についての詳細は、「システム管理者のための Apex の基本」モジュールを参照してください。

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む