Salesforce查找字段显示ID值而不是记录名称

时间:2019-10-21 16:00:52

标签: salesforce apex

嗨,我有一个自定义对象,该对象具有一个类型为Account的自定义字段。创建客户记录时将创建子自定义记录。我要在Account上插入触发器后在中创建子记录,并使子记录的名称与Account的名称相同。

但是以该名称,我得到的是15位ID,而不是帐户的真实名称。可能是什么问题?

用于触发器的代码##

 if(Trigger.isAfter && (Trigger.isInsert)){
     AccountTriggerHelper.createReferrer(Trigger.new);
        }

在Apex类中:

public static void createReferrer(List<Account> accountList){
        List<Referral__c> newReferral = new List<Referral__c>();
        for(Account acc : accountList) {
            if(acc.Talos_RecordType__c=='Referrer'){
                system.debug('==acc=1='+acc);
                Referral__c ref = new Referral__c();
                System.debug('-----acc.Name----'+acc.Name);
                ref.Name = acc.Name;
                ref.Account__c = acc.Id;  
                ref.Email__c = acc.PersonEmail;
                ref.Talos_IQOS_Expert_ID__c = acc.Talos_IQOS_Expert_ID__c;
                ref.Talos_Referrer_Type__c = acc.Referrer_Type__c;
                ref.User_Id__c = acc.UserID__c;
                ref.Email_Validation__c = true;
                ref.Store_Code__c = acc.Store_Code__c;
                newReferral.add(ref); 
                system.debug('==referral=1='+newReferral);
            }
        }

谢谢, 马克

1 个答案:

答案 0 :(得分:0)

此代码无法导致在“名称”字段中填充ID。帐户或子对象或组织上的任何工作流,流程构建器上可能还有另一个触发器,可以再次创建该更改。您可以检查子记录的创建日期和修改日期吗? 如果它们不同,那么很可能我是对的。