What is Report Workshop
Report Workshop is a set of VCL components for creating reports. Report Workshop is based on TRichView.
Report Workshop can be logically divided into the following groups:
- Report design
- Report generation
- Data providers
Reports are designed in TRichView editor. ScaleRichView may be used as well.
Report Workshop extends a user interface of RichViewActions by adding commands for report designing:
a dialog for editing report-related document properties,
dialogs for associating data queries with table rows and cells,
dialogs for defining properties of cross tabulation tables (pivot tables), etc.
Reports are generated in TRichView (ScaleRichView) editors as well.
There is a single component for report generation:
Just call the Execute() method, and a report will be built.
Data providers are a collection of components supplying data for reports. A data provider component processes data queries and returns data.
Report Workshop includes data providers based on standard and popular third-party components (including FireDAC, dbExpress, ADO/dbGo, Interbase Express, BDE, AbsoluteDB, NexusDB, DBISAM, ElevateDB, UniDAC, others DACs by DevArt and MicroOLAP), as well as a data provider working with any TDataSet-based components.
Comparison to other reporting components
There are many reporting components available for Delphi and C++Builder. However, Report Workshop is a unique product offering a new approach and features that cannot be found in competing products.
Existing reporting components can be divided into two groups:
- components creating reports in a way of a vector graphic editor
- components based on some text editing engine
The first group of components is the most developed software for report making. At a design mode, they allow placing objects (like labels, images, shapes, text boxes) at any positions on a working space. These components have some disadvantages following from their design:
- Users need to study a special user interface used in their report designers.
On the contrary, the Report Workshop’s report designer has a familiar text editor (word processing) user interface, and analogs of 90% of its commands can be found in other advanced text editors, such as Microsoft Word or Open Office. There is only one special object: report table.
- Complexity of report designing.
Users need to align objects to each other and maintain correct spacing between them to create a beautiful professional-looking reports. Any change in exiting report design (adding or deleting objects) may require to realign objects and may be as complex as creating a new report. On the contrary, Report Workshop places objects automatically in a text flow (although it supports floating text boxes). You can build a perfect report (in code or in a user interface) without specifying a single coordinate.
- Fixed report result.
Normally, the report results cannot be edited. On the contrary, in Report Workshop, both report templates and report results are editable documents. Additionally, report results can contain hypertext links from one parts of reports to other parts, allowing to build cross references and tables of contents.
- Lower quality of exported results of reports.
While export to some formats are OK, export to text documents (HTML, RTF, Microsoft Word documents) is not good. A report content is exported as floating objects making it almost impossible to modify these documents. On the contrary, Report Workshop can export reports in these formats with the maximum possible quality.
- Design limitation.
Usually, these report components allow placing sub-reports only in special places. In Report Workshop, any table cell may be a sub-report. For example, you can make a sub-report inside cells of a cross tabulation (pivot) table.
The second group of reporting components (based on text editors) usually offer less features. Users need to study some scripting language to make reports from text documents. Limitations of their text engines do not allow adding report-oriented features other than scripting. On the contrary, in Report Workshop provides user interface for report designing, where user can define report properties in special dialog windows. The power of TRichView text engine allows extending capabilities of documents and tables to add reporting features in their properties.
Features not included in the first release
The following features are not yet implemented, we plan to add them in future updates:
- user interface for editing data fields (editing field types and format strings)
- user interface for editing report variables