Course Description
This course aims to inform and demonstrate the creation and manipulation of Custom Report templates within iTWO costX.
info The exercises are based around the use of example files and templates which have been developed for demonstration and training purposes only. Actual implementation of the software and templates will depend on users own resources and specific reporting requirements.
- Updated 13 June 2023
- Version 7.1
- Modules 12
- CPD 3 hours
Course Features
Course Content
-
Module 1 Course Setup
In Module 1 we shall import an iTWO costX Project file, incorporating previously created iTWO costX Building files, which shall be used as the basis of conducting this training exercise.
-
Module 2 Creating Custom Reports
A number of ‘System’ reports are shipped with the iTWO costX software however the functionality exists to modify these or create your own report templates to suit the particular requirements of your business. The ‘Standard’ report writer can be utilised for this, however iTWO costX also has a more powerful ‘Custom’ report writer which we shall now use to create a simple report template. Custom Reports can be designed to be generated from both workbooks and databooks, with the underlying processes and philosophies being the same, however this training exercise will focus on workbooks, with the differences outlined in a later module.
-
Module 3 Custom Report Bands and Data Objects
Bands are used for placing the objects they contain in particular locations on the output page. When placing an object in a PageHeader band we tell the report engine that the given object must be displayed at the top of each page in the finished report. Similarly, objects in the PageFooter band are always displayed at the bottom of each page. Bands will be output repeatedly as long as there is data to fill them, so, for a band containing the estimate detail line items from the workbook you set up the band appearance for one row and it will then repeat the output in accordance with that set-up for all rows.
-
Module 4 Report Band Properties
At present the [Workbook Level 2.”Description] field in the Detail Data band is only one row deep whereas the actual descriptions in the workbook may extend to a number of rows. We therefore need to set the data fields to expand dynamically to accommodate these variances.
-
Module 5 Using Expressions in Memo Fields
At times it may be necessary to perform calculations in a Memo field, or to use more than one database variable to derive the required output. We shall now look at how multiple variables can be used in this way, and also introduce the Report DoublePass property.
-
Module 6 Report Grouping
At present, our report is set to start a new page for each instance of the MasterData band on the [Detail] page, which equates to each row at Level 1 of the workbook. This prevents the situation where a Workbook Level 1 item (i.e. a trade heading) appears at the base of one page and all of the associated Workbook Level 2 items appear over on the next page. It does, however, lead to a lot of white space and wasted paper where the Level 1 heading (trade) only has a couple of Level 2 items beneath it. Instead, we can create groupings to ‘tie’ the heading and items together.
-
Module 7 Code Script
A script is a program, written in a high-level language, which can be incorporated as part of a report. As the report runs, the script runs as well. A script can handle data in ways that are not possible just using the normal operations of the report; for example, a script can hide redundant data depending on a predefined condition, can be used to generate automated item coding, amongst a multitude of other things. A script can be written in any one of the following supported languages:
– PascalScript
– C++Script
– BasicScript
– Jscript
When a new report is created the PascalScript language is selected by default so we shall use this throughout these exercises.
-
Module 8 Using Script to Alter the Report Output
At present, our “Summary” page shows an entry for every Workbook Level 1 row, irrespective of whether there is a value against it or not. If preferred, we can use code script in a filter to only output those rows with a total greater than zero, say, that we want to see in the “Summary” page listing.
-
Module 9 Bills of Quantities Style Formatting
The report we have been working on is formatted as a simple estimate report. We may, however, prefer to have it formatted more like a Schedule or Bills of Quantities with automated item coding based on the Trade or Bill section coding, individual page totals and full-page column separation lines, for instance. In this module we shall amend our current report to incorporate these features.
-
Module 10 Printing & Exporting Custom Reports
Having created and refined our report it is possible to create an output in a number of different formats to suit the needs of the recipient. The most obvious is to use the Print button to create a hard copy, however, we shall now look at a couple of other alternatives.
-
Module 11 Custom Reports from Databooks
Databooks use the same reporting engine as workbooks, and it is possible to generate reports from the Summary sheet, the Items sheet, or a View of a Databook. To generate a report from a Databook, the columns that you wish to print to a report must be mapped to workbook columns first. You can then use the workbook columns in the report writer with the mapped data to generate the report.
-
Module 12 Converting a Standard Report to a Custom Report
Another way of creating a Custom Report is to start with a Standard Report and then use the Convert function. This allows you to prepare the basic outline required such as columns, levels, titles, footers and formatting using the Standard Report writer interface and then further tailor the appearance and behaviour of the output in the Custom Report Designer.