Уникальные поля (Решено)

Все вопросы/проблемы по установке и использовании.
Ответить
Аватара пользователя
Parazit00
Сообщения: 144
Зарегистрирован: 04 мар 2024, 19:21
Имя: Артём
Откуда: Казахстан, Тараз
Организация: SHOP-EX Быстро и Надежно

Уникальные поля (Решено)

Сообщение Parazit00 »

Добрый вечер!

Подскажите, пожалуйста, как реализовать запрет на добавление записей в определённый промежуток времени.

Есть следующие поля:

Дата и время [563]
Дата окончания [832]
Ответственный [570]
Время работы [611]
Задача:
Если создана встреча, например, на 16.01.2025 17:00, которая закончится 16.01.2025 18:30, то в этот промежуток времени нельзя добавлять новые встречи.

Пробовал настроить через составные уникальные поля, но удалось только ограничить создание записей на конкретную дату и время, а также для конкретного пользователя.
Screenshot_17.png
Screenshot_17.png (9.51 КБ) 27167 просмотров
Вопрос:
Как настроить запрет через составные поля на отрезок времени, а не только на фиксированные даты/время?
Можно ли реализовать это штатным функционалом, или потребуется писать PHP-код?
Screenshot_16.png
Screenshot_16.png (12.05 КБ) 27167 просмотров
Последний раз редактировалось Parazit00 17 янв 2025, 12:51, всего редактировалось 1 раз.
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 1077
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич

Re: Уникальные поля

Сообщение Fait »

Могу помочь, потребуется PHP код
Аватара пользователя
Parazit00
Сообщения: 144
Зарегистрирован: 04 мар 2024, 19:21
Имя: Артём
Откуда: Казахстан, Тараз
Организация: SHOP-EX Быстро и Надежно

Re: Уникальные поля (Решено)

Сообщение Parazit00 »

Подсказали решение через расширенный календарь.
it@ivku.ru
Сообщения: 45
Зарегистрирован: 20 апр 2023, 10:16
Имя: Алексей
Откуда: Россия, Иваново

Re: Уникальные поля (Решено)

Сообщение it@ivku.ru »

Parazit00 писал(а): 17 янв 2025, 12:52 Подсказали решение через расширенный календарь.
Раз решили - напишите решение плз.
nruslan2
Сообщения: 2625
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow
Контактная информация:

Re: Уникальные поля (Решено)

Сообщение nruslan2 »

в поле расширенный календарь есть поле ограничить дату! туда и вписываем нужное условие!https://vk.com/rukovoditel_project?w=wall-80230319_1865
it@ivku.ru
Сообщения: 45
Зарегистрирован: 20 апр 2023, 10:16
Имя: Алексей
Откуда: Россия, Иваново

Re: Уникальные поля (Решено)

Сообщение it@ivku.ru »

nruslan2 писал(а): 20 янв 2025, 09:30 в поле расширенный календарь есть поле ограничить дату! туда и вписываем нужное условие!https://vk.com/rukovoditel_project?w=wall-80230319_1865
Никогда б не догадался туда залезть.
Вот что значит знать документацию до последней запятой.
Браво!
Аватара пользователя
Parazit00
Сообщения: 144
Зарегистрирован: 04 мар 2024, 19:21
Имя: Артём
Откуда: Казахстан, Тараз
Организация: SHOP-EX Быстро и Надежно

Re: Уникальные поля (Решено)

Сообщение Parazit00 »

Здравствуйте! Извините за задержку с ответом — был немного занят. Хочу поблагодарить всех, кто периодически подсказывает даже элементарные вещи. Бывает, что для выполнения простого действия приходится использовать сложные обходные пути, а потом выясняется, что нужный функционал уже существует.

Вначале я пошел совсем не в ту сторону, пытаясь реализовать то, что мне нужно. Однако с расширенным календарем мне удалось решить задачу, так как в нем можно прописывать условия, а именно это мне и было нужно.

Как же здорово, что на форуме есть люди, готовые подсказать, а иногда и помочь с составлением кода и другими вопросами. Спасибо вам!
Аватара пользователя
ink64rus
Сообщения: 31
Зарегистрирован: 09 мар 2022, 10:34
Имя: Михаил
Откуда: Саратов
Контактная информация:

Re: Уникальные поля (Решено)

Сообщение ink64rus »

Подниму тему, дабы не плодить. У меня не получается закрыть промежуток времени с учетом третьего значения (кабинет, учитель, как хотите называйте)
1. При использовании составных полей промежуток не закрывается - закрываются выбранные значения полей: начало мероприятия и конец мероприятия. Если выбрать промежуточное время в новой записи - то дает создать запись. Т.е. если мероприятие с 11 до 14, то при создании новой записи я могу свободно создать ее указав начало - 12 или 13 часов
2. Промежуток закрыть можно в поле "Расширенный календарь" по условию, но я не понимаю как в условии сделать проверку на занятость гипотетического кабинета. Для этого надо как-то обратиться к значению поля открытого в форме для создания мероприятия. Что-то типа

Код: Выделить всё

select field_880 as time_from, field_895 as time_to from app_entity_62 where date_format(FROM_UNIXTIME(field_880),'%Y-%m-%d')=[TODAY] AND field_896 = [896]
, но так не работает.
Кто-то может знает как можно закрыть промежуток времени с учетом третьей переменной (кабинет, учитель, исполнитель).
Аватара пользователя
ink64rus
Сообщения: 31
Зарегистрирован: 09 мар 2022, 10:34
Имя: Михаил
Откуда: Саратов
Контактная информация:

Re: Уникальные поля (Решено)

Сообщение ink64rus »

Неактуально. Сделал на PHP, через поле Ajax. Если вдруг появится решение встроенными средствами, просьба написать. Пригодится не только мне.
Ответить