Суть задачи
сделать запрос в рантайме
Select * FROM InventTrans JOIN * FROM InventDim ON InventTrans.InventDimID = InventDim.InventDimId JOIN * FROM InventTable ON InventTrans.ItemId = InventTable.ItemId
пишу код
PHP код:
void initQuery()
{
Query query;
int i;
str s;
QueryBuildDataSource qbds, qbdsInventDim, qbdsInventTable, qbdsInventBatch;
QueryBuildRange qbr;
QueryBuildLink qbl;
;
query = new Query();
qbds = query.addDataSource(tablenum(InventTrans));
qbr = qbds.addRange(FieldNum(InventTrans, ItemId));
qbr = qbds.addRange(FieldNum(InventTrans, StatusReceipt));
qbr.value(Int2str(StatusReceipt::Ordered));
qbr.status(RangeStatus::Hidden);
// первый подчиненный главному дс добавляется бенз проблем вне зависимости
// InventDim сюда сунуть или InventTable
qbdsInventTable = qbds.addDataSource(tableNum(InventTable));
qbdsInventTable.joinMode(SQLBuilderJoinType::InnerJoin);
qbl = qbdsInventTable.addLink(FieldNum(InventTrans, ItemId), FieldNum(InventTable, ItemId));
// А вот когда добавляю второй qdbs берет и выкидывает предыдущий джойн
qbdsInventDim = qbds.addDataSource(tableNum(InventDim));
qbl = qbdsInventDim.addLink(FieldNum(InventTrans, InventDimId), FieldNum(InventDim, InventDimId));
qbr = qbdsInventDim.addRange(FieldNum(InventDim, InventLocationId));
reportQuery = new sysqueryrun(query);
}
Вопрос, как это можно решить, и что я делаю неправильно? Axapta 3.0