As discussed here : http://www.globalqss.com/wiki/index.php/IDempiere/FullMeeting20130313
To put it in a nutshell :
add a checkbox "Show Inactive" on the search panel
it will be checked (or not) according to a SysConfig variable
said: It could be added in several tabs or direclty in core (GridTab ?). We could talk later of the best place to add it.
Rethinking... it may not be as easy if implemented this way as it would break the zoom functionnality.
If user doesn't want to display inactivated records, the zoom won't display the record if deactivated in the target window.
eg: On a SO, trying to zoom to a deactivated price list, or zoom from an IW
Could it be considered as a "not important" side-effect (he would just has to change its preference for several seconds), or should we find another way to do it ?
We played with that and I asked my users what they want. It comes out that we want that only for some users (or roles) and even only for some tables (that means also user(or role)-table combinations).
What I use now as a testing functionality is that I write a text tag into the comment of a user record.
(C_BPartner.IsActive='Y' OR ('@P|IsShowInactive@'='Y' and (select count(*) from AD_User u where u.AD_User_ID=@#AD_User_ID@ and position('C_BPartner' in u.Comments)>0)=1))
To adapt that in the best “iDempiere way” we may have to add a field to AD_Window_Access to get a clean data structure.
BUT: After the discussion with my users, I am sure that 10 users will have 15 ideas how to use that. So my impression is that this can not be done perfectly for all use cases and because of that it does not belong to core. We should do a wiki page with some nice examples how to do it and let the implementor deal with it as the user wants.
Now my opinion to your remark about the “broken zoom functionality”. I would say that we have exactly what we want: The user should not see these records. And he/she can change the preference quite fast. I would see that as a feature, not a bug. But as said above all that belongs to user wishes and ideas. So - if we add something to let our SQL formula “see” if we are in a zoom (or zoom detailed) situation, e.g. with another environment variable, that may help.
Closing as per recommendation, suggestion to open a wiki page about how to configure that.