Ваш ruMap
имеет ключи, сделанные из EIP_Lead_Rental_Object__c
идентификаторов. Но вы пытаетесь вызвать get()
с помощью идентификаторов возможностей. Это никогда не сработает. Я удивлен, что это не приведет к ошибке, связанной с нулем
Возможно, вам нужно что-то вроде
Map<Id,EIP_Lead_Rental_Object__c> ruMap = new Map<Id,EIP_Lead_Rental_Object__c>();
for(EIP_Lead_Rental_Object__c obj : [select Id, EIP_Opportunity__c from EIP_Lead_Rental_Object__c where EIP_Opportunity__c in : OppIds]){
ruMap.put(obj.EIP_Opportunity__c, obj);
}
и тогда вы можете
for(Attachment file : Trigger.new){
if(ruMap.containsKey(file.ParentId)){
Attachment newFile = file.clone();
newFile.ParentId = ruMap.get(file.ParentId).Id;
attachments.add(newFile);
}
}