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

时间:2013-08-19 17:54:40

标签: salesforce visualforce

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

1 个答案:

答案 0 :(得分:0)

您可以使用类似此函数的内容来获取相关对象,并在使用动态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;
    }