Всем доброго времени суток.
Версия 7.11.
Есть типовой фильтр периода:
var periodFilter = this.Terrasoft.createFilterGroup();
periodFilter.logicalOperation = Terrasoft.LogicalOperatorType.AND;
periodFilter.add("UsrDueDate", this.Terrasoft.createColumnFilterWithParameter(
this.Terrasoft.ComparisonType.GREATER_OR_EQUAL, "UsrDueDate",
UsrFilterStartDate));
periodFilter.add("UsrStartDate", this.Terrasoft.createColumnFilterWithParameter(
this.Terrasoft.ComparisonType.LESS_OR_EQUAL, "UsrStartDate",
UsrFilterDueDate));
if (fixedFilters.contains("PeriodFilter")) {
fixedFilters.removeByKey("PeriodFilter");
}
fixedFilters.add("PeriodFilter", periodFilter);
Здесь UsrFilterStartDate, UsrFilterDueDate - значения даты начала и конца периода, указанные в фильтре (например, такой фильтр используется в разделе Активности), UsrStartDate, UsrDueDate - соответственно, даты начала и завершения в некотором объекте. В результате находятся все записи, которые хоть каким-нибудь "боком" попадают в заданный диапазон.
Проблема в том, что есть записи, в которых указана только дата начала UsrStartDate, т.к. запись ещё не "закрыта", то UsrDueDate пока пуста. Как сделать, чтобы такие записи тоже попадали в фильтр? Сейчас они не попадают, т.к. в колонке UsrDueDate пусто.