Apex 触发器根据联系人插入在相关自定义对象中插入记录
Apex trigger to insert record in a related custom object based on insert on contact
我有一个名为 'contact relationship' 的自定义对象,它具有联系人查找功能,并且我添加了一个名为 'relationship' 的复选框类型的自定义字段。
我想编写一个触发器,如果关系复选框值为真,则每次在联系人中添加一条记录时都会在联系人关系中添加一条记录。
这就是我所做的,但它不起作用。
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;
}
当我插入新的联系人记录时,没有创建联系人关系记录。
尝试更改
cr.Contact__c=con.name;
从 con.name 到 con.id 或者只是 con;
您似乎刚刚尝试将包含 mohit 的名称字段设置为联系人对象。
我认为你的代码是准确的,所以你应该检查你的触发器是否处于活动状态。在触发器编辑页面上,有一个“Is Active”复选框,您可以使用它来停用或激活触发器。确保已选中。
此外,联系人姓名是一个复合字段,因此要准确获取姓名,您需要使用
cr.Name='Rel to--' + con.FirstName +' '+ con.LastName;
我有一个名为 'contact relationship' 的自定义对象,它具有联系人查找功能,并且我添加了一个名为 'relationship' 的复选框类型的自定义字段。 我想编写一个触发器,如果关系复选框值为真,则每次在联系人中添加一条记录时都会在联系人关系中添加一条记录。 这就是我所做的,但它不起作用。
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;
}
当我插入新的联系人记录时,没有创建联系人关系记录。
尝试更改
cr.Contact__c=con.name;
从 con.name 到 con.id 或者只是 con;
您似乎刚刚尝试将包含 mohit 的名称字段设置为联系人对象。
我认为你的代码是准确的,所以你应该检查你的触发器是否处于活动状态。在触发器编辑页面上,有一个“Is Active”复选框,您可以使用它来停用或激活触发器。确保已选中。
此外,联系人姓名是一个复合字段,因此要准确获取姓名,您需要使用
cr.Name='Rel to--' + con.FirstName +' '+ con.LastName;