Armanino Blog
Article
Dynamics CRM Plugin: Assigning Records
December 19, 2014

Recently, I needed to write a Dynamics CRM plugin for CRM 2013 which, among other things, routed new leads to their owners via reassignment. The plugin navigated a logical labyrinth to determine the proper owner, assigned the new record thereto, and created an annotation for the new record. The plugin step was registered to fire against the Create SDK Message for the Lead entity, in the Post-Event stage.

private void AssignLead(Guid leadId, Guid newLeadOwnerId, IOrganizationService service)
{
AssignRequest assignLead = new AssignRequest
{
Assignee = new EntityReference(“systemuser”, newLeadOwnerId),
Target = new EntityReference(“lead”, leadId)
};
service.Execute(assignLead);
}

Once I worked out the kinks in the logic branching to determine the proper owner, I expected this to be a slam dunk. Instead, I was very surprised when the plugin kept throwing the following exception:

The record does not exist or you do not have access to view it.

The log file provided additional details:

Lead With Id = {Guid} Does Not Exist

Since this looked and smelled like a security-related issue, I first pondered that possibility. However, I dismissed it almost immediately because the plugin step was already configured to run in the context of a CRM System Administrator, who would implicitly have full access rights.

Next, I donned my debugging cap and compared the new record's Guid against that shown in the error message. They matched precisely, which was confounding. However, during the course of this investigation, I was able to determine that the error occurred within the creation of the associated Annotation record. Based on that discover, I took a stab in the dark and moved the assignment to the very end of plugin logic. Presto... the error vanished!

When writing a Dynamics CRM plugin that involves a record assignment, always ensure the assignment is in the FINAL step in the plugin logic. I know I will be absolutely certain to do this in the future!

Stay In Touch

Sign up to stay up-to-date with the latest accounting regulations, best practices, industry news and technology insights to run your business.

Resources
Related News & Insights
Sustaining SaaS Success: Extending Runway and Mastering Cash Management
Webinar
Cash Management Strategies for SaaS

December 13, 2023 | 10:00 AM - 11:00 AM PT
Simplifying the California Climate Accountability Package for Businesses
Webinar
Master California’s New Climate Laws

December 12, 2023 | 10:00 AM - 11:00 AM PT
Microsoft Warehouse Management: Optimizing Healthcare Supply Chains
Webinar
Experience how Microsoft D365 optimizes healthcare warehouse management.

December 7, 2023 | 11:30 AM - 12:30 PM PT