Triggers Apex触发器,用于基于触点插入在相关自定义对象中插入记录
我有一个名为“contact relationship”的自定义对象,该对象具有对contact的查找功能,并且我在contact中添加了一个名为“relationship”的复选框类型的自定义字段。 我想写一个触发器,如果关系复选框值为true,则每次在联系人中添加记录时,都会在联系人关系中添加记录。 这就是我所做的,但它不起作用Triggers Apex触发器,用于基于触点插入在相关自定义对象中插入记录,triggers,salesforce,apex,soql,sfdc,Triggers,Salesforce,Apex,Soql,Sfdc,我有一个名为“contact relationship”的自定义对象,该对象具有对contact的查找功能,并且我在contact中添加了一个名为“relationship”的复选框类型的自定义字段。 我想写一个触发器,如果关系复选框值为true,则每次在联系人中添加记录时,都会在联系人关系中添加记录。 这就是我所做的,但它不起作用 trigger ContactRelationshipTrigger on Contact (after insert) { List<Con
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;
}
trigger contactrelationshipprigger on Contact(插入后){
List crl=新列表();
List cl=新列表();
用于(联系人:触发器。新){
if(con.Relationship_uuc==true){
联系人关系=新联系人关系();
cr.Contact_uu_c=con.Id;
cr.Name='Rel to--'+con.Name;
添加(cr);
}
}
插入crl;
}
插入新联系人记录时,未创建任何联系人关系记录。尝试更改 cr.Contact_uu_uc=con.name 从con.name到con.id或仅从con
看起来您刚刚尝试将包含mohit的name字段设置为contact对象 我认为您的代码是准确的,所以您应该检查触发器是否处于活动状态。在触发器编辑页面上有一个“处于活动状态””复选框,可用于禁用或激活触发器。确保它已被选中 此外,联系人姓名是一个复合字段,因此要准确获取姓名,您需要使用该字段
cr.Name='Rel to--' + con.FirstName +' '+ con.LastName;
我已经编辑了这个问题。我做了你建议的事情,但仍然不起作用。为你的
crl
列表添加调试,它是否正在填充?它起作用,但问题是我在联系人关系对象中得到的不是名称而是null。问题在这一行:-cr.Name='Rel to--'+con.Name;请参阅已编辑的解决方案,基本上它是一个复合字段,因此您需要使用单个零件无问题,标记为解决方案?