Dav*_*vid 7 reflection salesforce
在顶点代码中,我想枚举一个选项列表字段的合法值.要做到这一点,我可以调用Account.Foobar__c.getDescribe().getPickListValues(),我有一个Schema.PickListEntry值列表.
但是,可以为给定的sObject设置多个记录类型.例如,帐户可能具有"制造商","分销商"和"零售商"记录类型.在Salesforce设置中,可以根据记录类型编辑(限制)每个字段的选项列表条目.因此,零售商类型帐户可能仅使用Foobar字段的选项列表值的子集.
所以基本上我想要的Account.Foobar__c.getDescribe().getPickListValues('Retailer')不过这不是语法.validFor方法看起来很有希望,但看起来它只适用于字段相关的选项列表 - 仅按记录类型过滤的选项列表返回false isDependentPicklist.
小智 6
我知道这是一个老帖子,但是下面的信息可能会帮助那些仍然需要答案的人.
我在这里发现,通过进行describeLayout()调用,实际上可以获得记录类型特定选项列表值的列表.
使用您的示例(C#):
DescribeLayoutResult result = binding.describeLayout("Account", new string[] { "01230000000xxXxXXX" } );
PicklistEntry[] values = result.recordTypeMappings[0].picklistsForRecordType[12345].picklistValues;
不幸的是,你不能在纯粹的 Apex 中做到这一点。元数据 API 确实公开了它。
| 归档时间: |
|
| 查看次数: |
6557 次 |
| 最近记录: |