Trailhead ToDoリスト を追加する一括 Apex trigger を作成する方法

環境
Salesforce

実装機能

フェーズが Closed Won の商談にフォローアップ ToDo を追加する一括 Apex trigger を作成します。
Apex trigger は商談の挿入後または更新後に起動します。

Apex trigger を作成する:
  Name: ClosedOpportunityTrigger
  Object: Opportunity
  イベント: after insert と after update
  条件: フェーズが Closed Won
  操作: ToDo を作成する:
    Subject: テスト ToDo をフォローアップする
    WhatId: 商談 ID (ToDo を商談に関連付ける)
Apex trigger を一括処理化して 200 件以上の商談を挿入または更新できるようにする

構文
1.ToDoリストの宣言
List<Task> taskList = new List<Task>();

2.ToDOリストに要素を追加する
taskList.add(new Task (Subject =’xxx’,Whatid =xxx));
Subject
「電話」、「見積送付」など、ToDo の件名行。最大 255 文字です。
WhatId 項目の値がその他のオブジェクトで、かつ WhoId 項目の値が
Contact オブジェクトである場合、Salesforce はその取引先責任者の AccountId を使用します。

サンプルコード

trigger ClosedOpportunityTrigger on Opportunity (after insert,after update) {
     //ToDoリスト変数の宣言
     List<Task> taskList = new List<Task>();
    
    //商談の処理
    for(Opportunity oppy :Trigger.New) {
          //商談のフェーズが「Closed Won」の場合、ToDoをリストに追加
        if(oppy.StageName == 'Closed Won') {
            taskList.add(
              new Task (Subject = 'テスト ToDo をフォローアップする',
                         WhatId = oppy.id)
            );
        }
    }
    //ToDoリストを挿入する
    if(taskList.size() > 0 ) {
        insert taskList;
    }
}

 

Apex

Posted by arkgame