function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Raghavendra ARaghavendra A 

Report Help - Managerial and Team Members Level Reports and Visibility.

Hi All,

I am trying build a few reports and need to have the following visibility. I would also like to know if this can be achieved without setting up Roles and just user Reports to Field in User record. 
  • If the user is a Team member, he/she has to see only the records owned by him or records that he/she is working. 
  • If Manager views the same report, he/she must see all  records owned by all team memebrs who report to the Manager. 
    • What if the team member is now owner of the record, but actually working on the record. Can the Manager still see the record in his/her report?
  • If CEO see the reports, he/she must see all records across the company they belongs to all teams. 
  • Also, can the dashboard visibility be the same like above?
  • For Another Dashboard:
    • I want to show one report / graph which shows records owned by all users in the team. The logged in user can be either Manager or Team Member. 
    • Few reports can be again based on Managerial level visibility described above. 
  • Do I need to create Teams/Groups to achieve this? 
  • Most of the reports that we will create are on Custom objects.
Any help would be highly appreciated. Happy Thanksgiving to all in advance!

Raghu
Best Answer chosen by Raghavendra A
PratikPratik (Salesforce Developers) 
Hi Raghu,

Concepts: To restrict the record access, we can do it through OWD(organization wide default). Keep OWD strict and then as per requirement, tou can open up the access through Role hierarchy, Sharing Rules, Manaul sharing, Teams & apex sharing.

Scenario mentioned above:
If you want that only record owner should be able to view their records, then you should set the OWD (organization wide default) for tha custom object as "Private". 
As manager and anybody who is above in the hierarchy should be able to see the records of his/her subordinates, you should check the checkbox "Grant Access Using Hierarchies" in front of OWD.
Above mentioned setting you will find in: 
Setup->sharing Setting

If you want that users should be able to see the records on which he is working but not the owner, in this case you can create either Sharing rule (owner based or criteria based) or even you can share the records manually.

for standard object like Account, opportunity & cases you will have Team conecpet where you can p[rovide access to user to that record through team.

Reports:

Manager can see all his/her subordinates records in the repots. Same will be applicable to Dashboard.

If CEO is on the Topmost role, then he will have visibility to all the records.

In case of Dashboard, if you want to show the record based on perticular user's visibility, you can set the Dashboard Run As user"Running User".

"Running User" : You can set the Dashboard's access as per perticular user or as per current logged in user.

Let us know if you need any help!

Thanks,
Pratik

P.S. If this answers you question, please mark it as "Best Answer" so it will help other community members too.

All Answers

PratikPratik (Salesforce Developers) 
Hi Raghu,

Concepts: To restrict the record access, we can do it through OWD(organization wide default). Keep OWD strict and then as per requirement, tou can open up the access through Role hierarchy, Sharing Rules, Manaul sharing, Teams & apex sharing.

Scenario mentioned above:
If you want that only record owner should be able to view their records, then you should set the OWD (organization wide default) for tha custom object as "Private". 
As manager and anybody who is above in the hierarchy should be able to see the records of his/her subordinates, you should check the checkbox "Grant Access Using Hierarchies" in front of OWD.
Above mentioned setting you will find in: 
Setup->sharing Setting

If you want that users should be able to see the records on which he is working but not the owner, in this case you can create either Sharing rule (owner based or criteria based) or even you can share the records manually.

for standard object like Account, opportunity & cases you will have Team conecpet where you can p[rovide access to user to that record through team.

Reports:

Manager can see all his/her subordinates records in the repots. Same will be applicable to Dashboard.

If CEO is on the Topmost role, then he will have visibility to all the records.

In case of Dashboard, if you want to show the record based on perticular user's visibility, you can set the Dashboard Run As user"Running User".

"Running User" : You can set the Dashboard's access as per perticular user or as per current logged in user.

Let us know if you need any help!

Thanks,
Pratik

P.S. If this answers you question, please mark it as "Best Answer" so it will help other community members too.
This was selected as the best answer
PratikPratik (Salesforce Developers) 
Glad it helped!

Thanks,
Pratik