如何在Lead自定义公式字段中获取潜在客户的名称?

Jor*_*son 3 salesforce

我有一个应用程序通过API从Salesforce读取Lead记录,我想将Lead Owner字段链接到应用程序中的属性."所有者"字段不在可用字段列表中,但所有自定义字段都在.

因此,我首次尝试解决方案是创建一个显示"所有者"名称的自定义字段.在SF公式编辑器中,据我所知,它不显示实际的数据字段,而是显示ID字符串.在我需要的环境中,这是毫无意义的.

alt text http://skinny.fire-storm.net/forposting/insertfield.JPG

有没有办法可以获取ID字符串引用的对象中的数据?

alt text http://skinny.fire-storm.net/forposting/havewant.JPG

我有RED BOX但需要GREEN BOX.

编辑:我无法更改调用API的应用程序代码.我只能改变销售人员.因此,这更像是一个salesforce超级用户/公式编写者问题,而不是编写调用SF API的代码的问题.

Ada*_*ler 5

Salesforce允许通过他们称之为关系查询的方式访问相关数据.您可以像这样指定查询,而不是加入:

System.debug([SELECT Owner.Name FROM Lead WHERE Id ='00QS00000037lvv'].Owner.Name);

尝试在系统日志中运行它,只需将引导ID替换为您正在查看的引导ID.

通过API访问数据时,原理是相同的,您的代理对象应该允许您访问Lead.Owner.Name.

编辑:

我同意eyecream,因为你无法改变应用程序代码,创建Apex触发器将是最好的方法.这里有一些代码可以帮助您入门:

trigger Lead_UpdateOwner on Lead(before insert, before update)
{
    Map<Id, String> ownerMap = new Map<Id, String>();
    for (Lead lead : Trigger.new)
    {
        ownerMap.put(lead.OwnerId, null);
    }

    if (ownerMap.size() > 0)
    {
        for (User[] users : [SELECT Id, Name FROM User WHERE Id IN :ownerMap.keySet()])
        {
            for (Integer i=0; i<users.size(); i++)
            {
                ownerMap.put(users[i].Id, users[i].Name);
            }
        }
        for (Lead lead : Trigger.new)
        {
            lead.OwnerName__c = ownerMap.get(lead.OwnerId);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

lead.OwnerName__c需要是将保留所有者名称的主导对象上的自定义字段的名称.输入文字,长度121.