【问题标题】:Salesforce Lookup field showing ID value instead of record name显示 ID 值而不是记录名称的 Salesforce 查找字段
【发布时间】:2020-02-17 18:20:22
【问题描述】:

您好,我有一个自定义对象,它有一个类型为 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);
            }
        }

谢谢, 马克

【问题讨论】:

  • 您在哪里看到显示的名称?你确定这是名称字段吗?如果您在开发者控制台中运行它会显示什么? SELECT Name FROM Referral__c
  • 显示的名称是 15 位数的帐户 ID。我在列表中查找,记录详细查看。
  • 您是否运行了查询?
  • 是的,只有 15 位 ID :(

标签: salesforce apex


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 2013-05-23
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    相关资源
    最近更新 更多