![]() |
#9 |
Участник
|
Если не заморачиваться с возможным пустым значением полей, то, в данном случае, надо просто создать два отдельных Range на поле, содержащее начало диапазона и на поле, содержащее конец диапазона.
Два Range, созданные по разным полям автоматически объединяются по "И", что, в данном случае и требуется X++: // init: QueryBuildDataSource qbds; qbds = this.query().dataSourceTable(tableNum(MyTable)); rangeBegin = qbds.addRange(fieldNum(mlm_EmployeesTable, begin_date)); rangeEnd = qbds.addRange(fieldNum(mlm_EmployeesTable, finish_date)); X++: // executeQuery: if(firstOpen == True) { rangeBegin.value(global::QueryRange(dateNull(), systemDateGet())) rangeEnd.value(global::QueryRange(systemDateGet(), dateNull())) } else { rangeBegin.value(global::QueryRange(dateNull(), TerminationDate.value())) rangeEnd.value(global::QueryRange(TerminationDate.value(), dateNull())) } Если же значения полей могут быть пустыми (есть дата начала, но нет даты конца или наоброт), то все значительно сложнее. |
|
|
За это сообщение автора поблагодарили: timaluhs (1). |
Теги |
query, querybuildrange, range, фильтр |
|
|