Category: CRM

The Two Power Players – Power BI and CRM



At the 11th Annual KTL User Conference, I will be presenting a session on Power BI and Dynamics CRM data.  The main goal is to give users an easy way to present information in a timely and simple-to-understand format.  In the session, using Power BI, we will cover the process of building and accessing refreshable dashboards with information from Dynamics CRM and Dynamics GP.  In the session we will discuss/demo the following:

Read More »

Dear Diary, Why Don’t My Customers Want to Talk to Me?

In today’s tech driven world, human interaction is dwindling more and more. You see it everywhere! People sitting at dinner, staring at their phones; kids walking with headphones on while they look at the ground; professionals sitting in coffee shops with their phone, tablet, and laptop all at their fingertips. One thing is becoming very clear, we want to be empowered by technology and not have to rely on human interaction to get our information. 

Read More »

Prelude to KTL UC 2016 – Benefits of Moving to CRM Online

In the upcoming KTL User Conference 2016, we will have a session on the benefits of moving to CRM Online. You will get all the details on the ease of the move, plus details on the additional features you will get just by choosing CRM Online. As I type this blog, Microsoft has already released the preview guide for what’s coming as an update to CRM in Spring 2016.

Read More »

CRM Online Reporting Using FetchXML

Reports are a way of presenting useful data to the users in an organized format. CRM reporting needs are often solved by using out-of-box CRM reports, Advanced Find, Dashboards and Charts, or the Report Wizard. But when a business demands a complex report involving calculations, grouping, detailed layouts, etc., then custom reports are needed. There are two types of reports in Microsoft Dynamics CRM:

Read More »

Best Practice for Building CRM Queries in an SSRS Custom Report

When writing a custom SSRS report for CRM, one of the greatest features is the ability to include pre-filtering in your reports.  By adding the CRMAF_ prefix to the alias assigned to the table you are querying, it will pass your selected CRM records as the context for your report. E.g.:

SELECT * FROM FilteredAccount AS CRMAF_Account

When writing a custom SSRS report for CRM, one of the greatest features is the ability to include pre-filtering in your reports.  By adding the CRMAF_ prefix to the alias assigned to the table you are querying, it will pass your selected CRM records as the context for your report. E.g.:

SELECT * FROM FilteredAccount AS CRMAF_Account

When writing a custom SSRS report for CRM, one of the greatest features is the ability to include pre-filtering in your reports.  By adding the CRMAF_ prefix to the alias assigned to the table you are querying, it will pass your selected CRM records as the context for your report. E.g.:

SELECT * FROM FilteredAccount AS CRMAF_Account

When writing a custom SSRS report for CRM, one of the greatest features is the ability to include pre-filtering in your reports.  By adding the CRMAF_ prefix to the alias assigned to the table you are querying, it will pass your selected CRM records as the context for your report. E.g.:

SELECT * FROM FilteredAccount AS CRMAF_Account

When writing a custom SSRS report for CRM, one of the greatest features is the ability to include pre-filtering in your reports.  By adding the CRMAF_ prefix to the alias assigned to the table you are querying, it will pass your selected CRM records as the context for your report. E.g.:

SELECT * FROM FilteredAccount AS CRMAF_Account

Read More »

Using MS CRM “IPluginExecutionContext” to Tackle Business Needs: A 3 Part Series

The “IPluginExecutionContext” contains a property called “MessageName.” This is the name of the message that was called to perform the action. Here is a link to a list of messages: https://msdn.microsoft.com/en-us/library/gg309482.aspx .   I couldn’t find my original source for this, so you can assume that each message name is just the class name listed without the request at the end. The one we are interested in is the “ConvertQuotetoSalesOrderRequest” or the “ConvertQuoteToSalesOrder” message. This is what is called when you click the “Create Order” button and can be called through the API as well. So to figure out if that is what is creating our sales order we would simply need to traverse the parent context list and check to see if the “MessageName” property equals “ConvertQuoteToSalesOrder”. Here is a code snippet to do that. 

Read More »

Using MS CRM “IPluginExecutionContext” to Tackle Business Needs: A 3 Part Series

STOPPING A SALES ORDER FROM BEING CREATED

Stopping an operation using a plugin is a simple process. All you need to do is throw an exception, but its best to not just throw any exception. CRM provides the “InvalidPluginExectionException” that allows you to pass in a message that will get displayed to the user. Using that, we can alert the user that the action they took is not allowed and guide them in the direction of the correct way to create an order.

Read More »

Dynamics CRM: You’re Only as Good as Your Data

Microsoft Dynamics Customer Relationship Management (CRM) is a fantastic tool for managing customers, accounts, cases, opportunity, sales people, etc. The possibilities with CRM are endless, which is why we often refer to it as xRM (the x can be anything you want it to be). As a CRM implementation, support, and development partner we often get questions from customer starting out with, “Can CRM do (insert request here)?” And the answer is usually, “Sure it can, but the question really is ‘Do you have the data to support a function like that’?”

Read More »

Best Practice to Migrate Data into a New Dynamics CRM System

I often do CRM demos using the CRM trial for a couple of reasons.  One, the trial only takes a minute to spin up, and secondly, each company I demo I try to tailor the presentation to their company.  I find it easier to create a new environment than to demo and clean up a permanent demo environment.

Read More »