Как сделать фильтр "Дата создания не равно предыдущий месяц" ?
Добрый день. Суть вопроса в теме.
Заранее извиняюсь, если проблема уже обсуждалась, но я не нашла.
P.S. и аналогичный фильтр "Дата создания не равно предыдущая неделя" ?
Нравится
Здравствуйте, Виктория!
Уточните, пожалуйста, о какой версии бинарных файлов идет речь?
Дело в том, что подобные фильтры по дате - ядровые, и описанный Вами фильтр был добавлен с определенной сборки 3.3.2. То есть, возможность выбора условия Предыдущий месяц в фильтре по дате создания можно включить, обновив бинарные файлы до последней сборки.
В случае, если Вам необходимо добавить подобный фильтр непосредственно в SQL и сделать него не изменяемым, тогда единственный вариант - создание CustomSQL-фильтра, который будет автоматически подтягивать нужные даты. Однако в таком случае не получится выводить фильтр в блок фильтрации, и его нужно будет реализовывать в интерфейсе отдельно в виде признака.
Здравствуйте, Виктория!
Для данной версии есть предустановленный фильтр по функции Предыдущий месяц:
Для того, чтобы его применить к колонке Дата создания, добавьте колонку в блок фильтрации, нажмите на условие Равно и выберите вместо него Предыдущий месяц.
Обратите внимание, Предыдущий месяц - это с 1-го по 31-е число того месяца, который был до текущего, тогда как Прошлый месяц - это диапазон 30 дней до текущей даты. текущее время при этом не учитывается.
Анна - я виделафильтр "равно предыдущий месяц". Я им прекрасно пользуюсь уже пару лет. Мне нужен фильтр "НЕ РАВНО предыдущий месяц".
Виктория, для "не предыдущего" можно попробовать сделать пользовательский SQL-фильтр с нужным условием вроде такого (месяц):
not ( [CreatedOn]>=DATEADD(MONTH, DATEDIFF(MONTH,0, CURRENT_TIMESTAMP)-1,0) AND [CreatedOn]< DATEADD(MONTH, DATEDIFF(MONTH,0, CURRENT_TIMESTAMP) ,0))
И подключать его программно, если в блоке фильтрации стоит нужная галка.
Александр , подскажите пожалуйста чуть более подробно. Мне надо добавить пользовательский SQL-фильтр прямо в блок Where (для того sq , в котором это необходимо). Или создать еще какое-то условие - например, фильтр пользователя типа Дата или Exist или какой-то другой?
Виктория, если хотите конкретное решение, опишите конкретную задачу
фильтр пользователя - это те, что используются для фильтрации пользователем в разделах (как у Анны на скриншоте). Если добавлять блок в where, фильтр надо будет включать программно где-то в скриптах на каком-то событии или кнопке.
В общем, опишите более подробно
Задача минимум: в конкретных 2х разделах иметь возможность отфильтровать записи по условию "Поле Дата создания не равно предыдущий месяц". Те чтобы этот фильтр можно было использовать как обычный пользовательский фильтр, в том числе сохранять в настройках динамических групп.
Понятно, что в любой момент времени можно воспользоваться фильтром "Дата создания меньше .. " и указать в нем конкретную дату меньше на месяц, чем текущая.
Но мне необходима постоянно действующая динамическая группа с таким условием.
1. создать exist фильтр. установить ему галочку НЕ
2. внутри него таблицу установить tbl_ТаКотораяВамНужна задать для нее алиас, чтобы не запутаться
3. в селекте выбрать что-нибудь (ID)
4. в where создать фильтр сравнения, где выставить tbl_ТаКотораяВамНужна.ID = ВашАлиас.ID (основная таблица запроса - первая в списке после параметров) и создать пользовательский фильтр для даты
все получилось!
но это , конечно, совсем не то, что сделать в ядре сразу предустановленную возможность делать такой фильтр для любой даты.