Print functions in CURSOR-CRM/EVI
Basics
In each mask of the application, the Print button generates an automated print output. One print output is generated in the list view and another in the detail view. You do not necessarily have to create a Jasper report to print from a mask, because CURSOR-CRM/EVI prints the layout and content of the entire mask by default. If you want a different layout when printing, you have to create a Jasper report and link it to the print button. The business partner portrait is one such report. It is linked to the print button of the 'Business Partner' mask.
Using a report to print from a CURSOR-CRM /EVI mask
The following settings determine whether and how the report is used for printing:
Master Table: Name of the master table (or main entity) of the main search. The report can only be used for printing in the template of this entity.
Printing button: determines whether the report is used for printing at all.
Default Mask Report: the report is used for printing in the detail view.
Default List Report: the report is used for printing in the list view.
For a report to be used for printing, the primary key field of the main entity must appear in the main search.
Reports generated at runtime when printing
If no separate report has been created for printing from the mask or list view, CURSOR-CRM/EVI generates a simple report that shows the current layout of the mask at the moment the user presses the Print button.
The title of the current report is displayed in the window title of JasperViewer (e.g. Default Report for Employees, Phone list etc.).
Mask reports
JasperReports has a pixel layout like the masks of the GUI builder. This allows a mask to be transferred almost 1:1 from the layout. Each field type is mapped in JasperReports as a separate style. This results in a style for normal text fields, for number fields with or without decimal places, date fields with or without time and lookup fields.
The width of the mask is converted to the pixel number of an A4 page in landscape format. Care has been taken to ensure that the labels generally have sufficient space. When positioning the components, the information from the surrounding tabs and panels is also taken into account.
The tabs are displayed one below the other. The entire area is always displayed fully on one page. Since JasperReports specifies a maximum length of a page, all tabs from the second tab onwards are displayed as subreports.
In contrast to fields on the mask, the text in the report must be output in full, since a sheet of paper doesn't have scroll bars. This means that the contents of a single-line field can be output in several lines. For example, if the description in a lookup field is very comprehensive. All lines are also output for editor fields such as the text of a note, which the report can extend accordingly.
The key in the lookup field is enclosed in square brackets in the same way as displayed in the list view if the key and description are displayed.
The display of images is also supported, whereby the size is adapted to the layout of the report. The display is not distorted.
For some fields, the formats from the mask settings are also used:
Alignment for normal text fields and number fields
Unit for number fields
Displaying the time field for date fields
Displaying the description field for lookup fields
Checkboxes and radio buttons are displayed as Yes or No text in the respective language. The HTML text from the editor field of the activity is also formatted. HTML display in labels is not supported. JasperReports supports only a few HTML tags when displaying HTML. Tables or special bullet lists cannot be displayed or can only be displayed to a very limited extent.
The output takes place in JasperViewer, so that the user has the possibility to export or print the evaluation in any format.
List reports
The table can be printed with JasperReports from the list view in the main mask and in the search results list in the search window. All data in the table is output with the columns as headers in the report.
The total width of the table is converted to the width of an A4 page in landscape format. This also results in the width of each column, whereby the relative width of each column is taken from the user preferences for the table. The order of the columns is also read from the table. Since the data is read directly from the table, the sort order of the table is also copied.
You can use the column filter to restrict the data in the table. This also has a direct effect on the report. Since most tables contain too many columns, which are usually ignored by the user, there is often too little space for the data in the report. It is advisable to hide the unnecessary columns using the context menu of the table. In this way, only the necessary data is printed in the report.
The system preference for Additional details for selection criteria transfers the column filter to the selection criteria. The report template can be customized to display the $P{SelectionCriteria} parameter in the report title or summary. If list data is printed in the sub area, its parent set is displayed with its ID fields.
As with the mask evaluations, some field settings are included in the report. For lookup fields, the key, description, or both can be displayed. The unit for number fields, its decimal places and the display of the thousand separator are also copied into the display.
The output in the main mask also occurs in JasperViewer. Export directly to PDF only happens in the search mask. The reason is the modal search window, which would block the display and further processing of the report in JasperViewer.