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

    Отладка

    Глобальные ошибки

    Нехватка оперативной памяти

    Если вместо загрузки страницы вы столкнулись с белым экраном содержащим такую ошибку:

    Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes)
    

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

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

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

    Смертельное зацикливание таблицы

    Иногда коды в полях могут привести к вечному зацикливанию таблицы, потреблению всей доступной оперативной памяти или исчерпанию стека рекурсии в PHP. В первом случае выпадет ошибка как описано выше, во втором может быть ошибка сервера или белый экран.

    Например: код в любом поле хедера вида:

    =: recalculate(table: $#ntn)
    

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

    Для исправления подобный ситуаций вы можете открыть настройки полей через состав таблиц по пути Системные таблицы — Основные — Таблицы и поля — Состав таблиц и отфильтровать поля по нужной вам таблице.

    Настройки полей хранятся в поле Параметры поля.

    Ошибка времени выполнения скрипта

    Если выполнение изменения в таблице или действия было остановлено по максимальному времени выполнения скрипта — увеличьте доступное для PHP время выполнения:

    Переопределить можно Conf.php в корневой папке установки в параметре:

    public static $timeLimit = 120; // в секундах, по умолчанию 2 минуты
    

    Максимальный размер файла загружаемый в поле файл

    Если вы столкнулись с тем, что файл не загружается в поле файл то проверьте на сервере параметры PHP: upload_max_filesize и post_maxsize.

    Если используется php-fpm — то это можно сделать в настройках пула, задав:

    php_admin_value[upload_max_filesize] = 10M
    

    Ошибка вывода utf-содержимого или слишком большого пакета данных

    Возможно у вас включено логирование (в верхнем правом углу экрана) и логи слишком велики для отображения. Откройте любую другую таблицу и отключите логи.

    Возможно вы хотите загрузить слишком большую таблицу. Включите для нее страницы открыв настройки из Системные таблицы — Основные — Таблицы и поля — Список таблиц.

    Включение отладки

    Включение логов

    Логи потребляют большое количество серверной мощности и передаются в браузер вместе с содержимым страниц. Поэтому их включение разделено на секции:

    • Код — отслеживание секции вычисления значений полей.

    • Код действия — отслуживание секции выполнения действий.

    • Селекты — отслеживание секции расчета отображений селектов.

    • Форматирование — отслуживанивание секции форматирования.

    • Пересчеты и селекты — устаревшее, отключено.

    • Время расчета полей — записывает время расчета полей по различным секциям кода, для оптимизации быстродействия больших таблиц. Результат работы вызывается при клике на иконку таблицы рядом с галочкой после обновления таблицы.

    Рекомендуется одновременно включать не больше двух! После включения лога необходимо совершить целевое действие для записи.

    Логи расчетов нигде не хранятся, отдаются в веб-интерфейс вместе с таблицей при изменении таблицы.

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

    Вызов окна отладки из панельки

    Чтение отладочных логов

    В логе можно увидеть последовательность выполнения строк кода, их результаты, входящие параметры и используемые переменные. Также можно выяснить на каком этапе возникла ошибка. Ошибка всплывает к пусковой строке кода.

    Доступе через кнопку Лог

    Придоступе к логам через кнопку Лог поля разделены по плейсментам. Внутри строчной части адресация осуществляется по id строки.

    Адресация в кнопке ЛОГ

    Обозначения:

    • Ког (шестеренки) — секция кода.

    • Ванд (волшебная палочка) — элемент.

    • Рука — обозначает секцию кода вычисленную и зафиксированную в предыдущей операции.

    • </> (дробь) — вывод значений списков.

    • HDD (диски) — запрос к базе данных.

    При клике на элемент он будет развернут во всплывающем окне.

    При возникновении ошибки ее можно проследить до места возникновения.

    Время расчета полей

    Используется для отладки быстродействия и нагрузки.

    Включить — перезагрузить — Открыть:

    Открыть время расчета

    Время расчета полей

    • table — таблица в которой измеряется время выпонения кодов полей.

    • field — name полей.

    • type — тип выполнения операции:

    • time — общее время выполнения кодов по типу в этом поле в секундах.

    • times — количество раз, которое был выполнен код. Для хедера и футера для поля это будет 1 раз, для строчной части — по количество строк.

    Оптимизация

    Оптимизация кодов

    Документация по этому разделу находится в работе