⟵ hearthere ⟶

Calculation Order and Recalculation Units

Field Calculation Sequence

Fields are calculated according to the placement and the sort parameter in the Table Composition, which also determine their visual display order in the table.

Placements are calculated sequentially: Header → Prefilter → Row Part → Footer.

Fields within a placement are calculated left-to-right in ascending order of sort. If sort is the same, then according to the order of the field id in the Table Composition.

If, according to the code, a field refers to a field whose calculation has not yet been performed, the requested value will return null.

Row part calculation order:

  • For tables with a row recalculation unit — rows are calculated in random order, except when they are aligned by the sorting field n — in this case, they are calculated in ascending order of n.

  • For tables with a table recalculation unit — rows are calculated in ascending order of their id, except when they are aligned by the sorting field n — in this case, they are calculated in ascending order of n.

Recalculation Units

Data in table fields are updated at the moment of recalculation.

The entire table or some selected rows can be recalculated.

The more fields fall into the calculation zone, the higher the server load and the longer the calculation time.

For calculation tasks, fields are grouped into recalculation units.

If a field value changes, the recalculation of the recalculation unit to which this field belongs is triggered. The values of all fields included in the recalculation unit are sequentially calculated.

Table Types by Recalculation Units

Row-based

Recalculation unit = ROW!:

These types of tables are suitable for storing large data arrays. The server load remains unchanged as the number of rows increases.

Row-based Tables

Features of these types include:

  • Absence of the footer placement.

  • Automatic recalculation of the header when:

    • Opening the table in the web interface.
    • Recalculating any of the rows (once per action).
    • Calling the table recalculation recalculate under conditions that do not affect any row.
    • Recalculating the cycle from the web interface or using the recalculateCycle function.

Entire Table

Recalculation unit = ENTIRE TABLE!:

These tables are not suitable for storing large amounts of data. The server load during calculation increases with the growth of data volume in the table.

Features of these types include:

Table Recalculation Unit Modes

Row Mode

Row Mode

In this mode, fields in the row part are calculated row by row in the order of the row id, except when they are aligned by the sorting field n — in this case, they are calculated in ascending order of n.

Fields within rows are calculated in ascending order of the sort parameter.

Fields in the footer are also calculated in the order of sort, regardless of whether they are connected to columns or are in the general footer.

Column-based Recalculation

![Column Mode]https://totum.online/fls/365_521_file.png)

Enabled by the Column-based Recalculation parameter.

In this mode, the row part of the table is calculated column by column in the order of field sort. Rows are calculated in the order of id or n.

The column footer is calculated in the order of column sort. If multiple fields belong to one column footer, they are calculated in the order of their own sort.

Fields in the general footer are calculated after the column footers in the order of their own sort.