0

目前有两个 AppExchange 应用程序可以执行此操作,但我想知道是否有人知道如何在不安装应用程序的情况下执行此操作,因为我可以在组织中安装的应用程序数量有限。

触发器需要检查是否列出了联系人,如果没有,则应显示错误消息。我用验证规则尝试了这个,但没有运气,因为 OpportunityContactRole 是一个单独的对象。

有人可以提供他们的想法吗?

4

1 回答 1

1
trigger OpportunityBeforUpdate on Opportunity (before update) {
   set<Id> oppIdSet = new set<Id>();
   set<Id> OpportunityContactRoleIdSet = new set<Id>();
   for(Opportunity opp:trigger.new){
  if("Some condition")oppIdSet.add(opp.Id);
   }
 for(OpportunityContactRole ocr:[select Id,OpportunityId from OpportunityContactRole                                        where OpportunityId in:oppIdSet]){
OpportunityContactRoleIdSet.add(ocr.OpportunityId);
   }
  for(Opportunity opp:trigger.new){
if(oppIdSet.contains(opp.Id) && !OpportunityContactRoleIdSet.contains(opp.Id))
    opp.addError('Some error'); 
  }

}

于 2013-01-14T07:29:46.787 回答