2017-06-14 66 views
0

我有一個自定義對象稱爲'聯繫關係'有聯繫查找,我已添加聯繫人中稱爲'關係'的類型複選框的自定義字段。 如果關係複選框的值爲true,我想寫一個觸發器,每次在聯繫人中添加一條記錄時,都會在聯繫關係中添加一條記錄。 這就是我所做的,但它不工作。頂點觸發器插入記錄在相關的自定義對象的基礎上插入聯繫人

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

當我插入一個新的聯繫人記錄沒有聯繫關係記錄正在創建。

+0

添加調試在你的'crl'名單,是得到填充? – EricSSH

回答

0

您的代碼看起來對我來說是準確的,所以您應該檢查您的觸發器是否處於活動狀態。在觸發器編輯頁面上,有一個「是有效的」複選框,您可以使用該複選框來取消激活或激活觸發器。確保它被檢查。

而且聯繫人姓名是複合字段,以便準確地得到名字,你需要使用

cr.Name='Rel to--' + con.FirstName +' '+ con.LastName; 
+0

它正在工作,但問題是,而不是名字我在接觸關係對象中變爲空。問題出現在這一行: - cr.Name ='Rel to--'+ con.Name; –

+0

看到編輯的解決方案,基本上它是一個複合領域,所以你需要使用個別部分 –

+0

這是一個愚蠢的錯誤。非常感謝 –

0

嘗試更改

cr.Contact__c = con.name;

from con.name to con.id or just con;

它看起來像你只是試圖設置名稱字段,其中包含mohit聯繫對象。

+0

我編輯了這個問題。我做了你建議仍然不能工作的東西。 –