如何知道谁创建了一个Field Set

时间:2017-09-29 17:27:37

标签: salesforce apex soql

我目前无法看到谁在Salesforce中创建了字段集,我尝试查看Schema.FieldSet类,但我找不到有关createdBy的任何详细信息

映射FsMap =     Schema.SObjectType.Account.fieldSets.getMap();

1 个答案:

答案 0 :(得分:1)

使用工具API查询(来自Developer Console,Workbench或其他工具):

SELECT Id, DeveloperName, Description, CreatedDate, CreatedBy.Name
FROM FieldSet

应该让你入门(在开发者控制台中,只需勾选查询编辑器底部的复选框;在工作台中转到REST资源管理器菜单)。

https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_fieldset.htm

或者,在设置审核跟踪中可能会显示一些信息(您可以轻松下载最近6个月,您也可以查询该表,尽管过滤它很痛苦...... https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_setupaudittrail.htm

修改

没有确切记录的方式来了解此字段集属于哪个sObject。 Fieldset对象的文档没有提到EntityDefinitionId字段的存在,但是如果你在Tooling API中转到EntityDefinition,你可以看到与Fieldsets的一个非常有希望的子关系。所以... 未记录,将来可能会中断但是请尝试此查询

SELECT EntityDefinitionId, EntityDefinition.Namespaceprefix, EntityDefinition.DeveloperName, 
    Id, DeveloperName, Description, CreatedDate, CreatedBy.Name
FROM FieldSet
ORDER BY EntityDefinitionId, Id

Sample Tooling API query results for Fieldset + parent sObject