【问题标题】:Salesforce: Picklist(multiple) with dynamic valueSalesforce:具有动态值的选项列表(多个)
【发布时间】:2012-08-24 12:55:44
【问题描述】:

我已在 Salesforce 中使用选项列表(多个)将自定义字段添加到客户。但是选择列表的值应该是从其他对象动态生成的。如果没有,是否可以从本机应用程序(用 ruby​​ 编写)推送选择列表中的值?

【问题讨论】:

  • 为了其他有类似问题的人,您能提供您使用的解决方案吗?
  • @GerardSexton:我用 ruby​​ 编写了一个脚本,为选择列表增加了价值。
  • 你能详细说明一下吗?您如何在 Salesforce 上执行您的 ruby​​ 代码?您在使用 Salesforce 站点吗?

标签: salesforce custom-fields


【解决方案1】:

我认为标准控制器不支持动态添加可能的选择列表(选择列表)值。

您可以做的是添加一个文本字段而不是一个选项列表,并使用 visualforce 创建一个自定义页面。为您的代码使用带有扩展名的标准控制器。 创建一个新的自定义对象来保存字段的选项列表值(可以重复用于其他字段)。用可能的选项列表值填充它。
在页面控制器中,加载该字段的值。
在 visualforce 中,显示自定义字段的选择列表并从控制器加载值。
如果需要,请添加额外的输入字段以手动插入。
保存时,将选项列表(或输入框)的值插入自定义字段。

更详细的指南可以找到here

【讨论】:

    【解决方案2】:

    为什么不在 Apex 中使用普通的 SelectOption 列表?

    public List<SelectOption> getMyPicklist()
    {   
        List<SelectOption> options = new List<SelectOption>();
        List<Account> acc = [ Select Id, Name From  Account Limit 10 ];
    
        for(Account a : acc){
            options.add(new SelectOption(a.Id,a.Name));
        }
    
        return options;
    }
    

    【讨论】:

    • 实际上我希望我的字段是帐户中的自定义字段。我对 sfdc 很陌生
    • 但是你为什么要用其他来源的数据来填充这个列表呢?我的意思是自定义字段(选择列表)中的值存储在 salesforce 数据库中。
    • 从其他对象动态生成是什么意思。什么对象?
    • 我认为他指的是选项列表值。当您添加一个选项列表时,您会在那里设置所有值。他想知道你是否可以动态地做到这一点。
    【解决方案3】:

    我必须使用我的数据库(而不是某些 visualforce 页面)中的值更新选项列表。所以我使用 Databasedotcom gem 对帐户进行了身份验证,它提供了很好的 Api 来与 Salesforce 对象(标准和自定义)进行迭代。

     client.authenticate :token => "my-oauth-token", :instance_url => "http://na1.salesforce.com"  #=> "my-oauth-token"
    
     account = client.materialize("Account")
     account_to_be_updated = account.find(account_id) # here account is same as Instance of Activerecord
     account_to_be_updated.my_picklist = [value1; value2; value3; value4]
     account_to_be_updated.save
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-12
      • 1970-01-01
      • 2015-06-18
      • 2011-12-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多