DSPIC
про использования интервала для даты это можно, но что делать со временем не понятно.
Поля StrartTime и EndTime определены как TimeHour24 или можно сними работать как с целыми числами (каждая единица секунда) 7200 =2ч
если StartTime =23:00: а EndTime = 6:00:00
а t = 2:00:00
то условие StartTime<t AND t< EndTime теряет всякий смысл.
23 > 2
Надо как кто привязать дату ко времени.
Если сделать так
X++:
queryBuildDataSource.addRange(fieldnum(MilkShifts,StartTime)).value("<" + t +"-( StartDate -"+ d+" )*86400" );
//86400 - это сутки в секундах
т.е. в запросе бы получалось так
(mShifts.StartTime<(t+(d-mShifts.StartDate)*86400) && (t-(mShifts.EndDate-d)*86400)<mShifts.EndTime
t - текущее время
d - текущая дата
Если текущая дата = StartDate и EndDate то выражение (mShifts.EndDate-d)*86400) == 0
А если время начальное и конечное в разных датах то данное выражение имеет мысл.
Но как его завернуть в query ?