Dynamics Monster Limited

By: Pedro | July 13, 2018

Yesterday i was deploying to another environment a solution and the import was failing.


The error in the log file was while importing a Process:

Failure

0x80040359

The Microsoft Dynamics CRM record could not be created.


So, i went back to the solution from the other environment and i have checked what could be wrong, apparently nothing was wrong, it was a standard CRM Process with a call to a custom workflow activity, an if condition and 2 Stop Workflows statements (Success & Cancelled). I double checked, yes, i was exporting in the same solution file the Workflow dll, and it has been working since ever.


Next, i removed the custom workflow call, tried again and nothing. What usually i do when i need some extra information, Diagtool, so I enab...

Category: CRM 2016 

Tags: Import new Solutions 

By: Pedro | January 25, 2018

The moment when something stops to work without any changes of any type.

As it happened with me, i know it happened with many developers/customers more.

And as i got really annoyed more people got different feelings as well.


I will explain now what is the issue, in the opportunity entity it seemed the best for the client to use a Business Process Flow to help with a standard process, that is always a good idea, so that was developed against the Opportunity entity.


Everything was going great with the process, and then because of an exception we had to implement something that would allow to Jump from any stage to any stage, so, assuming the Business Process Flow had branches as well, thing could get more complicated. The solution was easy enoug...

By: Pedro | September 14, 2017

I'm the kind o person that really likes to do Migration and Integration tasks into and from CRM.


Last time this happened to me i forgot to mention in here, and probably most of you already know, if no, just spend few minutes reading this.


I was importing some data into CRM 2016, the same applies to CRM 2015 and only for creating the Account entity records (few data fields filled) it was giving an average of 1.5 sec for each one. That's really an issue when you need to import thousands or millions of records, if you migrate or integrate only few hundred, you wouldn't loose time trying to understand why.


However, i'm really stubborn, so i had to figure out why.


What would you do at first? First you would question yourself, do i have any PrePlugin...

By: Pedro | August 04, 2017

This is a nice to have to guide users in terms of filling information based on stages, for instance:

The information needed to a contact to be a prospect, probably we only need First Name, Last Name and mobile phone. On the other hand, to become an opportunity, we will need some more details.


In this situation i would use this kind of approach, Business Process, because it will be really easy to see by opening the record in which phase of the process the contact is only by looking to the process bar.


However, using this feature of CRM can be sometimes a little bit disappointing because customizing what the fields do (hiding based on rules, setting required based on others is not possible), i mean, configuring only with the CRM default functio...

By: Pedro | January 03, 2017

A user was trying to download a note attachment when the message "Invalid Action" just appeared in the browser.


The first thing i did was using my old friend Diag Tool where i saw the exception "The key specified to compute a hash value is expired, only active keys are valid.", i have found as well that in the Event Viewer.


Doing some research i saw that restarting the MS CRM Asynchronous Processing Service or running the executable from the Tools folder inside CRM folder Microsoft.Crm.Tools.WRPCKeyRenewal.exe /R, i could solve the problem.


I did that, i restarted the server and in the end, the same problem. What do you do in this situations, just google it a little bit more, so, after 5 minutes someone had the same issue, ...

By: Pedro | August 18, 2016

Upgrade from CRM 2015 to CRM 2016 On premise


Yesterday was one of those days that i really like to have, i know, sometimes can be really frustrating because of some problems you have to go trough when performing an upgrade.


I have performed many upgrades since CRM v1.2 and it is always a challenge, for more tests in other environments, when it is to Production, something new will happen, yesterday was not exception.


In a virtual machine just performed the Upgrade, it was really quick and no trouble.


As planned, after hours we just performed the Upgrade in Production with all the scenarios covered in our checklist, almost in the end of the Upgrade, it was on the same step for almost 1 hour (Enabling Read Committed Snapshot Isolation for organiza...

Category: CRM 2016 

Tags: Upgrade to CRM 2016 

By: Pedro | April 26, 2016

When another version of CRM gets out, we all have to learn from 0 few things, and regardless the experience we all have, nobody can deny that sometimes it is frustrating when we experience an error/exception for the first time and more time we spend understanding the "why?" without finding the solution more we feel worst.


What i have found on the very start of the painful task of changing the Javascript code to meet the Web API requirements was that the way i was doing few things related to fields and entities just changed, as an example, the lookup field i wrote on my previous post.


To help me on that tedious task of updating or creating records trough the Web API i found my new best friend regarding that matter, the oData Metadata...

By: Pedro | April 25, 2016

On the subject of CRM 2015 oData Vs CRM 2016 i will be posting the main differences that i have found when upgrading my client code to CRM 2016 Web API.


I could start with the methods (Create, Update, Retrieve,....), however, those things are easier to find in the SDK than this specific one.


Previously you could already use a method called Disassociate to set a lookup field to null, but that involves an additional call for each one of the fields to update. So, i can imagine that you would be doing something similar to:

var account = {};

account.primarycontactid = null;


XRM.Rest.Update(account, "accountSet", ...,...,...);


Don't mind with the (...) on the method call, in my case i have a generic class to expose the Odata Organization Func...

By: Pedro | April 25, 2016

This is my first post on the subject CRM 2015 oData Vs CRM 2016 Web API.


I will start with for me something that took me some time to understand and use properly when upgrading from CRM 2015 to CRM 2016 on the client side


With the Web API, now we have two different types of fields (properties), the primitive properties and the lookup properties (navigation properties).


Primitive types

OData supports a wide range of data types but Microsoft Dynamics CRM doesn’t use all of them. The following table describes how CRM Organization service types are mapped to OData primitive types.


Navigation properties

In OData, navigation properties allow you to access data related to the current entity. When you retrieve an entity you can choose to expand navigatio...

By: Pedro | March 14, 2016

Developer Extensions is a set of tools provided in the SDk that intendes to simplify and accelerate development. Usually to be used in Client apps, something like Portals.

 It provide the following capabilities:



Don't forget:

Developer Extensions for Microsoft Dynamics CRM supports d...

Category: CRM 2015 

Tags: Developer extensions 

next>>