⟵ сюдатуда ⟶
  • Учебный курс
  • Создание простых таблиц и полей
  • Коды базовый уровень
  • Селекты и связь между таблицами
  • Настройки таблиц базовый уровень
  • Префильтры базовый уровень
  • Условное форматирование базовый уровень
  • Коды действия базовый уровень
  • Использование всплывающих окон
  • Циклы базовый уровень
  • Таблицы циклов и таблицы внутри цикла
  • Автоматическая связь таблиц внутри цикла
  • Как обращаться кодами в таблицы внутри циклов?
  • Поля типа ярлык
  • Пересчет таблицы циклов при изменениях внутри цикла
  • Как настроить доступы к циклам для пользователей
  • Роли и пользователи в web
  • Коды продвинутый уровень
  • Коды действий продвинутый уровень
  • Префильтры продвинутый уровень
  • Настройки полей и таблиц продвинутый уровень
  • Циклы продвинутый уровень
  • Форматирование продвинутый уровень
  • Селект-дерево
  • Выполнения кода действия по расписанию
  • Печать и отправка email
  • Нотификации
  • Взаимодействие по API
  • Адаптивность и секции
  • Графики
  • Вид таблицы панелями и поворот строчной части
  • Анонимные таблицы для неавторизованного доступа
  • Внешние формы для сбора информации
  • Обновление и бэкапирование
  • Дублирование схем и перенос таблиц между базами
  • Консольная утилита bin/totum
  • Пересчет таблицы циклов при изменениях внутри цикла

    cycles

    Какие элементы таблицы циклов пересчитываются при изменении в цикле?

    При изменении в цикле пересчитывается строка в таблице циклов, относящаяся к циклу.

    А также хедер в таблице циклов — это важный очень момент! Таблица циклов основана на простой таблице и логика пересчета хедера у них одинаковая!

    Каково место пересчета таблицы циклов при изменении в цикле?

    Строка в таблице циклов пересчитывается после пересчета таблиц внутри цикла и выполнения действий в этих таблицах — те в самом конце.

    Это важно — если вы вешаете действие внутри цикла, которое берет данные из строки цикла в таблице циклов. Такой подход неверный.

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

    Если пересчитать строку в таблице циклов то произойдет ли пересчет цикла?

    Нет. Пересчитается именно строка в таблице циклов.

    Как пересчитать цикл из таблицы циклов не заходя внутрь цикла?

    В выпадающем меню выбрать «пересчитать цикл» — эта опция доступна только роли Создатель.

    Зачем таблице циклов ставить «без отслеживания изменений»?

    Например есть таблица Заказы — это таблица циклов. Есть несколько менеджеров, которые работают с разными заказами.

    Первый менеджер изменил что-то в открытом у него заказе — таблицы в заказе пересчитались, а потом пересчиталась строка в таблице Заказы. Это привело к изменению кода актуальности таблицы Заказы.

    Второй менеджер в этот же момент что-то изменил в открытом у него заказе. И после того как его заказ посчитался и посчиталась строка в Заказы, тотум будет проверять код актуальности. А он изменен уже действиями первого менеджера. Тотум в этот момент изменение второго менеджера автоматически отправит на новый пересчет.

    Если расчеты циклов достаточно долгие — 1-2 секунды, а пользователей работающих с циклами в одной таблице циклов много, то будут возникать подвисания.

    ЧТо бы этого избежать в нагруженных таблицах циклов ставится без отслеживания изменений.