gpt4 book ai didi

reflection - 如何描述(枚举)对 Salesforce 中的特定记录类型有效的选项列表实体?

转载 作者:行者123 更新时间:2023-12-04 11:29:12 24 4
gpt4 key购买 nike

在顶点代码中,我想枚举一个选项列表字段的合法值。为此,我可以调用 Account.Foobar__c.getDescribe().getPickListValues()我有一个 Schema.PickListEntry 值的列表。

但是,可以为给定的 sObject 设置多种记录类型。例如,帐户可能具有“制造商”、“分销商”和“零售商”记录类型。在 Salesforce 设置中,可以根据记录类型编辑(限制)每个字段的选项列表条目。因此,零售商类型的帐户可能只使用 Foobar 字段的选项列表值的子集。

所以基本上我想要Account.Foobar__c.getDescribe().getPickListValues('Retailer')然而,这不是语法。 validFor 方法看起来很有希望,但它似乎只适用于依赖于字段的选项列表 - 仅按记录类型过滤的选项列表对于 isDependentPicklist 返回 false .

最佳答案

我知道这是一篇旧帖子,但也许下面的信息会帮助仍然需要答案的人。

我找到了here实际上可以通过调用 describeLayout() 来获取特定于记录类型的选项列表值的列表。

使用您的示例(C#):

DescribeLayoutResult 结果 = binding.describeLayout("Account", new string[] { "01230000000xxXxXXX"} );
PicklistEntry[] values = result.recordTypeMappings[0].picklistsForRecordType[12345].picklistValues;

  • 将“01230000000xxXxXXX”替换为您的零售商记录类型对象的 RecordTypeId。使用查询“SELECT Id FROM RecordType WHERE Name = 'Retailer'”来获取值。
  • 将 12345 替换为您想要获取值的选项列表对象的索引。
  • 关于reflection - 如何描述(枚举)对 Salesforce 中的特定记录类型有效的选项列表实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7810801/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com