How to define Display Logic Evaluated at Server Level
With the introduction of this functionality, it is possible to define in Openbravo Display Logic that are going to be evaluated at Server Level.
This means that the expression for this particular Display Logic is going to be evaluated while generating the code for the final Window instead of being evaluated when the Window is loaded.
By doing so, it is possible to avoid blank fields when the field should not be shown. Instead, the fields are rearranged and the Window looks more clean.
In the Windows, Tabs & Fields Window, there is a new field named Display Logic Evaluated in the Server.
In this field, it is possible to define an expression that will be evaluated to decide whether that particular field must be shown or not.
This expression must follow the same syntactic rules that are used in the normal Display Logic. The expression can evaluate Preferences, but only those defined at System Level.
An example of an expression would be: @uomManagement@ = 'Y' & @enableNegativeStockCorrections@ = 'Y'
Since this functionality is going to be evaluated at a System Level (the visibility of the fields is going to be the same for all the Clients, Organizations and Users), it is possible to use Preferences, but only those ones that have been defined at System Level.