Monday, November 23, 2009

Alternative Option to Disabled Field

Disabling fields has been a great way to lock down information within MSCRM. The one issue that I run into with it is that users comment that a disabled field is so "washed out" that it becomes difficult to read.

Another option to use instead of the out of the box disabled, is to make the field read only. It's a very simple script:

crmForm.all.fieldname.readOnly = true;

It leaves the field looking like other fields so that it's not washed out but it cannot be edited from the form. This customization is technically unsupported, but it has been around since the MSCRM 3.0 days and so far Microsoft hasn't locked this script down. We'll find out next version whether or not the script gets carried over or not. But worst case scenario for your scripts would be that they need to be modified to use the disabled option rather than the read only option.

David Fronk
Dynamic Methods Inc.

Friday, November 13, 2009

Easy Emailing from a CRM Contact Record

Has anyone else wanted to be able to click on the email address on a form in CRM and have it email that person/record? Or at least bring up an email message form that can be filled out and sent?



Yes, on the Contact form there is the "Send Email" button, but that sends a CRM email and personally, I'm not a huge fan. They're great for templates but other than that I very much prefer the Outlook experience of emailing.



So, the other day I came up with a good way to get the functionality that I really wanted. I used some script from one of my coworkers that turns the label of a field to a button and then modified the onclick action. Here's what the buttons look like:


And when anyone clicks on the buttons it will take the corresponding email address and use your default mail client (most likely Outlook) and open up an email message for you:


This is all done with script and with only a little fiddling the form is now so much more functional now. And for all you coders out there, here's the part you want, the code:

/********Email Button Creation********/
// Replace the attribute new_button with the button and create a link to the onclick function

function CreateEmailButton() {
var fieldTable = crmForm.all.emailaddress1_c;
var html = "<input onclick='Email_Button_OnClick()' value='Primary' type='button'>";
fieldTable.innerHTML = html;
}
// Function to be triggered onClick
Email_Button_OnClick = function()
{
window.location = "mailto:" + crmForm.all.emailaddress1.DataValue;
}
CreateEmailButton();


It's the little things in life that make us happy, so why not make your CRM users happy by adding some simple solutions to make their jobs easier? I don't necessarily mean this solution, but anything that makes it so that people don't have to do the same function 50 times a day sure brings a big smile to their face :).
David Fronk
Dynamic Methods Inc.

Friday, November 06, 2009

Why should I care whether my data is in a database or not?

This may sound like an obvious question but amazingly enough there are a lot of people who don't always quite get this. When asked how people manage their data and they tell me that they look up their lists in Word, I cringe. Or when people use Excel for all of the note taking needs and then ask for it to me imported into CRM I question the usefulness of such an exercise. Word is great for writing documents and letters. Excel is a mini database and monster of a calculation and reporting tool. CRM, from a data perspective, is a relational database that can track just about anything and relate one set of data to another set.

While I've only seen a handful of people using Word to track data, Excel is used all of the time. And amazingly enough people use Excel like Word. Putting an address of street1 street2 city state zip all in one cell isn't the best use of a cell. Breaking that out into separate data fields, or their own Excel cells makes it so that you sort, query, and group data together. That's the power of relational databases like CRM. With data being broken out and related properly data is able to be queried, grouped, sorted, quantified, calculated, and more properly analyzed. There aren't many limits on what you can do as long as your data is entered and records linked correctly between tables.

There is a huge difference between a CRM system with bad data and a CRM system with good data. One can actually effectively help users to target the proper places to focus their time and the other just misleads and frustrates people.

How do you store your data? Are you tracking everything that is of use to you?

David Fronk
Dynamic Methods Inc.