Saturday, March 15, 2008

Allowing QuickFind to search Inactive records

In Microsoft CRM v3.0 there were certain entities that were allowed to search inactive records through the QuickFind/QuickSearch feature (the "Look For" query at the top of each main entity listing). Rollup 2 changed some of those entities that were capable of searching inactive records and now CRM v4.0 has made is so that the QuickFind/QuickSearch does not look for inactive records at all in any entities (at least in my testing, this is what I have found, if someone has found otherwise please let me know). Now, I won't say that I want this capability for every entity in the system but sometimes it might be nice. For instance, Cases has been an entity that has been requested that be allowed to search both active and inactive records.

What would be nice would be if there were some option that users could choose or set in their preferences, or even at the entity level, to allow or disallow the ability to search both active and inactive records. Something ask for in v5.0.

But until then there is hope. Depending on what version of CRM you are on depends on the solution you can implement.

CRM v3.0 involves modifying entity XML. CRM v4.0 requires a Plugin be written on the PreRetrieve method.

Today I'm going to talk about the CRM v3.0 modification. Technically this customization will work in CRM v4.0 as well, but let me be very clear when I state, THIS IS AN UNSUPPORTED CUSTOMIZATION. I cannot gaurantee that this will will break your upgrade or not, though I am very inclined to say that it will. Also, any repair or update could potentially undo your change as this customization requires you to modify the actual entity XML. So, if a patch or rollup doesn't include the entity XML then you should be pretty safe.

Steps:
1. Export the entity XML of the entity you wish to modify.
2. Copy your XML export file so that you have a backup to roll back to in case something goes wrong.
3. Open the XML file in your editor of choice and search for "Quick Find".
a. NOTE - don't let the XML fool you, it puts the name at the bottom of the "SavedQuery" XML chain, what you will be modifying should be above the name tag.
4. Remove the following filter from the Quick Find saved query:

<filter type="and">
<condition attribute="statecode" operator="eq" value="0" />
</filter>

5. Locate the "iscustomizable" tag and change the "name" attribute to say "Yes" instead of "No".
6. Save your modified XML file
7. Upload your modified XML file into CRM
8. Publish Customizations
9. Refresh your page and test

That's it. Personally I think is a pretty safe "unsupported" customization because the worst that will happen in a repair or upgrade is the entity XML will get replaced. The customization is pretty localized to the Quick Find. If you modify other pieces of the entity XML you're on your own.

Good luck!

David Fronk
Dynamic Methods Inc.

5 comments:

Peter Widmer said...

Thank you. Worked fine for us. Tested it with incidents.

Anonymous said...

Brilliant - this solves a major problem for me - well done!

I do have another related problem though - the same issue ocurrs when trying to create a lookup field from one entity to another. In my case I'm trying to lookup to a previous case from a current case. But the lookup will only show 'active' cases, I need it to show 'resolved' ones.

Any ideas? Thanks

Dynamic Methods said...

I would use Filtered Lookups from Stunnware.com. They are the best way to get your lookup fields to pull up what you want them to. Install is a cake walk, configuration and setting up of the fields takes a little bit of fiddling but the help files walk you through it all, and they're very reasonably priced.

Other than recreating Filtered Lookups yourself, this is your best option.

David Fronk
Dynamic Methods Inc.

Antony said...

Excellent - have got it working on incidents and opportunities - big help - why don't microsoft realise that this may be necessary for businesses.
Thanks a lot

Dynamic Methods said...

Antony,

Glad to hear you got it working. It would be really nice if this were an option that Microsoft made available for administrators at the form/view customization level. Unfortunately I think that they just haven't been made aware of enough cases where this is really desired by businesses. Submitting a product enhancement/suggestion might not be a bad idea.

But I agree with you, it would be great if this were an easier option to set and make available to all of our customers.

Thanks for the comment.

David Fronk
Dynamic Methods Inc.

Post a Comment