Windows, Tabs, and Fields
Compiere generates all of its windows in a standard dynamic way by reference to the defined AD. This AD window thus relates to setting up the Windows, and the Tabs(sub-linked windows) and Fields that are displayed on those Windows. Illustrated here is an example of the Calendar and Period window that defines the structure of the periods within Compiere.
[singlepic id=278 w=320 h=240 float=center]
Windows may be of the following Window Types:
- Maintain: Usually used in the context of master data, such as Business Partner or Products.
- Query Only: A window type that is used for displaying results in a grid, and is not editable.
- Transaction: A window type used for transaction processing , such as an order or an invoice.
The Window Tabs refer to the sub-linked windows of the main window header, or the preceding tab. In the example below, the Calendar window is built by defining the Calendar, applicable Year, Period and Period control, and Non Business Day.
[singlepic id=279 w=320 h=240 float=center]
The window’s Fields are populated from the Table and Columns associated with the window.
[singlepic id=280 w=320 h=240 float=center]
Forms are windows that are not automatically generated through the AD but are static and are usually for custom purposes, based on specific Java code classes.Below is a Form that defines the File Import Loader process.
[singlepic id=281 w=320 h=240 float=center]
Once a Form has been defined, it is linked to the Java classes through the Classname(Swing) and Java Classname for Web UI fields. These classes will contain the source code to build these custom Forms.
These are windows that are used for quick searches and information views. Here, is the Info window for viewing invoices. It is defined through an SQL query on a table and then defining the columns within the Info Window.
[singlepic id=282 w=320 h=240 float=center]
Where database views may exist within the underlying database, the AD requires the Database views to be defined in the system in order to be accessible. Here, is an example of the Invoice database view for a week:
[singlepic id=283 w=320 h=240 float=center]
To distinguish them from normal tables, Compiere uses the RV_ prefix convention to name a Report View within the underlying database.
Reports and processes
These are used to set up reports (link to a Report view) or a process that can link to a Java code class. Reports and processes may have parameters that define a selection process. Examples of a report would be an invoice enquiry, and an example of a process would be to generate invoices from orders.Here is the actual Report that defines the Invoices per week report.
[singlepic id=284 w=320 h=240 float=center]
Reports may have access restrictions and selection parameters.
If a report is also displayed as a Dashboard (Compiere Enterprise version 3.5 onwards) then an underlying dashboard widget needs to be defined. An example of the Invoice Generate Process, that links to the underlying Java class:
[singlepic id=285 w=320 h=240 float=center]
In windows, Buttons may be linked to processes (i.e. C_Invoice Copy From which copies lines from other invoices on the Invoice windows) and Processes need not all be manually run as such. Processes can be defined as server processes, and can also be scheduled through the Compiere scheduler.