Isolated Dynamics CRM Security Feature – “Reparent”


Understanding Reparent

andisimo's avatarAbstruser 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's avatarBernado 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.

Scenario

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)


Hi,

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..

MB2-712 Certification: (Microsoft Dynamics CRM 2016 Customization and Configuration) – Revision Guide


Fixed: Cannot add a Root Component 00000000-0000-0000-0000-000000000000 of type 20 because it is not in the target system error while importing managed solution in CRM 2016.


Hi,

Today we faced this issue while importing managed solution extracted from our Dev Environment to Test Environment (CRM 2016 Online Update 1).

As suggested by few of the posts online, the culprit was the System Customizer role. We removed it from our solution and then imported it back and it got imported successfully.

Helpful Post

http://crmkid.com/tag/cannot-add-a-root-component/

Hope it helps..


IPluginExecutionContext Depth is 2 in Create Plugin during Import of records in CRM 2015 (and earlier)


We had one of our plugins on Create of Opportunity however during the import of the Opportunity record it was not working properly. We had the Depth check in our plugin code to check for infinite loop as the same plugin was being used for Update also.

After some debugging we realized that Depth value is 2 instead of 1 during import.

To test this, we created a sample plugin for create of Test entity record and then imported the Test entity records.

As expected the import failed and we got our custom exception in it.

Hope this helps..

Nishant Rana's Weblog

Everything related to Microsoft .NET Technology

Skip to content ↓