0

我正在使用顶点触发器,并且在选择“联系人”时不断出错 forceide说没有关于opportunitycontactrole的联系我没有想法。

到目前为止,这是我的代码:

在机会上触发 add_primary_advisor(插入后,更新后){ List primaries=new List();

 for(Opportunity o:
    [Select Contact
    From OpportunityContactRole
    Where OpportunityContactRole='Staff' and isPrimary='True']) {

    primaries.add(Contact);
    }
    return primaries;

}
4

3 回答 3

0

由于您没有提供确切的错误,我将假设该错误是因为您试图将一个不存在的变量“Contact”添加到您的列表“primaries”中。您可能想要添加的是“o.Co​​ntact”。

于 2013-07-08T16:17:10.000 回答
0

转到 OpportunityContactRole,并检查 Contact 是否存在。可能是 Contact__C 更有可能。

问题肯定出在 SOQL 查询上。

于 2013-07-09T04:37:16.330 回答
0

联系人不是 OpportunityContactRole 上的有效字段

此对象仅将联系人的引用存储为 ContactId。

如果您想从 OpportunityContactRole 访问联系人的字段,您可以通过交叉引用其字段来访问,如下所示。

List<Contact> primaries = new List<Contact>();
for(Opportunity o:
    [Select Contact.FirstName, Contact.LastName, Contact.Email
     From OpportunityContactRole
     Where OpportunityContactRole='Staff' and isPrimary='True']) {
   primaries.add(new Contact(FirstName=o.Contact.FristName, 
            LastName = o.Contact.LastName, Email =o.Contact.Email));
}    
于 2013-07-09T17:54:16.473 回答