кажется, что проблема будет на линии
o.Benefit_ID__c = shippingNumToContactMap.get (o.Bundle__c) .id; Вы пытаетесь получить значение из карты с помощью ключа, но не проверяете, присутствует ли ключ на карте.
попробуйте добавить проверку того, что ключ находится на карте, прежде чем пытаться получить значение для него.
trigger updatelookupfield_Customer on Customer__c (before insert,before update) {
Set<String> Bundle = new Set<String>();
for (Customer__c Cust : Trigger.new) {
Bundle.add(Cust.Bundle__c);
}
List<Benfit__c> BenfitList = [SELECT id, Bundle__c FROM Benfit__c WHERE Bundle__c IN :Bundle];
Map<String, Benfit__c> shippingNumToContactMap = new Map<String, Benfit__c>();
for (Benfit__c c : BenfitList) {
shippingNumToContactMap.put(c.Bundle__c, c);
}
for (Customer__c o : Trigger.new) {
if (o.Bundle__c != null && shippingNumToContactMap.containsKey(o.Bundle__c)) {
o.Benefit_ID__c = shippingNumToContactMap.get(o.Bundle__c).id;
}
else {
o.Benefit_ID__c = null;
}
}
}
Svatá