My org wide setting for Account is private and for contact is controlled by parent. Also, there is a account sharing rule in place which gives Read/Write access for accounts to users of specific profile. So will the contacts be also shared in this scenario or do I need to share contacts specifically again?
2 Answers
Let me guide you to a great SFDC document across contact sharing. https://help.salesforce.com/apex/HTViewHelpDoc?id=contacts_sharing.htm
Now whats important there is the 'considerations' section which says -
If your organization-wide default for contacts is set to Controlled by Parent, the Contact Access options are not available when sharing related records like accounts; instead, all access to contacts is determined by the user's access to the contact's account.
If your organization-wide default for contacts is Controlled by Parent and your organization-wide default for accounts is Private, you can’t view contacts for accounts you don’t own even if you have the View All permission on the account object. However, if you own a contact on an account, you can view other contacts on the same account since access to a parent account always gives you access to the associated child records.
I guess the second point is pretty much resolution to your query :)
Cheers,
You need not to share contacts again. Master detail relation ship is between Account and Contacts so if user have access on master then we would have access on detail implicitly.
-
1But only when set to controlled by parent. When set to its own sharing, the sharing rules may or may not grant access, in which case the rule could be updated or a new rule created.– sfdcfox ♦Commented Nov 25, 2014 at 5:50
-
But my SQL query which tries to get that particular contact doesn't retrieve any rows. And my query is in a with sharing class. Any thing did i miss?– geethaCommented Nov 25, 2014 at 6:23
-