[Решено] Отображение заказов на сегодня

Все вопросы/проблемы по установке и использовании.
artyzz
Сообщения: 104
Зарегистрирован: 22 апр 2020, 23:28
Имя: Сергей
Откуда: Москва

[Решено] Отображение заказов на сегодня

Сообщение artyzz »

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

Re: Отображение заказов на сегодня

Сообщение Fait »

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)
Здесь 777 - id поля "Начало работ", а 888 - id поля "Окончание работ".
2) В фильтрах отчёта "Заказы на сегодня" укажите это созданное поле с включённым значением "1"
IMG_20230714_010713.jpg
artyzz
Сообщения: 104
Зарегистрирован: 22 апр 2020, 23:28
Имя: Сергей
Откуда: Москва

Re: Отображение заказов на сегодня

Сообщение artyzz »

Fait писал(а): 13 июл 2023, 23:06
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)
Здесь 777 - id поля "Начало работ", а 888 - id поля "Окончание работ".
2) В фильтрах отчёта "Заказы на сегодня" укажите это созданное поле с включённым значением "1"

IMG_20230714_010713.jpg
Попробовал, возвращает 0. Что то не так)
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 1197
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич
Контактная информация:

Re: Отображение заказов на сегодня

Сообщение Fait »

Всё работает.
Формула должна возвращать 0, если текущая дата находится не в диапазоне дат
artyzz
Сообщения: 104
Зарегистрирован: 22 апр 2020, 23:28
Имя: Сергей
Откуда: Москва

Re: Отображение заказов на сегодня

Сообщение artyzz »

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

Re: Отображение заказов на сегодня

Сообщение Fait »

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

Re: Отображение заказов на сегодня

Сообщение Fait »

Формула
Формула
Вот у меня она описана

А вот результат:
Результат, если текущая дата в диапазоне
Результат, если текущая дата в диапазоне
Результат, если текущая дата не в диапазоне
Результат, если текущая дата не в диапазоне
Последний раз редактировалось Fait 13 июл 2023, 23:33, всего редактировалось 1 раз.
artyzz
Сообщения: 104
Зарегистрирован: 22 апр 2020, 23:28
Имя: Сергей
Откуда: Москва

Re: Отображение заказов на сегодня

Сообщение artyzz »

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

Re: Отображение заказов на сегодня

Сообщение Fait »

artyzz писал(а): 13 июл 2023, 23:32
Fait писал(а): 13 июл 2023, 23:30 IMG_20230714_013001.jpg
Вот у меня она описана
у меня поля в формате Выбор даты + время с календарем. Как преобразовать в Юникс это?) По формуле мы сравниваем в Юниксе, а поле то у меня возвращает просто число и текст месяца
Просто сделайте так, как я написал.
Тип поля "Дата", и этого достаточно ;)
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 1197
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич
Контактная информация:

Re: Отображение заказов на сегодня

Сообщение Fait »

artyzz писал(а): 13 июл 2023, 23:32
Fait писал(а): 13 июл 2023, 23:30 IMG_20230714_013001.jpg
Вот у меня она описана
у меня поля в формате Выбор даты + время с календарем. Как преобразовать в Юникс это?) По формуле мы сравниваем в Юниксе, а поле то у меня возвращает просто число и текст месяца
Значения всех полей с типом "Дата" хранятся в БД в формате UNIX TIMESTAMP.
А в SQL, UNIX_TIMESTAMP() - это функция, возвращающая текущее время в формате UNIX.

Далее, текущий UNIX сравниваем с UNIX из БД, и готово)
Ответить