⟵ hearthere ⟶
  • Quick start
  • Install MIT
  • Install PRO
  • Updating
  • Optimization
  • Update v4-v5
  • Backups
  • Console utility bin/totum
  • Basics for users
  • Interface and Layout
  • Tables and their parameters
  • Prefilter
  • Fields and their parameters
  • Syntax
  • Code, actions, formatting
  • Relational relationships
  • Calculation order and calculation units
  • Field Calculation Sequence
  • Recalculation Units
  • Table Types by Recalculation Units
  • Row-based
  • Entire Table
  • Table Recalculation Unit Modes
  • Row Mode
  • Column-based Recalculation
  • Auto-complete calculations and timing
  • Duplicate rows and cycles
  • Comparisons
  • Functions
  • Debugging
  • Print and CSV
  • API
  • Roles and users
  • Notifications
  • Scheduled Actions
  • System tables
  • Trees
  • Anonymous tables
  • External Forms
  • Exporting and importing tables
  • [PRO] MeiliSearch
  • [PRO] Databases
  • [PRO] Custom CSS
  • [PRO] Custom docs
  • [PRO] LDAP AD
  • [PRO] File versions
  • [PRO] List-unsubscribe
  • [PRO] Dynamic fields
  • [PRO] Only Office
  • [PRO] Auth Tokens
  • [PRO] 2FA
  • [PRO] Superlang
  • [PRO] Daemons
  • [PRO] Profiler
  • Connecting functions
  • [SRV] Installation and Connection
  • [SRV] Export, PDF, Upload, and Preview
  • [SRV] XLSX/DOCX Generators
  • 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 id 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

    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.