Thursday, 2 March 2017

Use of Secondary Entity in Plugin Registration Tool while Registering Plug-In in MSCRM

In many Interviews you might have been asked the Question "what is the Use of secondary entity in the plugin registration tool ?".

While using the Plugin Registration tool in Dynamics CRM, we might have rarely or even never used the ‘Secondary Entity’ field and almost always assigned it as ‘none’, but there are some scenarios where this field required.

Secondary Entity use when you have to trigger plugin or retrieve record from Intersect Entity having records of Entities having N:N Relationship.

The following 2 messages require the ‘Secondary Entity’ to be specified while registering a step in Plugin registration:
  • SetRelated
  • RemoveRelated
These two methods were extensively used in Dynamics CRM 4.0, but they were deprecated from Dynamics CRM 2011 onwards; although you can still use them in 2011 and 2013.
Following is the table shows the out-of-the-box ‘Primary Entity’ and ‘Secondary Entity’ that are supported for both ‘SetRelated’ and ‘RemoveRelated’ messages:
Primary EntitySecondary EntitySupported Relationships
InvoiceContactcontactinvoices_association
LeadAccountaccountleads_association
LeadContactcontactleads_association
OpportunityAccountopportunity_customer_accounts
OpportunityContactopportunity_customer_contacts
OpportunityCompetitoropportunitycompetitors_associationor
ProductLeadleadproduct_association
ProductCompetitorcompetitorproduct_association
QuoteContactcontactquotes_association
SalesLiteratureCompetitorcompetitorsalesliterature_association
SalesLiteratureProductproductsalesliterature_association
SalesOrderContactcontactorders_association
the above information also available in the CRM SDK.

Thanks for reading.. :)

Wednesday, 1 March 2017

Append v/s Append To Privileges In MS CRM


Append and Append To are two privileges that most user are not very clear about regarding their functionality. In this article we try to explain the difference between “Append” and “Append To” Privileges and how it affects the user access.

Append and Append To basically deal with the entities that are parties to a 1:N relationship or N:1 relationship.

Example:


Append: When an entity has the lookup of another entity on its form. It is important that the user have the “Append” privilege on this entity so that it can set the values for the lookups on this entity. For eg: Contact has the lookup of Account on its form so here the user needs to have the “Append” privilege to be able to set the parent account.

Append To: When an entity is available as a lookup on another entity form. It is important that the user have the “Append to” privilege on the entity that is referred to in the lookup so that it can set the values for the lookups of this entity on any other form. For eg: Account has the lookup of primary contact. So here the user needs to have the “Append To” privilege to be able to set the Primary Contact for the Account.

Lets us take an example of Contact entity.

We have modified the Order Role and removed the “append” privilege to the Contact entity.

When a user with this role logs in, they would find the Parent Account lookup disabled.

This is because the user does not have the “Append” privilege to the contact entity. So all the lookups on the contact form are Disabled.

Now we have modified the Order Role and provided the “Append” privilege for the contact entity and removed the “Append To” privilege from the contact entity.
  The Primary Contact on Account is disabled. 
Thanks for reading :)