What two groups are table types?
Tables with a row-based
unit of recalculation and entire table
.
In a table with a row-based
unit of recalculation, when a field in the row part is changed, the row where the change occurred is recalculated — all fields in this row with codes + all header fields. Such tables do not have footers.
In a table that is recalculated entirely
, when any field is changed, the entire table is recalculated — all fields in all placements.
Row-based types are:
Entire table:
In what order are the placements calculated?
Placements are calculated from top to bottom:
Header
Pre-filter
Row part
Footer
In what order are the fields in the header calculated?
Fields in the header are calculated in ascending order of their sort
(from smallest to largest).
Visually — from left to right.
In what order are the fields in the rows part of a simple table calculated?
Fields in the row part of the table with row recalculation
are calculated in ascending order of their sort
(from smallest to largest).
Visually — from left to right.
In what order are the fields in the calculated and temporary tables calculated?
In tables with the tabular
unit of conversion, the default row calculation mode is set, meaning rows are calculated sequentially from left to right in ascending order of sort
, in ascending order of their id
.
In what order are the footer fields calculated?
Fields in the footer are calculated in ascending order of their sort
(from smallest to largest).
Visually — from left to right.
In what order are the column footer fields calculated?
By default, the mode is enabled where the fields in column footers
are calculated before the fields in the footer
in ascending order of sort
.
Will the code be calculated if the data is taken from the field next in the sort order?
If in our table the fields are ordered as field_1
— field_2
— field_3
, and we write the following code in field_2
(the middle one):
=: #field_1 + #field_2 + #field_3
It will return incorrect results.
The reason is that in Code you can only refer to fields that are earlier in the calculation order.
You cannot refer to the field itself — in this case, the code will not even execute.
You cannot refer to fields that come later in the calculation order — in this case, their value will be empty when this code is executed.
How to show the field earlier, but keep the Codes working?
If you need to display a field somewhere other than where it is calculated, use display elsewhere in the field parameters.
Moved fields are displayed with purple
icons in their headers.