⟵ сюдатуда ⟶
  • Установка
  • Ubuntu 18
  • Обновления
  • Бэкапы
  • Multi/no-multi
  • Консольная утилита bin/totum
  • Основы для пользователей
  • Интерфейс и компоновка
  • Таблицы и их параметры
  • Префильтр
  • Поля и их параметры
  • Синтаксис
  • Код, действия, форматирование
  • Реляционные взаимосвязи
  • Порядок расчета и единицы пересчета
  • Последовательность расчета полей
  • Единицы пересчета
  • Типы таблиц по единицам пересчета
  • Строчные
  • Таблица целиком
  • Режимы табличной единицы пересчета
  • Строчный режим
  • Поколоночный пересчет
  • Сравнения
  • Функции
  • Отладка
  • Автозаполнение расчетных и временных
  • Дублирование строк и циклов
  • Деревья
  • Печать и CSV
  • API
  • Роли и пользователи
  • Нотификации
  • Действия по расписанию
  • Анонимные таблицы
  • Внешние формы
  • Экспорт и импорт таблиц
  • Системные таблицы
  • Подключение функций
  • Дополнительные интерфейсы
  • Структура файлов
  • Структура базы
  • Порядок расчета и единицы пересчета

    Последовательность расчета полей

    Поля рассчитываются в соответствии с плейсментом и параметром sort в Составе таблиц, определяющими и их визуальный порядок отображения в таблице.

    Плейсменты рассчитываются последовательно: Хедер → Префильтр → Строчная часть → Футер.

    Поля внутри плейсмента рассчитываются слева-направо по возрастанию sort. Если sort одинаковый, то в соответствии с порядком id поля в Составе таблиц.

    Если согласно коду, поле обращается к полю расчет которого еще не произведен, то вместо запрашиваемого значения вернется пустота.

    Порядок расчета строк строчной части:

    • Для таблиц со строчной единицей пересчета — строки рассчитываются в случайном порядке, за исключением случая, когда они выравнены по полю сортировки n — в этом случае они рассчитываются в порядке возрастания n.

    • Для таблиц с табличной единицей пересчета — строки рассчитываются в порядке возрастания их id, за исключением случая, когда они выравнены по полю сортировки n — в этом случае они рассчитываются в порядке возрастания n.

    Единицы пересчета

    Данные в полях таблиц обновляются в момент пересчета.

    Пересчитываться может полностью вся таблица, либо некоторые выбранные строки.

    Чем большее количество полей попадает в зону расчета — тем выше нагрузка на сервер и дольше время расчета.

    Для задач расчета поля объединены в группы — единицы пересчета.

    Если происходит изменение значения в поле, то запускается пересчет той единицы пересчета в которую это поле входит. Происходит последовательное вычисление значений всех полей входящих в единицу пересчета.

    Типы таблиц по единицам пересчета

    Строчные

    Единица пересчета = СТРОКА!:

    Эти типы таблиц годятся для хранения больших массивов данных. Нагрузка на сервер остается неизменной при росте количества строк.

    Строчные таблицы

    К особенностям этих типов относится:

    • Отсутствие плейсмента футер.

    • Автоматический пересчет хедера при:

      • Открытии таблицы в web-интерфейсе.
      • Пересчете любой из строк (один раз за действие).
      • Вызове пересчета таблицы recalculate под условия которого не попадает ни одна строка.
      • При пересчете цикла из web-интерфейса или функцией recalculateCycle.

    Таблица целиком

    Единица пересчета = ВСЯ ТАБЛИЦА!:

    Эти таблицы не годятся для хранения большого объема данных. Нагрузка на сервер при расчете растет вместе с ростом объема данных в таблице.

    К особенностям этих типов относится:

    Режимы табличной единицы пересчета

    Строчный режим

    Строчный режим

    В этом режиме поля строчной части рассчитываются построчно в порядке id строки, за исключением случая, когда они выровнены по полю сортировки n — в этом случае они рассчитываются в порядке возрастания n.

    Поля внутри строк рассчитываются в порядке возрастания параметра sort.

    Поля футера также рассчитываются в порядке sort, независимо от того, подключены они к колонкам или находятся в общем футере.

    Поколоночный пересчет

    Колоночный режим

    Включается параметром Поколоночный пересчет.

    В этом режиме строчная часть таблицы рассчитывается поколоночно в порядке sort полей. Строки рассчитываются в порядке id или n.

    Футер колонок рассчитывается в порядке sort колонок. Если к одному футеру колонки относится несколько полей, то они рассчитываются в порядке собственных sort.

    Поля общего футера рассчитываются после футеров колонок в порядке собственных sort.