You need to sign in to do that
Don't have an account?
SFDC Coder 8
Error in SOQL Query_Trigger
Hi All,
I have written trigger as below
Trigger TskTrigger on Task (after inert){
List<Obj1__c> ls=[Select Id,Fld1__c,Fld2__c from Obj1__c];
//Some code
//Some code
if(Trigger.isInsert){
List<Task> ts = new List <Task>();
for(Task Tsk : trigger.new){
Task c = new Task(Fld1__c=ls.Fld__c,Fld2__c=ls.Fld2__c);
}
But, I am getting error as " Initial term of field expression must be a concrete SObject: List<Obj1__c> at line column "
What is wrong here?
Please help
Thanks in Advance
I have written trigger as below
Trigger TskTrigger on Task (after inert){
List<Obj1__c> ls=[Select Id,Fld1__c,Fld2__c from Obj1__c];
//Some code
//Some code
if(Trigger.isInsert){
List<Task> ts = new List <Task>();
for(Task Tsk : trigger.new){
Task c = new Task(Fld1__c=ls.Fld__c,Fld2__c=ls.Fld2__c);
}
But, I am getting error as " Initial term of field expression must be a concrete SObject: List<Obj1__c> at line column "
What is wrong here?
Please help
Thanks in Advance
use this coad
Trigger TskTrigger on Task (after inert){
List<Obj1__c> ls=[Select Id,Fld1__c,Fld2__c from Obj1__c];
//Some code
//Some code
if(Trigger.isInsert){
List<Task> ts = new List <Task>();
for(Task Tsk : trigger.new){
for(obj1__c b:ls){
Task c = new Task(Fld1__c=b.Fld__c,Fld2__c=b.Fld2__c);
}
insert tsk;
}
}
All Answers
You have a spelling mistake in line 1(after inert). It should be (after insert).
Hope it will help You.
Please mark it as best answer.
Thanks
In my devloper org its correct
Still, I am getting same error
there is error in the Last line (Task c = new Task(Fld1__c=ls.Fld__c,Fld2__c=ls.Fld2__c); It should be (Task c = new Task(Fld1__c=ts.Fld__c,Fld2__c=ts.Fld2__c);
Hope this will help you.
Please mark it as best answer.
Thanks
Thats why I gave Fld1__c=ls.Fld__c
My requirement is like this
Use this code and let me know if it helps.
Trigger TskTrigger on Task (after insert){
List<Obj1__c> ls=[Select Id,Fld1__c,Fld2__c from Obj1__c];
//Some code
//Some code
if(Trigger.isInsert){
List<Task> ts = new List <Task>();
for(Task Tsk : trigger.new){
Task c = new Task;
c.Fld1__c = ls.Fld__c;
c.Fld2__c = ls.Fld2__c;
}
insert c;
}
Thanks
It is not working
Could you post your complete code. Because i'm not seeing anything that can have error.
Thanks
The error you got itself says that you don't have "Variablels.Fld1__c" .
use this coad
Trigger TskTrigger on Task (after inert){
List<Obj1__c> ls=[Select Id,Fld1__c,Fld2__c from Obj1__c];
//Some code
//Some code
if(Trigger.isInsert){
List<Task> ts = new List <Task>();
for(Task Tsk : trigger.new){
for(obj1__c b:ls){
Task c = new Task(Fld1__c=b.Fld__c,Fld2__c=b.Fld2__c);
}
insert tsk;
}
}