Страница 1 из 3

Написать условие для ограничение выпадающего списка

Добавлено: 21 янв 2021, 17:52
nruslan2
Вопрос как всет-таки это реализовать:
-Сущность №1 - Поле дата(24) и Наименование (23)
-Сущность №2 - Выпадающий список AJAX(25) ссылается на Сущность№1 и Поле дата(30)

Идея следующая: Чтобы Выпадающий список выдавал значения Сущности №1, у которых Дата(24) либо не заполнена, либо Дата(24)>Даты(30)

Пытаюсь: в настройках поля Сущности AJAX есть поле Условие SQL:
Там прописываю: e.field_24=''" or e.field_24>[30]

И засада в том что не работает, дает только по первому условию, если e.field_24<[30] то показывает все.
Походу он пытается сравнивает значения разные. Вопрос как правильно написать то? Или куда копать.
Пробовал играться UNIX_TIMESTAMP(STR_TO_DATE([30],'%d.%m.%Y')) тоже не прокатило)

Re: Написать условие для ограничение выпадающего списка

Добавлено: 21 янв 2021, 18:47
support

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

e.field_24=0

Re: Написать условие для ограничение выпадающего списка

Добавлено: 21 янв 2021, 19:53
nruslan2
Это пустое значение или равно нулю - оно то как раз работает

Не понимаю как написать сравнение дат(

Сравнение поле дата в лоб не работает - Значит в коком то месте машина думает что это не дата:
Если рассуждать логически и знать базу, то в записи дата хранится в UNIX формате, и тогда возникает вопрос А в открытой форме в каком виде Хранится/Заполняется дата?! и проходит по системе? и явно это UNIX и не формат заданный в настройках поля Дата (%d.%m.%Y'), так как верхняя формула так же не работает!

Re: Написать условие для ограничение выпадающего списка

Добавлено: 21 янв 2021, 20:50
support

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

FROM_UNIXTIME(e.field_24,'%Y-%m-%d')>FROM_UNIXTIME([30],'%Y-%m-%d')

Re: Написать условие для ограничение выпадающего списка

Добавлено: 21 янв 2021, 21:00
nruslan2
support писал(а): 21 янв 2021, 20:50

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

FROM_UNIXTIME(e.field_24,'%Y-%m-%d')>FROM_UNIXTIME([30],'%Y-%m-%d')
Не работает(
Причем если написать допустим e.field_24>'1611360000' то все работает, таким образом и дошел что что то в [30] не то

НУ чтоб я не был буратино:
в Сущности №1 сейчас тестово 2 записи: одна 06.01.2021 другая 24.01.2021
в Сущности №2 - одна запись с 23.01.2021.

Re: Написать условие для ограничение выпадающего списка

Добавлено: 21 янв 2021, 22:07
support
А field_24 и [30] это что за типы полей?

Re: Написать условие для ограничение выпадающего списка

Добавлено: 21 янв 2021, 23:18
nruslan2
support писал(а): 21 янв 2021, 22:07 А field_24 и [30] это что за типы полей?
Дата с календарем

Re: Написать условие для ограничение выпадающего списка

Добавлено: 22 янв 2021, 05:48
support
Ага, тогда вот такой пример попробуйте

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

e.field_24>UNIX_TIMESTAMP([30])

Re: Написать условие для ограничение выпадающего списка

Добавлено: 22 янв 2021, 09:53
nruslan2
support писал(а): 22 янв 2021, 05:48 Ага, тогда вот такой пример попробуйте

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

e.field_24>UNIX_TIMESTAMP([30])
Такую формулу я тоже пробывал)
Не работает(
Я как только не игрался с переводами в разные форматы с разными масками. Так как не могу понять в каком формате все таки выдается значение в (30).
Если верить ajax то в unix, если верить текст по шаблону то в дате Д. М. Г
Если тупо то что на экране на форме то Г. М. Д. Но ниодин из вариантов не подошел
так что мои идеи закончились(

Re: Написать условие для ограничение выпадающего списка

Добавлено: 22 янв 2021, 10:29
support
Данные передаются в формате, как они введены в форме, тоесть дата будет Y-m-d и ее нужно будет экранировать в запросе, так как это строка.
Я у себя протестировал следующую конструкцию

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

FROM_UNIXTIME(date_added,'%Y-%m-%d')='[331]'
В вашем случае должно работать в таком варианте

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

FROM_UNIXTIME(e.field_24,'%Y-%m-%d')>'[30]'
Сообщите результат.