|
![]() |
#1 |
Участник
|
А имеет ли смысл формировать расширенный фильтр?
Вроде бы все можно реализовать простыми range, воспользовавшись тем поведением, что создание двух range на одно поле сделает для них ИЛИ. Навскидку приходит на ум форма применимости номенклатуры в спецификациях BOMPartOf. |
|
![]() |
#2 |
Участник
|
Хотя даже и не обязательно создавать два range, вполне работает и по одному.
Вот часть установки фильтров как раз похожего случая когда нужно попадание даты в диапазон и дата окончания диапазона может быть открытой: X++: qbrTemp = findOrCreateRange_W(qbdsSetup, fieldNum(SysPolicySetup_OVK, FromDate)); qbrTemp.value(SysQuery::range(dateNull(), searhDate)); qbrTemp = findOrCreateRange_W(qbdsSetup, fieldNum(SysPolicySetup_OVK, ToDate)); rangeTemp = SysQuery::range(searhDate, dateNull()); rangeTemp += (', ' + SysQuery::valueEmptyString()); qbrTemp.value(rangeTemp); Код: SELECT * FROM SysPolicySetup_OVK WHERE ((PolicyType = 1)) AND ((PolicyStatus = 1)) AND ((FromDate<={ts '2019-02-13 00:00:00.000'})) AND ((ToDate>={ts '2019-02-13 00:00:00.000'} OR ToDate = {ts '1900-01-01 00:00:00.000'})) Последний раз редактировалось Raven Melancholic; 13.02.2019 в 21:57. |
|
|
За это сообщение автора поблагодарили: dark_knight (1). |
![]() |
#3 |
Участник
|
спасибо)) учту
|
|