Показать сообщение отдельно
Старый 31.01.2011, 11:58   #13  
Corel is offline
Corel
Участник
Ex AND Project
 
73 / 15 (1) ++
Регистрация: 19.04.2007
Цитата:
Сообщение от 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.

Последний раз редактировалось Corel; 31.01.2011 в 12:23.