Показать сообщение отдельно
Старый 01.12.2008, 17:44   #1  
Silphidae is offline
Silphidae
Участник
 
96 / 15 (1) ++
Регистрация: 17.11.2008
Вопрос про QueryRun
Здравствуйте, помогите, пожалуйста, с такой ситуацией.

Query query;
QueryBuildDataSource qbDS;
QueryBuildRange qbr;
query = new Query();
qbDS = query.addDataSource(tableNum(InventTrans));
qbDS.addSortField(fieldNum(InventTrans, ItemId));
qbDS.addRange(fieldNum(InventTrans, TransType)).value(SysQuery::value(InventTransType::Sales));
qbDS.orderMode(OrderMode::GroupBy);
qbDS.addSelectionField(fieldNum(InventTrans,Qty));
qbDS.addSelectionField(fieldNum(InventTrans,ItemId));
queryRun = new QueryRun(_query);
while (queryRun.next())
{
inventTrans = queryRun.get(tableNum(InventTrans));
здесь нужно написать запрос, который будет брать данные из inventTrans с некоторыми условиями и считать сумму по полю Qty
}
проблема в том, что нужно писать запрос не из таблицы InventTrans а из полученных запросом query данных. Если я делаю запрос над этими данными inventTrans, то они ломают весь цикл, так как функция get() берет последнее значение inventTrans (которое я модифицирую своим запросом) перед next().
Запутанно получилось.. Подскажите, как быть.