Напишите триггер для Пользователя, чтобы он предотвращал удаление Пользователя, если у Пользователя есть связанный Контакт.
[Примечание. Не тестировалось в консоли разработчика]
trigger AccountTrigger on Account(before delete) { switch on Trigger.operationType { WHEN BEFORE_DELETE { AccountTrigger.beforeDelete(Trigger.new); } } } public class AccountTriggerHandler { public static void beforeDelete(List<Account> accList) { Set<Id> accIds = new Set<Id>(); for(Account acc : accList) { accIds.add(acc.Id); } Map<Id, AggregateResult> conToAccMap = new Map<Id, AggregateResult>([SELECT AccountId Id, COUNT(Id) ContactCount FROM Contact WHERE AccountId IN : accIds]); if(conToAccMap.size() > 0) { for(Account acc : accList) { AggregateResult ar = conToAccMap.get(acc.Id); Integer val = Integer.valueOf(ar.get('ContactCount')); if(val > 0) { acc.addError('Account can't be deleted!'); } } } } }