0

我有一个名为“联系人关系”的自定义对象,该对象具有联系人查找功能,并且我在联系人中添加了一个名为“关系”的复选框类型的自定义字段。我想编写一个触发器,如果​​关系复选框值为真,则每次在联系人中添加记录时都会在联系人关系中添加一条记录。这就是我所做的,但它不起作用。

trigger ContactRelationshipTrigger on Contact (after insert) {    
    List<Contact_Relationship__c> crl = new List<Contact_Relationship__c>();
    List<Contact> cl = new List<Contact>();
    for(contact con: trigger.new){
        if(con.Relationship__c == true){
            Contact_Relationship__c cr = new Contact_Relationship__c();
            cr.Contact__c=con.Id;
            cr.Name='Rel to--' + con.Name;
            crl.add(cr);
        }       
    }      
    insert crl;
} 

当我插入新的联系人记录时,没有创建联系人关系记录。

4

2 回答 2

0

尝试改变

cr.Contact__c=con.name;

从 con.name 到 con.id 或只是 con;

看起来您只是尝试将包含 mohit 的名称字段设置为联系人对象。

于 2017-06-14T13:08:34.063 回答
0

您的代码对我来说似乎是准确的,因此您应该检查您的触发器是否处于活动状态。在 Trigger 编辑页面上有一个“ Is Active ”复选框,您可以使用它来停用或激活触发器。确保它已被选中。

此外,联系人姓名是一个复合字段,因此要准确获取姓名,您需要使用

 cr.Name='Rel to--' + con.FirstName +' '+ con.LastName;
于 2017-06-14T20:00:40.993 回答