General binding
During invoice template creation the main instrument which you will use to display data in the report will be Field list.
Nested User property provides access to your personal data (your name, address and other details specified in the program settings).
Expand InvoiceSet table and see which data it contains:
It contains a number of fields of different types. Type of field is determined by an icon. Some fields contain an arrow near icon, which means that this field contains nested fields. Nested fields may be contained in the reference fields (example is a client, which has name, VAT code, address, etc.) or in table fields (examples are Rows to print or Payment methods nested tables, which contain set of rows).
If a field is not referenced field or table field, than it can be placed on the design surface. For example, we would like to display invoice date on the surface. The easiest way to do this is to drag and drop Date field inside corresponding band. The program will automatically create label control and bind it with Date field. When any control is bound to any table field, a yellow icon is displayed in the top right corner of that element:
Another way to bind an element with a field is to use toolbox panel. Drag and drop Label element from the toolbox, and select binding on the properties panel:
You must clearly understand its meaning to efficiently create templates. In the built-in templates field list contains one single table called Invoice. This table provides access to all invoice fields and nested tables. All invoice rows re contained in the Invoice to print table. Selected payments methods can be found in the Payment methods table.Mail merge binding
Template designer provides another way to bind elements to data. This feature is called mail merge and allow to bind one element to multiple fields.
The best option will be putting currency symbol, followed by the amount after single space. In such cases, mail merge function will be a solution.
This is useful, when you want to print different data from the source table, but using of separate labels is not sufficient because of arrangement limitations. For example, you want to print invoice amount and put currency symbol before it. It is possible to place 2 elements, and bind the first one to the currency symbol, and the second to the amount itself. But since amount may be of different length, how to place both elements in relation to each other: