Answered by:
possible to create views based on user's country?

Question
-
Hi,
Now that my company decided to have an international department (around 10 countries), we wanted to standardize the sales process for domestic and international as one. I'm trying to create system views that only show records of that certain country based on the country the user is assigned to. Is it possible to do that? Thanks
Wednesday, October 24, 2012 9:57 PM
Answers
-
You'll need to get creative with how you use teams. If the lead's address country = United States then assign the lead to a team called 'United States Unassigned Leads'. Configure the leads views so that I can see all the leads where I am a member of the team that owns the lead.
I'm perhaps over simplifying the solution, but a discussion forum isn't the best way to get to understand all your requirements, and present the best solution, so I'm just providing some ideas I hope you can evaluate.
Neil Benson, CRM Addict and MVP at Slalom Consulting. Find me on Twitter. Join over 20,000 other CRM professionals on the Microsoft Dynamics CRM group on LinkedIn.
- Edited by Neil BensonMVP, Moderator Wednesday, October 24, 2012 11:44 PM
- Marked as answer by Green_Tea12 Thursday, October 25, 2012 9:23 PM
Wednesday, October 24, 2012 11:44 PMModerator -
Hello,
We've actually done this.
We created an Entity named [User Setting] which has
- [User Name] a lookup to user entity
- [Event] a lookup to an Event entity (you could create this as [Country])On the Ribbon for all HomepageGrid views (and DashboardTab) we have created a DropDown which allows the user to Set, or alter their Event (we call it a Scope) - when they choose something we either create a User Setting record, or adjust their existing record.
Then in every Entity which has an [Event] entity (user either enters it or we use Plugins to derive it from a higher record) we adjust all the views (except Associated, as it is already being filtered) to have the following restriction :-
\/ (Related) Event Name
\/ (Related) User Settings (Event Name)
\/ User Name Equals Current UserThis restriction is really saying, find all records, which have an Event that is equal to the User Setting Event which is the current User (neat!). Also note we additionally create another view which doesn't have this restriction and add the value " (All)" on the end. The default view does have the restriction.
This solution works really well in that Advanced Finds already have the restriction, lookups, Quick Find, Inactive all work seamlessly. If a user wants to see everything they can by flicking to the "All" view. In addition the solution supports a user being scoped into multiple Events (in your case multiple Countries) by creating multiple User Settings records (not using the Dropdown of course).
The drawbacks that we've had are :-
- if a user doesn't choose a Scope they get no items, fairly obvious what the problem is when you have it as a Dashboard Dropdown
- you need to manually update all entities Views which are related - could build something automated for this.Thanks
Glenn- Marked as answer by Green_Tea12 Thursday, October 25, 2012 9:23 PM
Thursday, October 25, 2012 1:51 AM
All replies
-
Hi,
Unfortunately, you cannot do that. You will have to specifically say in the 'view's filter criteria' the country name against the user's country field. The view doesn't dynamically take values and show only from the user's country.
Having said that the views will only show those records to the user, to which the user's security roles allow access. So you can actually have the security setup in your CRM system. Since you have now sales department across 10 countries, so your security framework should be robust so that sales people don't update each others records, etc, etc.
What you can do is have security set up based on users, security roles, teams and business units. Lets say your company name is ABC and it is in US, UK and Australia. Have 4 Business units set up called as 'ABC Main', 'ABC USA', 'ABC UK' and 'ABC Australia'. Then the users should be assigned a very minimum base role. The user should belong to their business units depending on which country they work in. Then each country will have teams like 'Sales USA', 'Managers USA', 'Sales UK', 'Managers UK', etc. etc. These teams will also fall under their respective business units. Now assign users to teams. Create new roles from existing roles in CRM (like Sales) and customize it as per your requirement and assign it to teams so that these security roles apply to every member of the team. This is just an example and you can create the security as per your requirements.
If your above security framework is set up, then users will open the same view but only see records from their own region.
Since you now are going global my advise is to plan and create Business Units, Teams and Security roles and then the CRM will take care of the rest (like showing only records which user has access to).
I hope this helps. If my response answered your question, please mark the response as an answer and also vote as helpful.
Ashish Mahajan, Microsoft Dynamics CRM Solutions Architect, CSG (Melbourne)
My Personal Website: http://www.ashishmahajan.com
My Blogs: http://ashishmahajancrm.blogspot.com.au and http://ashishmahajancrm.wordpress.com
My Youtube Channel: http://www.youtube.com/user/ashishmahajanmscrmMy Linkedin: - Proposed as answer by Ashish Mahajan Technical Architect, Writer Wednesday, October 24, 2012 10:47 PM
Wednesday, October 24, 2012 10:47 PM -
Yes, you could do it by using business units to restrict each user's privileges to see records in other business units. But this might not meet your other requirements.
Another idea would be to use teams, and only show records that are owned by the members of the user's teams and add users to country-specific teams.
Neil Benson, CRM Addict and MVP at Slalom Consulting. Find me on Twitter. Join over 20,000 other CRM professionals on the Microsoft Dynamics CRM group on LinkedIn.
Wednesday, October 24, 2012 10:49 PMModerator -
The problem is the system views for the Leads entity contains records that do not have assigned owners yet. So it's difficult for me to filter those records based on business unit, there's not relationship to it.Wednesday, October 24, 2012 11:27 PM
-
You'll need to get creative with how you use teams. If the lead's address country = United States then assign the lead to a team called 'United States Unassigned Leads'. Configure the leads views so that I can see all the leads where I am a member of the team that owns the lead.
I'm perhaps over simplifying the solution, but a discussion forum isn't the best way to get to understand all your requirements, and present the best solution, so I'm just providing some ideas I hope you can evaluate.
Neil Benson, CRM Addict and MVP at Slalom Consulting. Find me on Twitter. Join over 20,000 other CRM professionals on the Microsoft Dynamics CRM group on LinkedIn.
- Edited by Neil BensonMVP, Moderator Wednesday, October 24, 2012 11:44 PM
- Marked as answer by Green_Tea12 Thursday, October 25, 2012 9:23 PM
Wednesday, October 24, 2012 11:44 PMModerator -
Hello,
We've actually done this.
We created an Entity named [User Setting] which has
- [User Name] a lookup to user entity
- [Event] a lookup to an Event entity (you could create this as [Country])On the Ribbon for all HomepageGrid views (and DashboardTab) we have created a DropDown which allows the user to Set, or alter their Event (we call it a Scope) - when they choose something we either create a User Setting record, or adjust their existing record.
Then in every Entity which has an [Event] entity (user either enters it or we use Plugins to derive it from a higher record) we adjust all the views (except Associated, as it is already being filtered) to have the following restriction :-
\/ (Related) Event Name
\/ (Related) User Settings (Event Name)
\/ User Name Equals Current UserThis restriction is really saying, find all records, which have an Event that is equal to the User Setting Event which is the current User (neat!). Also note we additionally create another view which doesn't have this restriction and add the value " (All)" on the end. The default view does have the restriction.
This solution works really well in that Advanced Finds already have the restriction, lookups, Quick Find, Inactive all work seamlessly. If a user wants to see everything they can by flicking to the "All" view. In addition the solution supports a user being scoped into multiple Events (in your case multiple Countries) by creating multiple User Settings records (not using the Dropdown of course).
The drawbacks that we've had are :-
- if a user doesn't choose a Scope they get no items, fairly obvious what the problem is when you have it as a Dashboard Dropdown
- you need to manually update all entities Views which are related - could build something automated for this.Thanks
Glenn- Marked as answer by Green_Tea12 Thursday, October 25, 2012 9:23 PM
Thursday, October 25, 2012 1:51 AM -
Thank you all for your inputs. All those suggestions gave me ideas on how I should work around it. I will try those out. ThanksThursday, October 25, 2012 9:23 PM