Salesforce 动态获取对象的所有相关列表(例如帐户)

Salesforce 动态获取对象的所有相关列表(例如帐户),salesforce,visualforce,Salesforce,Visualforce,我正在处理一个项目,该项目需要动态获取特定记录的相关子项-我只需要那些当前记录在页面布局中具有相关列表或当前用户配置文件可以访问这些列表的相关子对象。您可以使用类似于此功能的功能来获取相关对象及其后使用动态SOSL查询 public static map<string,string> getRelatedObjects(string masterObjectName){ map<string,string> relatedObjectsMap = new

我正在处理一个项目,该项目需要动态获取特定记录的相关子项-我只需要那些当前记录在页面布局中具有相关列表或当前用户配置文件可以访问这些列表的相关子对象。

您可以使用类似于此功能的功能来获取相关对象及其后使用动态SOSL查询

 public static map<string,string> getRelatedObjects(string masterObjectName){
        map<string,string> relatedObjectsMap = new map<string,string>();
        list<Schema.Childrelationship> relatedObjectsList = Schema.getGlobalDescribe().get(masterObjectName).getdescribe().getChildRelationships();
        for (Schema.Childrelationship  relatedObject : relatedObjectsList) {
             if(relatedObject.getChildSObject().getDescribe().isUpdateable()
                    && 
                    relatedObject.getChildSObject().getDescribe().getKeyPrefix()!=null
                    && 
                    !relatedObject.getChildSObject().getDescribe().isCustomSetting()
                    &&
                    relatedObject.getChildSObject().getDescribe().isCreateable()
                )
                relatedObjectsMap.put(relatedObject.getChildSObject().getDescribe().getName(),relatedObject.getChildSObject().getDescribe().getLabel());
       }
        return relatedObjectsMap;
    }
公共静态映射getRelatedObjects(字符串masterObjectName){
map relatedObjectsMap=新映射();
list relatedObjectsList=Schema.GetGlobalDescripte().get(masterObjectName.GetDescripte().getChildRelationships();
for(Schema.Childrelationship-relatedObject:relatedObjectsList){
if(relatedObject.getChildSObject().GetDescripte().isUpdateable())
&& 
relatedObject.getChildSObject().GetDescripte().getKeyPrefix()!=null
&& 
!relatedObject.getChildSObject().GetDescripte().isCustomSetting()
&&
relatedObject.getChildSObject().GetDescripte().IsCreatable()
)
relatedObjectsMap.put(relatedObject.getChildSObject().GetDescripte().getName(),relatedObject.getChildSObject().GetDescripte().getLabel());
}
返回相关对象SMAP;
}

请分享您目前掌握的代码。这将是进一步讨论的起点。