Никак не могу побороть один момент в запросе.
Нужно сделать аналог конструкции
X++:
where table1.Date < systemDateGet() - table2.Days
Поначалу было такое, но данные отбирались неверно - видимо, вычитались не дни, а что-то другое (секунды?).
X++:
qbdsTable1.addRange(fieldNum(Table1, Date)).value(
strfmt('(Date < %1 - %2.%3))',
date2StrXpp(systemDateGet()),
query.dataSourceTable(tableNum(Table2)).name(),
fieldStr(Table2, Days)));
Думал, использовать SQL - функцию, но идёт постоянная ошибка расширенного диапазона.
X++:
qbdsTable1.addRange(fieldNum(Table1, Date)).value(
strfmt('(Date < dateadd(%1.%2, -%3.%4, %5))',
query.dataSourceTable(tableNum(Table1)).name(),
fieldStr(Table1, Date),
query.dataSourceTable(tableNum(Table2)).name(),
fieldStr(Table2, Days),
date2StrXpp(systemDateGet())));
Третий вариант: вычесть из текущей даты значение интересующего поля и сравнить результат с полем во второй таблице тоже не работает, но ошибка уже другая: неверный параметр.
X++:
qbdsTable1.addRange(fieldNum(Table1, Date)).value(
strfmt('((%1 - %2.%3) > %4.%5)',
date2StrXpp(systemDateGet()),
query.dataSourceTable(tableNum(Table1)).name(),
fieldStr(Table1, Date),
query.dataSourceTable(tableNum(Table2)).name(),
fieldStr(Table2, Days)));