Доброго времени суток!
Пытаюсь разобраться с Query и QueryBuildDataSource в Х++.
Есть SQL запрос такого вида:
PHP код:
select ma.MAINACCOUNTID,DA.NAME
from MainAccount ma
inner join DimensionAttributeValueCombination DAVC on DAVC.MainAccount = MA.RecId
inner join DimensionHierarchy DH on DH.RecId=DAVC.AccountStructure
inner join DimensionHierarchyLevel DHL on DHL.DimensionHierarchy=DH.RecId
inner join DimensionAttribute DA on DA.RecId=DHL.DimensionAttribute
where ma.MAINACCOUNTID='632.000'
and DA.NAME=N'поставщик'
Я в принципе записал его на Х++ но не уверен что правильно, и у меня не выходит применить условия:
PHP код:
where ma.MAINACCOUNTID='632.000'
and DA.NAME=N'поставщик'
если я добавляю строку addRange то код не выполняется.
Вот мой код
X++:
Query q;
QueryBuildDataSource qbMA;
QueryBuildDataSource qbDAVC;
QueryBuildDataSource qbDH;
QueryBuildDataSource qbDHL;
QueryBuildDataSource qbDA;
q = new Query();
qbMA = q.addDataSource(tablenum(MainAccount));
qbMA.relations(false);
qbDAVC = qbMA.addDataSource(tablenum(DimensionAttributeValueCombination));
qbDAVC.relations(false);
qbDAVC.addLink(fieldNum(DimensionAttributeValueCombination,MainAccount),fieldNum(MainAccount,RecId));
qbDAVC.joinMode(JoinMode::InnerJoin);
qbDH = qbDAVC.addDataSource(tablenum(DimensionHierarchy));
qbDH.relations(false);
qbDH.addLink(fieldNum(DimensionHierarchy,RecId),fieldNum(DimensionAttributeValueCombination,AccountStructure));
qbDH.joinMode(JoinMode::InnerJoin);
qbDHL = qbDH.addDataSource(tablenum(DimensionHierarchyLevel));
qbDHL.relations(false);
qbDHL.addLink(fieldNum(DimensionHierarchyLevel,DimensionHierarchy),fieldNum(DimensionHierarchy,RecId));
qbDHL.joinMode(JoinMode::InnerJoin);
qbDA = qbDHL.addDataSource(tablenum(DimensionAttribute));
qbDA.relations(false);
qbDA.addLink(fieldNum(DimensionAttribute,RecId),fieldNum(DimensionHierarchyLevel,DimensionAttribute));
qbDA.joinMode(JoinMode::InnerJoin);
Подскажите правильно ли я его записал, как применить условие, и как его выполнить и узнать результат (меня интересует факт наличия строк удовлетворяющих условия запроса а не сами строки)?