Цитата:
Сообщение от
Pustik
Скорее всего хотят, чтобы указанная дата(_date) проверялась в периоде StartDate..EndDate если эти даты явно указаны в таблице.
Т.е.
1) если указана дата StartDate но неуказана EndDate, то бери если _date >= StartDate,
2) если не указана StartDate но указана EndDate, то бери если _date <= Enddate,
3) если указана StartDate и указана EndDate, то бери если _date >= StartDate и при этом _date <= EndDate,
4) если не указана StartDate и не указана EndDate, то бери в любом случае.
Ну, если учесть, что dateNull() меньше любой другой даты, то (4) является частным случаем (1), разве нет?
Таким образом, один из критериев можно опустить (и ещё, кажется, Вы перепутали условия для StartDate и EndDate).
X++:
qbdsTable.addRange(fieldNum(Table, StartDate)).value(queryRange(dateNull(), _date));
qbdsTable.addRange(fieldNum(Table, EndDate)).value(queryRange(_date, dateNull()));
qbdsTable.addRange(fieldNum(Table, EndDate)).value(queryValue(dateNull()));