You need to sign in to do that
Don't have an account?
raysfdc1988
want to write a trigger which helps to create a new contact record on creating of custom object record,
trigger createcontact on student_profile__c (after insert) {
List<contact> listcontact = new List<contact>();
for (Student_Profile__c oStudent : trigger.new) {
contact oContact = new contact();
oContact.AccountId = oStudent.Current_Institution__c;
oContact.firstName = oStudent.First_Name__c;
oContact.LastName =oStudent.Last_Name__c;
oContact.Attendance_Points__c = oStudent.Attendance_Points__c;
oContact.Birthday__c = oStudent.Birthday__c;
oContact.City__c = oStudent.City__c;
oContact.Country__c = oStudent.Country__c;
oContact.Course_Program__c = oStudent.Course_Program__c;
oContact.Course_Name__c = oStudent.Course_Name__c;
oContact.Course_No__c = oStudent.Course_No__c;
oContact.imageURL__c = oStudent.imageURL__c;
oContact.Institution_Name__c = oStudent.Institution_Name__c;
oContact.Student_ID__c=ostudent.Student_ID__c;
oContact.Mentor_Points__c = oStudent.Mentor_Points__c;
oContact.Mentor_Points_2__c = oStudent.Mentor_Points_2__c;
listcontact.add(oContact);
}
if (listcontact.isEmpty() == false) {
Database.insert(listcontact);
}
here student.Student_ID__c is unique custom ffield, Now i can insert a record in a contact but I cant update it.. Means if i make any changes in custom object record then it not poulating in contact object record,,,
Please help me to update a contact records on change a change of custom record. ,,
List<contact> listcontact = new List<contact>();
for (Student_Profile__c oStudent : trigger.new) {
contact oContact = new contact();
oContact.AccountId = oStudent.Current_Institution__c;
oContact.firstName = oStudent.First_Name__c;
oContact.LastName =oStudent.Last_Name__c;
oContact.Attendance_Points__c = oStudent.Attendance_Points__c;
oContact.Birthday__c = oStudent.Birthday__c;
oContact.City__c = oStudent.City__c;
oContact.Country__c = oStudent.Country__c;
oContact.Course_Program__c = oStudent.Course_Program__c;
oContact.Course_Name__c = oStudent.Course_Name__c;
oContact.Course_No__c = oStudent.Course_No__c;
oContact.imageURL__c = oStudent.imageURL__c;
oContact.Institution_Name__c = oStudent.Institution_Name__c;
oContact.Student_ID__c=ostudent.Student_ID__c;
oContact.Mentor_Points__c = oStudent.Mentor_Points__c;
oContact.Mentor_Points_2__c = oStudent.Mentor_Points_2__c;
listcontact.add(oContact);
}
if (listcontact.isEmpty() == false) {
Database.insert(listcontact);
}
here student.Student_ID__c is unique custom ffield, Now i can insert a record in a contact but I cant update it.. Means if i make any changes in custom object record then it not poulating in contact object record,,,
Please help me to update a contact records on change a change of custom record. ,,
Have you tried to use the following line:
Database.insert(listcontact);Pablo
I tried that.. but its not working...
Now i insert a records but i cant update it, may b i have use field mapping using unique field student_ID__c, But i dont know how to do that
You have to create trigger on after update also to update contact record on updation of student record. and create student_Id__c field in contact to external Id.
see below updated trigger code.
Apex Trigger:
trigger createcontact on student_profile__c (after insert, after update) {
List<contact> listcontact = new List<contact>();
for (Student_Profile__c oStudent : trigger.new) {
contact oContact = new contact();
oContact.LastName =oStudent.Name;
oContact.Student_ID__c =oStudent.Student_ID__c;
oContact.AccountId = oStudent.Current_Institution__c;
oContact.firstName = oStudent.First_Name__c;
oContact.LastName =oStudent.Last_Name__c;
oContact.Attendance_Points__c = oStudent.Attendance_Points__c;
oContact.Birthday__c = oStudent.Birthday__c;
oContact.City__c = oStudent.City__c;
oContact.Country__c = oStudent.Country__c;
oContact.Course_Program__c = oStudent.Course_Program__c;
oContact.Course_Name__c = oStudent.Course_Name__c;
oContact.Course_No__c = oStudent.Course_No__c;
oContact.imageURL__c = oStudent.imageURL__c;
oContact.Institution_Name__c = oStudent.Institution_Name__c;
oContact.Student_ID__c=ostudent.Student_ID__c;
oContact.Mentor_Points__c = oStudent.Mentor_Points__c;
oContact.Mentor_Points_2__c = oStudent.Mentor_Points_2__c;
listcontact.add(oContact);
}
if (listcontact.isEmpty() == false) {
Database.upsert(listcontact,contact.Student_ID__c);
}
}
Thank You,
Hitesh Patel
SFDC Certified Developer & Administrator & Advanced Administrator & Sales cloud consultant
Email :- hiteshpatel.aspl@gmail.com
My Blog:- http://mrjavascript.blogspot.in/
already i have created custom field student_id__c in contact object. and Student_id__c is a custom field in student object which is Autonumber ..
so when i create this student record then automaticataly new contact record shoud be created, its working fine now,, but if i update any field value in student record then related contact field is not updating..
ex: if i create student record as First name: Hitesh Last name:Patel
now automaticaly Contact record is created : FN: Hitesh and LS:Patel
now in student if change First name as: Hitesh99 then it should be automaticaly update in contact recors... student and contact r non-related objects..
oContact.Student_ID__c=ostudent.Student_ID__c;
it should give you compile error.
Error: Compile Error: Field is not writeable: Contact.Student_ID__c at line
just i want to populate student record i contact object...
so i have created custom field Stuent_ID__c in contact with Text as a DATA TYPE..
but in Contact object it is Text field which just populate the value of student ID field value...