“​SharePoint Attachment Extractor & Metadata Manager” tool for Microsoft Dynamics CRM

Two of the most common requirements of the users while using OOB CRM and SharePoint integration have been

  • To associate some sort of metadata with the  document being uploaded from CRM
  • Moving attachments from notes of a particular record to the corresponding folder in SharePoint.

Finally we have a tool than enhances the Out the box integration between CRM and SharePoint and provides these features (in a fully supported manner)

Get all the details here :


The tool has been developed by one of my closest friends and now also a MVP for Microsoft Dynamics CRM – Debajit Dutta.

Task and Phone Activity Created through the Social Pane CRM 2013/15/16


Ranjeet Patel

When I tried to run a post create plugin on any activity (i.e. phonecall,  task, email, etc) that time i was unable to get the regardingobjectid in the target entity.

then I looked into the Audit history of this entity and found out that at time of creation we don’t get the “regardingobjectid”, internally some workflow of something runs and it creates one update audit history, and i found out that update audit history really update the regarding object id.

then i registered  my post create plugin to post update plugin and this solved my problem.

View original post

Isolated Dynamics CRM Security Feature – “Reparent”

Understanding Reparent

Abstruser Musings

There’s a feature of Dynamics CRM (that’s been in the product since version 3, I believe) that actually lives outside of the “front-and-center” security model that you normally think of with Dynamics CRM security roles.

I’m talking about the cascading functionality defined in entity relationships. Specifically, there is a cascading property called “Reparent.” There’s an old (but still relevant) article here about how this reparent functionality works. As this article explains, if you have a 1:N relationship between accounts and opportunities, and in this relationship, you have set the “reparent” property to “cascade all,” this means that the owner of an account (Acme INC) will see any opportunities created with Acme INC as the related account, and any opportunities whose related account is updated to be Acme INC.

When does “Reparent” take effect?

To go a bit deeper though, it’s important to understand exactly when this reparent property comes into play. If…

View original post 604 more words

Retrieving related records in an N:N relationship using QueryExpression in CRM

Nice post on Retrieve from N:N relationship

Bernado Nguyen-Hoan's Blog - Coding Stories from an IT Mercenary

This post explains how the QueryExpression class can be used in conjunction with IOrganizationService.RetrieveMultiple() in CRM 2013 to retrieve related records for an entity in an N:N relationship. This is something that I could not find much documentation on, and it is not very straightforward – at least for someone starting out in CRM dev.


I have two custom entities that have an N:N relationship between them: Course (logical name ng_course) and Subject (logical name ng_subject). The relationship is named ng_course_subject. The query that I need to write is to retrieve all Subjects assigned to a given Course.

Understanding QueryExpression and LinkEntity

The QueryExpression class is where you define your query. You can learn more about this class here: http://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.query.queryexpression(v=crm.6).aspx.

The key property of this class that enables us to retrieve the related records is the LinkEntities property, which is a collection of LinkEntity objects. Essentially LinkEntity

View original post 352 more words

The ‘distinct’ attribute is not declared error while trying to import solution in CRM 2016 (and earlier)


Got this error while trying to import a managed solution in CRM 2016 Online.

During analysis we figured out that it was pointing to one of the charts created for System User Entity. It seemed like chart’s xml was modified after export and then imported. The xml definition of the chart contained distinct keyword.

Removing the distinct keyword from the Chart definition and importing it back and then importing the managed solution with this updated chart got imported without any error.

Hope it helps..