function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Pankaj Yadav 16Pankaj Yadav 16 

How to create a task as per type value in Account object by trigger class.

How to create a task as per type value in Account object by trigger class.

Trigger
public class Helperdemo {

    List<Task> TaskCreated = new List<Task>();
    
    public void Acctask(List<Account> acclist)
        {
        if(acclist.size()>0)
        {
            for(Account a:acclist)
            {
                    if(a.Type=='Prospect')
                    {
                        Task t = new Task();
                        t.Subject ='Prospect task';
                        TaskCreated.add(t);
                     }
            }
    if(TaskCreated.size()>0)
    {
        
        insert TaskCreated;
    }
        }
            
        
    }
    
}

Apex class
trigger Demo on Account (before insert, after insert) {

    Helperdemo hd;
        hd.Acctask(trigger.new);
    
    }
    
What is the issue in above code.
Raj VakatiRaj Vakati
Try thi s
trigger Demo on Account (before insert, after insert) {
   Helperdemo hd=Acctask(trigger.new);
}
 
public class Helperdemo {

    
    public Static void Acctask(List<Account> acclist)
        {
			 List<Task> TaskCreated = new List<Task>();
   
   
        if(acclist.size()>0)
        {
            for(Account a:acclist)
            {
                    if(a.Type=='Prospect')
                    {
                        Task t = new Task();
                        t.Subject ='Prospect task';
                        TaskCreated.add(t);
                     }
            }
    if(TaskCreated.size()>0)
    {
        
        insert TaskCreated;
    }
        }
            
        
    }
    
}

 
v varaprasadv varaprasad
Hi Pankaj,

Use after insert event, whenever we need to create records on other objects or related objects we need to use after events only.
 
trigger Demo on Account (after insert) {
   Helperdemo.Acctask(trigger.new);
}

public class Helperdemo {

    
    public Static void Acctask(List<Account> acclist)
        {
			 List<Task> TaskCreated = new List<Task>();
   
   
        if(acclist.size()>0)
        {
            for(Account a:acclist)
            {
                    if(a.Type=='Prospect')
                    {
                        Task t = new Task();
                        t.Subject ='Prospect task';
                        TaskCreated.add(t);
                     }
            }
    if(TaskCreated.size()>0)
    {
        
        insert TaskCreated;
    }
        }
            
        
    }
    
}

Hope this helps you!
If my answer helps resolve your query, please mark it as the 'Best Answer' & upvote it to benefit others.

Thanks
Varaprasad
@For SFDC Support: varaprasad4sfdc@gmail.com
Blog: http://salesforceprasad.blogspot.com/

Salesforce latest interview questions  :
https://www.youtube.com/channel/UCOcam_Hb4KjeBdYJlJWV_ZA?sub_confirmation=1








 
Ajay K DubediAjay K Dubedi
Hi Pankaj, 

Below code can fulfill your requirements. Hope this will work for you.

Trigger :

public class Helperdemo {

    List<Task> TaskCreated = new List<Task>();
    
    public void Acctask(List<Account> acclist)
        {
        if(acclist.size()>0)
        {
            for(Account a:acclist)
            {
                    if(a.Type=='Prospect')
                    {
                        Task t = new Task();
                        t.Subject ='Prospect task';
                        TaskCreated.add(t);
                     }
            }
    if(TaskCreated.size()>0)
    {  
        insert TaskCreated;
    }
        } 
    }    
}

Apex class :

trigger Demo on Account (after insert) {
        Helperdemo.Acctask(trigger.new);
    }
    
Please mark this as best answer if this solves your problem.

Thank you
Ajay Dubedi