31.01.2011, 18:26 | #21 |
Участник
|
Цитата:
Сообщение от Corel
Эээ... не обратил.
Хм... Попробую так. Если у вас вычитание даты из даты корректно работает, значит, надежда есть. 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 Пока что над этим голову ломать дальше не хочу. Спасибо всем за советы. Upd: Придётся-таки думать дальше. При тестировании наткнулся-таки на ограничение длины рэнжа. Буду вместо мэпа заполнять временную таблицу и джойнить её уже. Последний раз редактировалось Corel; 31.01.2011 в 19:23. |
|
Теги |
querybuildrange, дата, расширенный фильтр |
|
|