Triggers 用于更新查找字段的Apex触发器(联系人)
需要一些关于如何通过apex触发器填充查找字段(联系人)的建议吗Triggers 用于更新查找字段的Apex触发器(联系人),triggers,salesforce,apex,Triggers,Salesforce,Apex,需要一些关于如何通过apex触发器填充查找字段(联系人)的建议吗 我已经在Idea对象上创建了一个名为Contact_uuc的查找字段 我想用createdby用户填充Contact_uuC,如果它来自web(createdby.Contact.Account.Name==“web创意”),并将其留空以供内部创意创建 我已经读取并创建了以下触发器,并且能够保存并运行。但是,在保存idea记录时,我收到一个错误:UpdateContactOnCompaints:由字段联系人的触发器更改的数据:类型
list oid=新列表();
对于(Idea o:trigger.new){
oid.添加(o.id);
}
map ExtendU=新地图(
[从Idea中选择CreatedbyID,其中id位于:oid]);
对于(想法o:触发器。新){
o、 Contact__c=ExtendU.get(o.id).CreatedbyID;
}
}在触发器中,用户id(创建创意的用户id)被分配给联系人自定义查找字段)
因此,它抛出了一个错误,数据由字段Contact:id值类型不正确的触发器更改:显示该错误是因为Contact\u\c字段似乎是其他对象而不是用户的查找字段。此外,由于Contact在Salesforce平台中是一个不同的实体,因此该字段名可能会误导您了解所引用的对象。
list<id> oid = new list<id>();
for(Idea o: trigger.new){
oid.add(o.id);
}
map<id, Idea> ExtendU = new map<id, Idea>(
[select CreatedbyID from Idea where id in: oid]);
for(Idea o: trigger.new){
o.Contact__c = ExtendU.get(o.id).CreatedbyID;
}