3
리드 객체에서 데이터를 가져 와서 리드를 생성하거나 업데이트 할 때 사용자 정의 "Finance"객체에 배치하는 간단한 트리거가 있습니다. 어떤 이유로 Trigger.new [i] .Id는 삽입 전에 트리거되는 트리거에서 NULL을 반환합니다.리드를 삽입하지 않기 전에 리드를 반환합니다 .Id
trigger FinanceNew on Lead (before insert) {
Map<String,User> userList = new Map<String,User>{};
// Places each returned user into a map with their sfID as the key
for(User tmp : [SELECT Id,Name,Email,Phone FROM User]){
userList.put(tmp.Id,tmp);
}
for(integer i = 0; i<Trigger.new.size(); i++){
string leadName = null;
if(Trigger.new[i].FirstName != ''){
leadName = Trigger.new[i].FirstName + ' ' + Trigger.new[i].LastName;
}else{
leadName = Trigger.new[i].LastName;
}
User ownerInfo = userList.get(Trigger.new[i].OwnerId);
ID leadId = Trigger.new[i].Id; // THIS IS RETURNING NULL!!
Finance__c financeRecord = new Finance__c(
Name = leadName,
Lead__c = leadId,
Lead_Email__c = Trigger.new[i].Email,
Lead_Phone__c = Trigger.new[i].Phone,
Lead_Owner_Name__c = ownerInfo.Name,
Lead_Owner_Email__c = ownerInfo.Email,
Lead_Owner_Phone__c = ownerInfo.Phone
);
insert financeRecord;
}
}
주어진 사전에 어떤 도움을 주셔서 감사합니다 :
나는 이드 NULL 것이 어떤 이유를 볼 수 없기 때문에 내가 미친거야 ... 여기 내 코드입니다! 어떤 이유 조쉬
나는 절대 절경처럼 느껴진다. 이것은 정확히 문제였습니다. 감사! – VictorKilo