Posts

Showing posts with the label Dynamics

Getting Started with Dynamics Marketing - Some Lessons Learned

The connector from CRM to Dynamics Marketing (MDM) can be tricky. The definitive guide for setting it up is Jon Birnbaum’s blog found here . Since comments on his blog are disabled, here are some things to keep in mind as you go through it: You do not need to bother with the Azure Service Bus pieces  unless you want to use the SDK. The writeup goes into a lot of detail about setting up your own queues but managed queues will suffice for simple use cases. Even if you need your own queues, I recommend you start with the managed ones just to keep it simple. Note: If you do set up your own queues, you do have to do it via PowerShell. I tried the UI. The CRM integration user you create must have the MDM user role, even if it is an admin . The install files for the CRM package are in the MDM installer. You have to download the on-premise connector and install it, even if you are not connecting to on-premise, just to get the ZIP file. The initial sync can take a long time...

How-To: Overcome Rollup Field Limitations with Rolling BatchProcessing.. Even In the Cloud

Image
Rollup fields are great. But their filters are limited. The most common use case I can imagine is something like year to date sales. But you can’t do that with rollup fields because the filters don’t have relative dates. Want quarter-to-date sales? Sorry folks. Here’s how to make it happen. This works.. even in the cloud. It should also work in 2011 although I have not tested it there. In this scenario, we are using a Connection between a Product and an Account to hold quarter to dates sales numbers. I want to regularly calculate the sum of Invoices against the Account for the given Product and save it on the Connection. I’m calling the Connection my “target entity.” Overcoming the Depth Property and Timeouts Normally, you could create a recursive workflow that processes something, then calls itself. But you run into a problem with the Depth property; CRM will stop the process after so many iterations and consider it a runaway. So if your workflow calls itself, the 2nd ...

ISV code aborted the operation.

When writing a Microsoft Dynamics CRM plugin, you might come across the dreaded “ISV code aborted the operation” (isvaborted) error – code -2147220891 or 80040265. In my experience this means the plugin is calling itself. For example, if your plugin fires on change of estimatedvalue on Opportunity, and your plugin updates estimatedvalue, you’re going to get an infinite loop. Nip it in the bud with this simple line: [code lang=”Csharp”] if (context.Depth > 1) { trace.Trace("Plugin has called itself. Exiting."); return; } [/code]