Искам да клонирам записа Profile__c. Потенциалният клиент има профил__c, свързан с него. Когато се случи преобразуване, Profile_c на потенциалния клиент се копира в създадения акаунт. Това, което трябва да направя, е дълбоко клониране на Profile__c в новия акаунт, създаден след преобразуването. Мога да копирам profile_c, но клонирането извежда тази грешка:
Грешка: System.DmlException: Неуспешна актуализация. Първо изключение на ред 0 с id 00QJ0000007dDmHMAU; първа грешка: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, профил: изпълнение на AfterUpdate, причинено от: System.DmlException: Вмъкването е неуспешно. Първо изключение на ред 0; първа грешка: CANNOT_UPDATE_CONVERTED_LEAD, не може да се препрати преобразуван потенциален клиент: [] Trigger.profile:, колона 1: [] (системен код)
trigger profile on Lead (after update) {
Map<Id, Lead> cl = new Map<Id,Lead>();
Lead parent;
List<Contact> clist = new List<Contact>();
Set<Id> convertedids = new Set<Id>();
//list of converted leads
for (Lead t:Trigger.new){
Lead ol = Trigger.oldMap.get(t.ID);
if(t.IsConverted == true && ol.isConverted == false)
{
cl.put(t.Id, t);
convertedids.add(t.ConvertedContactId);
}
}
Set<Id> leadIds = cl.keySet();
List<Profile__c> mp = [select Id, lock__c, RecordTypeId, reason__c, End_Date__c,startus__c , Opportunity__c, Account__c, Lead__c from Profile__c where Lead__c in :leadIds];
List<ID>AccountIDs = new List<ID>();
List<Profile__c>clonedList = new list<Profile__c>();
for (Profile__c mpi:mp){
parent = cl.get(mpi.Lead__c );
mpi.opportunity__c = parent.ConvertedOpportunityId;
mpi.account__c = parent.ConvertedAccountId;
AccountIDs.add(parent.ConvertedAccountId);
Profile__c profile = mpi.clone(false,true,false,false);
clonedList.add(profile);
mpi.lock__c= true;
mpi.reason__c= 'Converted';
}
update mp;
insert clonelist
}