Здраствуйте ...
Проблемы с QueryRun в Fetch'e . Дело в том , что я хочу подставить ranges дважды и в второй раз запрос не работает ... Вот исходник :
X++:
qr = new QueryRun(q);
qrg1 = qr.query().dataSourceTable(TableNum(ProdJournalProd)).addRange(fieldNum(ProdJournalProd,TransDate));
qrg1.value(queryRange(startDate, endDate));
while (qr.next())
{
prodJournalTable = qr.get(tablenum(prodJournalTable));
prodJournalProd = qr.get(tablenum(prodJournalProd));
inventDim = qr.get(tablenum(InventDim));
prodTable = qr.get(tablenum(ProdTable));
// ... делаем свои дела ....
}
if ( lVkd )
{
qr2 = qr.newObject( q );
qrg1 = NULL;
qr = NULL;
qrg2 = qr2.query().dataSourceTable(TableNum(ProdTable)).addRange( fieldNum(ProdTable,DlvDate) );
qrg2.value(queryRange(startDate, endDate));
while ( qr2.next() )
{
inventDim = qr2.get(tablenum(InventDim));
prodTable = qr2.get(tablenum(ProdTable));
// ... делаем свои дела ....
}
}
как видно , впервые собираю данные по ProdJournalProd , а потом ещё по ProdTable . В DataSources рапорта таблицы соеденные - порядок - ProdTable -> ProdJournalTable -> ProdJournalProd -> InventDim . Проблема в том , что qr2 неперебивает qr , qr2 дает только те записи , которые уже есть по первыми условиями - qr . Есть такое впечатление , что в fetch'e можно использовать только один queryRun ...
Спасибо заранее ! С уважением , Римантас