Sunday, October 18, 2015

MB2-707 Study Guide Part 1

Below are my notes as I study for the MB2-707 exam.

What is XRM?
○ Extensible Relationship management - Using the CRM platform to build other applications that can relate data, DB with GUI and some business logic

What are configuration, customization, extending, and development?
○ Config - Business Units, Security Roles, Users, Teams, Field Security, Auditing, 
and Solutions
○ Customization - Fields, Entities, Relationships, Forms, Views, and Charts are Customization
○ Extending -  ANYTHING that cannot be done in the user interface
○ Business rules are for 1 entity only, cannot look across entities
○ Config and customization are used interchangeably by MS

What are the benefits of solutions?
○ Ability to back up, export, import, distribute customizations

What are differences between managed and unmanaged solutions?
○ Export a solution as a managed solution only when it's complete and you're ready to distribute it. After exporting a managed solution, you can't import it back into the organization it was exported from; you can only import it into a different organization.

What is the default solution?
○ The Default Solution contains all the components in your system.

What objects are not part of a solution?
○Business units and teams

What could prevent a customization from being included in a solution export?
○Only published customizations are included for export

What are component dependencies?
○They make sure you can't delete customizations that something else depends on. 
Example: You cannot remove a field that is on a form or part of a listview

What changes are published immediately?
○What a new item is created, or something is deleted it is published immediately.
○If you make changes to something existing you must publish before the customization will be included in a solution export

Sunday, September 27, 2015

Understanding Microsoft CRM Business Units

Business units are groups of users defined for security purposes. Business Units allow for scoping the access that users have into the data in CRM.  Business units are well suited to organizations that are separated into departments or divisions, and can be configured so that users cannot access data from a different business unit.

All CRM organizations have a root level Business Unit that cannot be disabled or deleted. The root Business Unit can be renamed. Below the root Business Unit can be children Business Units which can in turn be parents of other Business Units.  This allows for a tree to be configured that can match the real world organization hierarchy, or something completely different that better fits with business processes.
All users and teams(groups of users) belong to a business unit. Users and teams can be configured to have access to child business unit data.  In the above example Sub unit 2 users and teams could be granted access to Child Unit data.

Saturday, September 26, 2015

Using CRM filtering with Custom SSRS reports

When creating an SSRS report in CRM you can select records from a list view and only report on those selected records.  The trick to doing this is in your report query.  When referencing the view you are going to pull data from you should alias it in the following format.

filteredjon_customEntity as CRMAF_filteredjon_customEntity

It's important to note that brackets, or multi-part identifiers in the query will cause this to not filter correctly.  The following examples will fail to correctly filter:

[filteredjon_customEntity] as CRMAF_filteredjon_customEntity
[dbo].[filteredjon_customEntity] as CRMAF_filteredjon_customEntity
dbo.filteredjon_customEntity as CRMAF_filteredjon_customEntity

What is happening in the background is when the report is uploaded to CRM it recognizes the aliased view and creates additional parameters behind the scenes for you. Reports with this feature will be shown in CRM under the heading "Run on selected records"  if you do not include this or use an unsupported format the report will show under "Run on all records" in the report menu.

If you incorrectly uploaded a report with an invalid filter you can not import a corrected rdl file to CRM and have it add the additional behind the scenes filters.  You will need to delete the report object in CRM and re-add the corrected report.

Wednesday, September 23, 2015

Background and thoughts on the current state of CRM

I am currently a consultant specializing in Microsoft CRM and come to this position after previously working as a consultant implementing Salesforce.

At the moment my CRM certifications are:
Salesforce:
Certified Administrator
Certified Sales Cloud Consultant
Certified Service Cloud Consultant
Certified Force.com Developer

Microsoft CRM: 
Microsoft Dynamics CRM Application 2015

After a few months in this position I find myself missing the testing capabilities of Salesforce. I haven't spent much time developing plugin code yet, but from what I've seen Salesforce has a bit of an edge here.

I feel reporting is one area where Microsoft has an edge.  SQL Server Reporting Services, SSRS, is a better platform, and being able to include custom SQL queries within them is not supported by Salesforce solutions.

My intention for this site is to post issues I run across as well as the solutions that I come up with in hopes that I can save people from making the mistakes I know I will invariably make.