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

    prefilters

    VK Video

    Смотреть на VK video ⟹

    В каком виде дата хранится в префильтре?

    Если вы выбираете поле типа Дата, то в Y-m-dили в Y-m-d H:i.

    Как быть если в строчной части используется дата-время, а выбрать надо именно по дате?

    Есть несколько подходов:

    1. Создать техническое поле в строчной части, где через dateFormat преобразовывать в Y-m-d.

    2. Не привязывать к строчной части поле префильтра в котором выбирается дата, а сделать два скрытых поля префильтра с параметрами интервальный. Привезать к дате-времени в строчной части именно их, и в них рассчитывать значение кодом:

    Для стартового:

    =: dateFormat(date: #fl_date; format: "Y-m-d 00:00")
    
    

    Для завершающего:

    =: dateFormat(date: #fl_date; format: "Y-m-d 23:59")
    
    

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

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

    Аналогично через техническое поле в строчной части или через два интервальных технических поля префильтра:

    Для стартового:

    =: dateFormat(date: #fl_date; format: "Y-m-01")
    
    

    Для завершающего:

    =: dateAdd(date: #fl_teh_start; days: $days)
    
    days: dateFormat(date: #fl_teh_start; format: "t") - 1
    
    // Здесь мы нахдим последний день месяца по первому