Показать сообщение отдельно
Старый 15.12.2006, 14:27   #17  
fialka is offline
fialka
Участник
 
347 / 16 (1) ++
Регистрация: 05.10.2006
Адрес: Екатеринбург
Ну если не верите... вот весь запрос...
public void executeQuery()
{
Query query = new Query();
QueryBuildDataSource qbds1, qbds2, qbds3,qbds4, qbds5;
QueryRun queryRun;
str dateFilter;
;
// Установка фильтра строк заказов по дате поставки
dateFilter = date2str(StartFilter.dateValue(), 123,2,2,2,2,2);
dateFilter += '..' + date2str(EndFilter.dateValue(), 123,2,2,2,2,2);
qbrFilterDate.value(dateFilter);
qbds1 = query.addDataSource(tableNum(InventJournalTable));
qbds1.addRange(fieldNum(InventjournalTable, Posted)).value(SysQuery::value(NoYes::Yes));
qbds1.addRange(fieldNum(InventjournalTable, JournalType)).value(SysQuery::value(InventJournalType::Transfer));
qbds1.addRange(fieldNum(InventjournalTable, PostedDate)).value(dateFilter);
qbds2 = qbds1.addDataSource(tableNum(InventDim));
qbds2.addLink(fieldNum(InventJournalTable, InventDimId), fieldNum(InventDim, InventDimId));
qbds2.fetchMode(QueryFetchMode::One2One);
qbds3 = qbds2.addDataSource(tableNum(InventLocation));
qbds3.addLink(fieldNum(InventDim, InventLocationId), fieldNum(InventLocation, InventLocationId));
qbds3.addRange(fieldNum(InventLocation, InventLocationId)).value(FilterLocationFrom.text());
qbds3.fetchMode(QueryFetchMode::One2One);
qbds4 = qbds1.addDataSource(tableNum(InventDim));
qbds4.addLink(fieldNum(InventJournalTable, ToInventDimId), fieldNum(InventDim, InventDimId));
qbds4.fetchMode(QueryFetchMode::One2One);
qbds5 = qbds4.addDataSource(tableNum(InventLocation));
qbds5.addLink(fieldNum(InventDim, InventLocationId), fieldNum(InventLocation, InventLocationId));
qbds5.addRange(fieldNum(InventLocation, InventLocationId)).value(FilterLocationFrom.text());
qbds5.fetchMode(QueryFetchMode::One2One);
queryRun = new QueryRun(query);
// info(qbds1.toString() + '\n' + qbds2.toString()+ '\n' + qbds3.toString());
while (queryRun.next())
{
if (queryRun.changed(tableNum(InventJournalTable)))
{
inventJournalTable = queryRun.get(tableNum(InventJournalTable));
info(inventJournalTable.JournalId );
}
}
super();
}