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
krish@123krish@123 

Update a field on user object

Hi 
I  have requirement that we need to update a field on user object from custom object .Here we dunable to create lookup field to custom object from user object .


for example 

we have Qulification  field in custom object and also  there in User object

I want to update the Qulification  field value on  user object 


Please share your code if you have 


Thanks
 
Best Answer chosen by krish@123
sandeep sankhlasandeep sankhla
Hi,

You can write a trigger and then using below code you can update the saem..
 
Populatetrigger on Custom_Object__C (After insert, After update)
{
	list<user> lstUsersToUpdate = new list<user>();
	
   for(Custom_Object__C obj : trigger.new)
   {
			user objuser = new user(Id = obj.userlookupField)	;
			objuser.Qulification_field__c = obj.Qulification_field__c;
			lstUsersToUpdate.add(obj);
   }

	if(!lstUsersToUpdate.isEmpty())
		update lstUsersToUpdate;
Please check and let me knbow if ir helps you
Thanks,
Sandeep

All Answers

sandeep sankhlasandeep sankhla
Hi,

What is the relation between custom object and user object ?
 
krish@123krish@123

Hi sandeep,

           Thanks for reply

  I have took the lookup relationship  from custom object  to user
sandeep sankhlasandeep sankhla
okay so you have lookup on custom object for users...means custom object is a chil and whenever you are inserting and updating the custom object same field you want to populate on user object is this your need ?

 
krish@123krish@123
Yes exactly
sandeep sankhlasandeep sankhla
Hi,

You can write a trigger and then using below code you can update the saem..
 
Populatetrigger on Custom_Object__C (After insert, After update)
{
	list<user> lstUsersToUpdate = new list<user>();
	
   for(Custom_Object__C obj : trigger.new)
   {
			user objuser = new user(Id = obj.userlookupField)	;
			objuser.Qulification_field__c = obj.Qulification_field__c;
			lstUsersToUpdate.add(obj);
   }

	if(!lstUsersToUpdate.isEmpty())
		update lstUsersToUpdate;
Please check and let me knbow if ir helps you
Thanks,
Sandeep
This was selected as the best answer
krish@123krish@123
 trigger Populatetrigger on Department__c(before insert, before update)
{
    list<user> lstUsersToUpdate = new list<user>();
    
   for(Department__c obj : trigger.new)
   {
            user objuser = new user(Id = obj.User__c)   ;
            objuser.Qualification__c= obj.Qualification__c;
            lstUsersToUpdate.add(obj);
   }

    if(!lstUsersToUpdate.isEmpty())
        update lstUsersToUpdate;
        }

I am getting this type of error
 Incompatible element type Department__c for collection of User 
krish@123krish@123
At line number 9
 
sandeep sankhlasandeep sankhla
Hi


lstUsersToUpdate.add(obj);

in this you should add user object not department__C


lstUsersToUpdate.add(objuser); use this as its a user type list..

Thanks
 
krish@123krish@123
But sandeep  While inserting the data to custom object (
Department__c )

Iam getting following error

Error: Invalid Data. 
Review all error messages below to correct your data.
Apex trigger Populatetrigger caused an unexpected exception, contact your administrator: Populatetrigger: execution of AfterInsert caused by: System.DmlException: Update failed. First exception on row 0; first error: MISSING_ARGUMENT, Id not specified in an update call: []: Trigger.Populatetrigger: line 13, column 1
sandeep sankhlasandeep sankhla
It seems you have not provided the Id ..please check if you haev provided the id in user object
krish@123krish@123
Yes I have not provided the Id .
I have given id

Now its working!!

Thanks

 sandeep