Цитата:
Сообщение от
AndyD
Прошу прощение за настойчивость, но вы обратили внимание, что рейнж накладывается на поле не первого, а второго датасорса?
Эээ... не обратил.
Хм... Попробую так. Если у вас вычитание даты из даты корректно работает, значит, надежда есть.
Upd:
Попробовал. Ошибка расширенного диапазона:
Ошибка расширенного диапазона запроса: Table1.Date не является корректной парой datasource.field рядом с 45.
Видимо, из-за того, что датасорсы уж очень далеко отстоят друг от друга - table2 входит в запрос гораздо выше.
Сейчас пробую так:
делаю предварительный запрос, собрав в Map интересующие меня пары код - кол-во дней из table2, а затем в основном Query иду по этой мапе и ставлю условие
X++:
qbdsTable1.addRange(fieldNum(Table1, Date)).value(strfmt('((%2.%4 == %5) && (%6.%7 < %1))',
date2StrXpp(systemDateGet() - any2int(mapIterator.value())), //%1
query.dataSourceTable(tableNum(Table2)).name(), //%2
fieldStr(Table2, Days), //%3
fieldStr(Table2, Id), //%4
SysQuery::value(mapIterator.key()), //%5
query.dataSourceTable(tableNum(Table1)).name(), //%6
fieldStr(Table1, Date))); //%7
Но пока что выдаёт в это месте синтаксическую ошибку рядом с 38.