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

環境
Salesforce

実装機能

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
フェーズが 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 件以上の商談を挿入または更新できるようにする
フェーズが 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 件以上の商談を挿入または更新できるようにする
フェーズが 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 を使用します。

サンプルコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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;
}
}
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; } }
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