【发布时间】:2018-06-29 08:09:20
【问题描述】:
所以我写了一个触发器来防止用户在同一个机会中输入多个机会产品,但问题是当他同时添加多个机会产品时,我的触发器不会触发,销售人员会接受它作为一个产品。 我可以在触发器中添加什么来解决这个问题?
我的触发器:
trigger OpportunityLineItemBeforeInsert on OpportunityLineItem (before insert) {
Set<Id>opportunityIds = new Set<Id>();
// get all parent IDs
for(OpportunityLineItem i : trigger.new)
{
opportunityIds.add(i.OpportunityId);
}
// query for related Olis (Opportunity Line Items)
Map<Id, Opportunity> opps = new Map<Id, Opportunity>([SELECT ID,
(SELECT ID
FROM OpportunityLineItems)
FROM Opportunity
WHERE ID IN :opportunityIds]);
for(OpportunityLineItem i : trigger.new)
{
if(opps.get(i.OpportunityId).OpportunityLineItems.size()>0)
{
i.addError('Your Message');
}
}
}
提前谢谢你。
【问题讨论】:
标签: triggers salesforce apex