2015-09-20 91 views
0

只要創建一個新的潛在顧客記錄,我想添加前綴,如導致名稱「Dr'.to每個新創建的record.Here是我的代碼添加前綴使用觸發器

trigger prefixdoc on Lead (before insert) { 

    list<Lead>listlead = Trigger.new; 

    for(lead l:listlead){ 
    l.firstname = 'Dr.'+l.firstname; 
    } 
} 

現在,如果我創建與

玫瑰作爲姓氏

記錄保存爲Dr.nullRosy記錄。

爲什麼我得到空......? 任何人都可以請解釋一下我....

回答

0

系統autocalculates上聯繫Name領域,通過連接領域FirstNameLastName鉛,所以Firstame存儲爲null如果你沒有明確指定它。由於您在初始化FirstName的值之前預先添加了字符串,因此它包含null的字面值,並將其轉換爲用於UI使用的字符串。

初始化一個FirstName值,並且不包含null。你只想添加一個「博士」如果提供FirstName?

這版畫 「Dr.null」:

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

和略顯多餘,而是爲了說明,但這打印 「博士」

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

嘿@布萊恩曼斯菲爾德.....謝謝你..... :-) – Sravanthy

0

觸發鉛前綴上的帳戶(插入前){

for(lead a: trigger.new) 
{ 

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

} 

此西港島線的名稱字段前加先生在lewad ..你可以根據你的要求定製