Home > CRM, Javista, Microsoft, Microsoft Dynamics, Tips and Tricks > Tracking Enhancements in CRM

Tracking Enhancements in CRM

While working on any CRM installation, you will inevitably find yourself needing to record possible enhancements to the system. What better place to store that information than within CRM itself?

The Enhancement Entity

We will first need to create a new entity called Enhancement, which will look like this:

clip_image002

As you can see, the Ownership type is set to User so that each Enhancement can be assigned to a specific CRM user.

Since this Entity will generally be used by System Administrators or System Customizers, we’re only going to expose it in the Settings Area.

I’ve decided to name the Enhancement’s Primary Attribute Topic, which will record the Entity, area of action, or section within CRM that needs to be modified:

clip_image004

Adding Attributes

The following attributes are added to the Entity:

Attribute Type Length / Characteristics Required
Description of Change Nvarchar 255 Yes
Detail Ntext 2000 No
Expected Delivery Date Datetime Date Only No
Date Completed Datetime Date Only No
Status Picklist Values:

Completed

Denied

Duplicate

In Progress

New

On Hold

Pending

Researching

Yes
Priority Picklist Values:

1

2

3

4

5

6

7

No
Percent Complete Int Range: 0 – 100 No

Feel free to make changes to this structure as your needs dictate.

Status Attribute OnChange Event

We have just a minor amount of JavaScript in this solution, and it is really just to help with the final disposition of the Enhancement request.

If the user selects a Status of Completed, it will set the Percent Complete value to 100 and the Date Completed to today’s date. Afterwards, both attributes will be disabled so they can’t be changed:

if (event.srcElement.DataValue == ‘7’) /* completed */

{

crmForm.all.m3_percentcomplete.DataValue = 100;

crmForm.all.m3_percentcomplete.Disabled = true;

crmForm.all.m3_percentcomplete.ForceSubmit = true;

crmForm.all.m3_datecompleted.DataValue = new Date();

crmForm.all.m3_datecompleted.ForceSubmit = true;

}

else /* in case someone changes their mind */

{

crmForm.all.m3_percentcomplete.Disabled = false;

crmForm.all.m3_datecompleted.DataValue = null

}

Form OnLoad Event

To ensure that our form displays properly, we need to check the Percent Complete Attribute and if it set at 100%, we’ll disable the field:

if (crmForm.all.m3_percentcomplete.DataValue == 100)

{

crmForm.all.m3_percentcomplete.Disabled = true;

}

Final Result

And here is what the user will see when creating a new Enhancement Request:

clip_image006

Conclusion

Today I’ve shown you how to create a simple Enhancements Request system within CRM. You can expand on this solution by adding workflow automation to send out notifications, make sure deadlines are met, etc. with just a little more effort.

The customizations for this solution have been uploaded to the Free Utilities section of my blog for your convenience.

 

Cheers,

Mitch Milam

Advertisements
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: