[Решено] Отображение заказов на сегодня
[Решено] Отображение заказов на сегодня
Здравствуйте коллеги. Сломал голову, не пойму как сделать. Есть сущность Заказы. В ней есть дата начала работ и дата окончания работ (для отображения в графике загрузки). Вывел фильтр - "Заказы на сегодня". Там есть только возможность выбрать фильтр по дате "Дата начала работ" = 0 (сегодня). Допустим у меня заказ начало 13 июля а конец 15 июля. При применении фильтра 13го числа "Заказы на сегодня" мне этот заказ отобразит. А вот завтра и послезавтра (14го и 15го) - естественно в "Заказы на сегодня" он отображаться не будет, хотя по сути он стоит и растянут на 3 дня. Как лучше реализовать вывод заказа в фильтр "Заказы на сегодня" в любой день, в промежутке которого он находится от и до?
Последний раз редактировалось artyzz 14 июл 2023, 09:44, всего редактировалось 1 раз.
- Fait
- Инвестор

- Сообщения: 1197
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
- Контактная информация:
Re: Отображение заказов на сегодня
Можно вот таким способом (костыль, но зато работает):artyzz писал(а): 13 июл 2023, 22:29 Здравствуйте коллеги. Сломал голову, не пойму как сделать. Есть сущность Заказы. В ней есть дата начала работ и дата окончания работ (для отображения в графике загрузки). Вывел фильтр - "Заказы на сегодня". Там есть только возможность выбрать фильтр по дате "Дата начала работ" = 0 (сегодня). Допустим у меня заказ начало 13 июля а конец 15 июля. При применении фильтра 13го числа "Заказы на сегодня" мне этот заказ отобразит. А вот завтра и послезавтра (14го и 15го) - естественно в "Заказы на сегодня" он отображаться не будет, хотя по сути он стоит и растянут на 3 дня. Как лучше реализовать вывод заказа в фильтр "Заказы на сегодня" в любой день, в промежутке которого он находится от и до?
1) Создаёте поле MY SQL Формула, и туда вставляете следующую формулу:
Код: Выделить всё
IF((UNIX_TIMESTAMP()>=[777] AND UNIX_TIMESTAMP()<[888]),1,0)2) В фильтрах отчёта "Заказы на сегодня" укажите это созданное поле с включённым значением "1"
Re: Отображение заказов на сегодня
Попробовал, возвращает 0. Что то не так)Fait писал(а): 13 июл 2023, 23:06Можно вот таким способом (костыль, но зато работает):artyzz писал(а): 13 июл 2023, 22:29 Здравствуйте коллеги. Сломал голову, не пойму как сделать. Есть сущность Заказы. В ней есть дата начала работ и дата окончания работ (для отображения в графике загрузки). Вывел фильтр - "Заказы на сегодня". Там есть только возможность выбрать фильтр по дате "Дата начала работ" = 0 (сегодня). Допустим у меня заказ начало 13 июля а конец 15 июля. При применении фильтра 13го числа "Заказы на сегодня" мне этот заказ отобразит. А вот завтра и послезавтра (14го и 15го) - естественно в "Заказы на сегодня" он отображаться не будет, хотя по сути он стоит и растянут на 3 дня. Как лучше реализовать вывод заказа в фильтр "Заказы на сегодня" в любой день, в промежутке которого он находится от и до?
1) Создаёте поле MY SQL Формула, и туда вставляете следующую формулу:Здесь 777 - id поля "Начало работ", а 888 - id поля "Окончание работ".Код: Выделить всё
IF((UNIX_TIMESTAMP()>=[777] AND UNIX_TIMESTAMP()<[888]),1,0)
2) В фильтрах отчёта "Заказы на сегодня" укажите это созданное поле с включённым значением "1"
IMG_20230714_010713.jpg
- Fait
- Инвестор

- Сообщения: 1197
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
- Контактная информация:
Re: Отображение заказов на сегодня
Всё работает.
Формула должна возвращать 0, если текущая дата находится не в диапазоне дат
Формула должна возвращать 0, если текущая дата находится не в диапазоне дат
Re: Отображение заказов на сегодня
у меня 0 возвращает любые заказы с любыми датамиFait писал(а): 13 июл 2023, 23:21 Всё работает.
Формула должна возвращать 0, если текущая дата находится не в диапазоне дат
- Fait
- Инвестор

- Сообщения: 1197
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
- Контактная информация:
Re: Отображение заказов на сегодня
Формула рабочая, это точно.
Пришлите скрин, как вы её у себя написали.
- Fait
- Инвестор

- Сообщения: 1197
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
- Контактная информация:
Re: Отображение заказов на сегодня
Вот у меня она описана
А вот результат:
А вот результат:
Последний раз редактировалось Fait 13 июл 2023, 23:33, всего редактировалось 1 раз.
Re: Отображение заказов на сегодня
у меня поля в формате Выбор даты + время с календарем. Как преобразовать в Юникс это?) По формуле мы сравниваем в Юниксе, а поле то у меня возвращает просто число и текст месяца
- Fait
- Инвестор

- Сообщения: 1197
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
- Контактная информация:
Re: Отображение заказов на сегодня
Просто сделайте так, как я написал.
Тип поля "Дата", и этого достаточно
- Fait
- Инвестор

- Сообщения: 1197
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
- Контактная информация:
Re: Отображение заказов на сегодня
Значения всех полей с типом "Дата" хранятся в БД в формате UNIX TIMESTAMP.
А в SQL, UNIX_TIMESTAMP() - это функция, возвращающая текущее время в формате UNIX.
Далее, текущий UNIX сравниваем с UNIX из БД, и готово)