使用触发器向潜在客户中的名称添加前缀

Adding Prefix to Name in lead using triggers

每当创建新的潜在客户记录时,我都想将前缀添加为 'Dr'。每个新创建的 record.Here 是我的代码

trigger prefixdoc on Lead (before insert) {
   
  list<Lead>listlead = Trigger.new;
   
   for(lead l:listlead){
     l.firstname = 'Dr.'+l.firstname;
   }
}

现在如果我用

创建一条记录

Rosy as lastname

The record is saved as Dr.nullRosy.

为什么我得到的是空...?? 谁能给我解释一下....

系统通过连接字段 FirstNameLastName 自动计算联系人和潜在客户的 Name 字段,因此 Firstame 存储为 null 如果你没有明确指定它。由于您在初始化 FirstName 的值之前添加了一个字符串,因此它包括 null 的字面值,转换为字符串以供 UI 使用。

初始化一个 FirstName 值,null 将不会被包含在内。如果提供了 FirstName,您是否只想添加 "Dr."?

这会打印出 "Dr.null":

Lead l = new Lead(LastName = 'Rosy', Company = 'Apple');
l.FirstName = 'Dr.' + l.FirstName;
insert l;
System.debug(l.FirstName);

有点多余,但出于说明目的,这会打印 "Dr."

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;
  }

}

这将在 lead 的名称字段前面添加 mr ..您可以根据您的要求进行自定义