How to dynamically filter a popup list in Service Desk Express

If you have a table that is reused in different circumstances, e.g. the Vendors table which is used to store both manufacturers and suppliers, or if you have significant amounts of legacy data that you still need to track, you may need to filter your popup lists to make it more manageable for your support staff.

Imagine a scenario where you have inherited a legacy asset base and since then have introduced initiatives such as strategic sourcing and managed desktops. So in the past you may have had to create asset records for inkjet printers and CRT monitors and, as those assets are probably still within your enterprise, they still need to exist in the configuration items and configuration item type tables but going forward, the assets you will be adding will be a much more standardised. Add to this, whilst you still need to maintain a large vendor list for legacy reasons, the actual vendors that you will be using in the future will be significantly less.

So, if this sounds familiar what options are available to you to handle this? The first and easiest option is simply to inactivate all the records that you don’t want to see. My issue with this approach is that a) inactive to me symbolises deleted without loss of history e.g. asset has been disposed of, and b) there are certain features of the application that won’t work properly if an record is inactive – e.g. the booking in of purchase requests where the configuration item type is inactive.

A more flexible option is to use the built feature to filter what appears in the popup and when combined with a little database administration work provides, in my opinion, an entirely better solution.

Filtering the vendors

Using the DB Admin Tool I can create an additional field called “Is Manufacturer” in the vendors module as shown below:

I am then going to create another field, exactly the same as the one above except that the default will be “No”, called “Is Supplier” like this:

Now, after logging back into Service Desk Express, I can use the Form Customisation tool to create a copy of the CI Type form. I want to filter the Sales and Service Vendor ID fields to only show vendors where the “Is Supplier” checkbox is ticked and the Manufacturer Name field to only show vendors where the “Is Manufacturer” checkbox is ticked. All I need to do is double-click on the Sales Vendor ID field, select the Filter tab at the top of the screen and enter the code as shown below:

…and then repeat for the Service Vendor field and the Manufacturer field not forgetting to change the code for this field to:

Is Manufacturer = 1

Obviously, you need to add the “Is Supplier” and “Is Manufacturer” checkboxes to your Vendor form but other than that that is it. That should make you Procurement team’s life a little easier.

Filtering the configuration item types (or inventory catalogue)

Now what I want to do is make the engineers’ life a little easier. When they have to create an asset/configuration item, I want them to have a filtered list of CI Types where a) the CI Type is approved and b) the CI Type is flagged to either track asset or track serial.

All I need to do is modify the Configuration Item form and and modify the CI Type field adding a filter as shown below:

Conclusion

The beauty of using this method is that you can create other versions of the same forms that don’t filter the list i.e. for Administrator’s use, and enhance to the user’s experience of Service Desk Express.