Triggers 使用触发器向lead中的名称添加前缀

Triggers 使用触发器向lead中的名称添加前缀,triggers,apex,Triggers,Apex,每当创建一个新的Lead记录时,我都想在每个新创建的记录中添加前缀“Dr”。这是我的代码 trigger prefixdoc on Lead (before insert) { list<Lead>listlead = Trigger.new; for(lead l:listlead){ l.firstname = 'Dr.'+l.firstname; } } 在导线上触发prefixdoc(插入前){ ListLead=Trigger.n

每当创建一个新的Lead记录时,我都想在每个新创建的记录中添加前缀“Dr”。这是我的代码

trigger prefixdoc on Lead (before insert) {
   
  list<Lead>listlead = Trigger.new;
   
   for(lead l:listlead){
     l.firstname = 'Dr.'+l.firstname;
   }
}
在导线上触发prefixdoc(插入前){
ListLead=Trigger.new;
for(lead l:listlead){
l、 firstname='Dr.+l.firstname;
}
}
现在如果我用

玫瑰色

记录保存为Dr.nullRosy

为什么我会得到空的。。。??
有人能解释一下吗?

系统自动计算联系人和Lead上的
姓名
字段,方法是将
名字
姓氏
连接起来,因此如果您没有明确指定,那么
名字
将存储为
。由于您在初始化
FirstName
的值之前要预加一个字符串,因此它包括null的文本值,该值被转换为字符串以供UI使用

初始化
FirstName
值,空值将不包括在内。如果提供了名字,是否只想添加“Dr.”

这将打印“Dr.null”:

稍微有点多余,但为了便于说明,这张照片上显示的是“Dr.”

因此,您的最终代码可能如下所示:

trigger prefixdoc on Lead (before insert) {
  for (Lead l : Trigger.new){
    if (l.FirstName == null) {
      l.FirstName = '';
    }
    l.FirstName = 'Dr.'+ l.FirstName;
  }
}

客户触发潜在客户前缀(插入前){

这将在lewad中的名称字段前面添加mr。您可以根据需要定制

Lead l = new Lead(LastName = 'Rosy', Company = 'Apple');
l.FirstName = '';
l.FirstName = 'Dr.' + l.FirstName;
insert l;
system.debug(l);
trigger prefixdoc on Lead (before insert) {
  for (Lead l : Trigger.new){
    if (l.FirstName == null) {
      l.FirstName = '';
    }
    l.FirstName = 'Dr.'+ l.FirstName;
  }
}
for(lead a: trigger.new)
{

a.name= 'Mr'+' ' +   a.name;
  }

}