Динамические даты для диапазонного фильтра - Публичная база знаний Modus
Показать оглавление
Общее описание
Начиная с версии 3.13.9 в Modus Bi расширена функциональность фильтра с типом «По диапазону» для полей типа «Дата». Реализована возможность гибкой настройки границ диапазона («Условие 1» и «Условие 2»), которая позволяет независимо включить режим динамического вычисления даты и настроить правила этого вычисления.
Ранее доступные предустановленные режимы «Последние N дней», «До текущей даты» сохранены для обратной совместимости.
Новые настройки доступны при выборе режима «Произвольный диапазон».

Реализовано:
- оба условия динамические;
- оба условия фиксированные;
- одно условие динамическое, другое — фиксированное;
- если настроенная динамическая дата не может быть вычислена (например, ошибка конфигурации), фильтр применяется без этого условия. Пользователю отображается информационное сообщение;
- локализация дней недели соответствует русскоязычной версии интерфейса.
Изменения в интерфейсе
Раздел «Режим»
Поле «Автодата» переименовано в «Режим» и установлено над блоками условий. Доступные типы режимов:
- «Произвольный диапазон» — новый режим, открывающий доступ к настройке динамических дат для каждого условия независимо, переименовано из «-»;
- «Последние N дней» — поведение без изменений (сохранено для обратной совместимости);
- «До текущей даты» — поведение без изменений (сохранено для обратной совместимости).

Примечание — при выборе режима «Последние N дней» или «До текущей даты» поля ввода дат в блоках условий становятся недоступными для редактирования — диапазон определяется автоматически. При этом выбор операторов сравнения (≥, ≤, >, <, =) остаётся доступным.
Раздел «Условие 1» и «Условие 2»
Каждый блок условия содержит:
- Заголовок условия:
- Выпадающий список операторов (≥, ≤, >, <, =);
- Поле ввода даты (активно только при выключенном динамическом значении);
- Переключатель включения/выключения условий, по умолчанию включен.
- Область динамического значения (отображается, если включено «Динамическое значение», по умолчанию выключено):
- Переключатель «Динамическое значение», положение:
- При «ВЫКЛ» — используется фиксированная дата из календаря;
- При «ВКЛ» — поле даты недоступно для редактирования, отображается автоматически рассчитанное значение текущей даты, под переключателем отображается блок настройки динамический значений.
- Переключатель «Динамическое значение», положение:

Раздел настройки «Динамическое значение»
Отображается при включенном переключателе «Динамическое значение», представлено:
- «Точка отсчета» — выпадающий список:
- «Текущий»;
- «Предыдущий»;
- «Следующий».

Логика и параметры настройки:
|
Значение |
Описание |
|
Текущий |
Относительно текущей даты (текущий год, текущий месяц, текущий день) |
|
Предыдущий |
Относительно предыдущего периода (предыдущий год, предыдущий месяц и т.д.) |
| Следующий | Относительно следующего периода (следующий год, следующий месяц и т.д.) |

Логика и параметры настройки:
|
Значение |
Описание |
Особенности |
|
Год |
Годовой период |
Привязка: месяц + день |
|
Квартал |
Квартальный период (1-3 месяцы) |
Привязка: месяц в квартале + день |
|
Месяц |
Месячный |
Привязка: день месяца |
|
Неделя |
Недельный период |
Привязка: дни недели: Пн, Вт, Ср, Чт, Пт, Сб, Вс |
|
День |
Дневной период |
Привязка отсутствует |
- «Точка привязки» — зависит от выбранной единицы периода, выпадающий список:

Примечание — при выборе значения «День» в поле «Единица периода» → поле «Точка привязки» скрыто.

Логика и параметры настройки:
|
Значение |
Описание |
Пример |
|
Начало |
Первый день выбранного периода |
Предыдущий месяц, начало → 01 число предыдущего месяца |
|
Конец |
Последний день выбранного периода |
Предыдущий месяц, конец → последний день предыдущего месяца |
|
Настраиваемая |
Фиксированная точка внутри периода |
Предыдущий квартал, месяц = 2, день = 15 → 15 число 2-го месяца предыдущего квартала |
Примечание — при выборе значения «Настраиваемая» в поле «Точка привязки» отображаются дополнительные поля:
- Для Года: выбор месяца (1–12) и дня (1–31);

- Для Квартала: выбор месяца в квартале (1–3) и дня (1–31);

- Для Месяца: выбор дня (1–31);

- Для Недели: выбор дня недели (Пн, Вт, Ср, Чт, Пт, Сб, Вс).

- «Сдвиг», представлено:
- Числовое поле со стрелками (целые числа, от -1000 до 1000);
- Выпадающий список единиц сдвига:
- «Дни»;
- «Недели»;
- «Месяцы»;
- «Кварталы»;
- «Годы».

Логика и параметры настройки:
|
Значение |
Описание |
| Отрицательные значения | Сдвиг в прошлое (влево) |
| Положительные значения | Сдвиг в будущее (вправо) |
| Значение 0 | Сдвиг не применяется |
Примечание — настройка позволяет сместить вычисленную дату на заданное количество единиц (дни, недели, месяцы, кварталы, годы). При сдвиге на месяц учитываются особенности календаря 29, 30, 31 января + 1 месяц и 28 или 29 февраля.
Примеры настройки
Пример 1. С начала прошлого месяца по вчера
|
Условие |
Настройки |
| Условие 1 (≥) |
|
| Условие 2 (≤) |
|
Пример 2. С фиксированной даты по конец следующего квартала
|
Условие |
Настройки |
| Условие 1 (≥) |
|
| Условие 2 (≤) |
|
Пример 3. Весь прошлый год
|
Условие |
Настройки |
| Условие 1 (≥) |
|
| Условие 2 (≤) |
|
Примечание
Данный функционал также доступен для боковой панели фильтров при настройке фильтра типа «По диапазону» для полей типа «Дата». Все настройки и логика работы аналогичны описанным в текущем разделе.
Подробнее о настройке фильтров на боковой панели см. в разделе: «Общие фильтры и категории» подраздел «Настройка диапазонных фильтров».