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
valentinoromelivalentinoromeli 

DML operation on non-setup object is not supported after you have updated a setup object:

/*This trigger should update a custom object in Saleforce after a User is being updated or inserted
Instead it throws the following exception.
MIXED_DML_OPERATION, DML operation on non-setup object is not supported after you have updated a setup object: SF_User__c: [Id]:
Trigger.UsersTableChangedUpdateSFUserC: line 33, column 20
Who can help me out with this one... Thx in advance.
*/

trigger UsersTableChangedUpdateSFUserC on User (after insert, after update) { if (Trigger.isInsert) { for (User u : Trigger.new) { SF_User__c newUser = new SF_User__c( Username__c = u.Username, Name__c = u.Name, UserId__c = u.Id); insert newUser; } } else { for (Integer i = 0; i < System.Trigger.new.size(); i++) { //get all updates String userID = System.Trigger.new[i].Id; Integer count = [select count() from SF_User__c where UserId__c = :userID]; if (count >0) { //update //SF_User__c updateUser = [select Id, UserId__c, Naam__c, Gebruikersnaam__c from SF_User__c where UserId__c = :userID]; //update updateUser ; } else{ //insert for (User u : Trigger.new) { SF_User__c newUser = new SF_User__c( Username__c = u.Username, Name__c = u.Name, UserId__c = u.Id); insert newUser; } } } } }
jpwagnerjpwagner

I had the same issue.

Funniest workaround ever: set your API version back to 12.0...