When should a system partly fill in a form for a user?
I have a part of a system used for searching for / viewing recent or past transactions. The system will be used in more than one store, and transactions could have happened in any of the stores. You should be able to view a transaction from any store, regardless of the store you are currently in, therefore when searching for a transaction you must provide the Transaction ID, the Store ID and the date of the transaction.
However, in reality the majority of searches will only be on transactions in the current store, and since each system is registered to a store, I thought it would be okay to presume that the user will want to use their current store. However, in testing it appears strange that one field is pre-filled in when the user clicks search, while the others remain empty. I feel it gives the impression that 188 (or whatever store id is filled in) is the only ID that can be searched.
One solution I considered was to have the auto suggested Store ID in a greyed out font, that would still work if the user presses search without changing, but will change to the standard font if they choose to enter an alternate value.
However to me, this looks more like a prompt or placeholder text, and I imagine most users would tab through the form and just fill their store ID in each time, slightly defeating the point of auot filling the field.
So my question is, when should a form presume an entry for the user? Is it when the auto-filled value will be used 90% of the time, or should the system never make that sort of presumtion for a user?
Edit Also, as a continuation of the question, presuming that the system should actually suggest the value in the first place, should the system then continue to use the presumed store ID if the user's search returns no results? If they get an error message saying "Sorry, your search returned no results. Please review the information and try again.", should all the fields be cleared, all fields but the Store ID, or should none of the fields be cleared so the user can quickly see their mistake or, if there is no mistake, decide that no transaction took place with the information that they have?