Есть кастомный объект. У него лукап на Enquiry(Case).
Задача: Нужно после создания кастомного объекта создавать шаринг рул, read only для кейс овнера. Написал триггер который на after insert запускает етот код
public without sharing class CustomObjectServices {
public static void CreateSharingRule(Map<Id, Custom_object__c> customObjectMap){
List<Custom_object__share> sharingRuleList = new List<Custom_object__share>(); for(Custom_object__c quality : customObjectMap.values()){
Quality_Checks__share sharingRule = new Quality_Checks__share();
sharingRule.AccessLevel = 'Read';
sharingRule.UserOrGroupId = quality.Enquiry__r.OwnerId;
sharingRule.ParentId = quality.Id;
sharingRule.RowCause = Schema.Custom_object__Share.RowCause.Manual;
sharingRuleList.add(sharingRule);
}
insert sharingRuleList;
}
}
Овнер кейса и записи в кастомном объекте один и тот же человек ?
Только что узнал что нельзя создавать шаринг рул на овнера кейса. Походу проблема решена.
а еще такое. В тригерре нету рилейшенов? Типа quality.Enquiry__r.OwnerId мне не увидеть? Нужно делать СЕЛЕКТ?
Да. В триггер попадают только поля первого порядка. Все что второго и дальше надо делать новый запрос.