ServiceNow has a lesser documented dictionary attribute called ignore_filter_on_new. This attribute is not important to you, until you realize what is happening in your ServiceNow instance due to this attribute not being used.
Examples of base ServiceNow functionality
Example 1: Create a filter on Incidents, state=Resolved. Click the New button. Notice the State is Resolved on this new incident.
Example 2: Create a filter on Companies, name=ACME Italy. Click the New button. Notice the Name is ACME Italy on this new company.
Example 3: Create a filter on Change, short description=Rollback Oracle Version. Click the New button. Notice the short description is already set on this new change.
Do you want this to happen in your ServiceNow instance? Probably not, but you have probably never noticed it before either.
Using ignore_filter_on_new
ServiceNow has an attribute that you can add to a dictionary entry to stop this from occurring.
ignore_filter_on_new=true
To add this filter
Go to a dictionary entry you want to ignore the filter values
switch to advanced view
Add attribute: ignore_filter_on_new=true
Click Update or Save
Repeat
Why isn't there a global setting for this?
There are actually situations where you want the filter to populate values on new. On a Change Request, go to the Incident pending Change related list. Click the new button. Notice the Change Request is filled in on this new Incident.
I always wondered how this relation was created, it creates it from the filter!
Conclusion
What I have done on ServiceNow instances I work on is to add the "ignore_filter_on_new=true" attribute on fields on the forms except for "parent" or relation kind of fields. It is short process to do that, but it does save some confusion at times, wondering why certain fields are auto-populated for users.
Mike