Коллеги, нужна ваша помощь по теоретической части query!
На не рабочем примере HcmPosition:
X++:
HcmPosition position,
parentPosition;
QueryRun queryRun;
Query ret = new Query();
QueryBuildDataSource qbdsPosition,
qdbsParentPosition,
qbdsHierarchy,
qbdsHierarchyType;
qbdsPosition = ret.addDataSource(tableNum(HcmPosition));
qbdsHierarchy = qbdsPosition.addDataSource(tableNum(HcmPositionHierarchy));
qbdsHierarchy.clearLinks();
qbdsHierarchy.addLink(fieldNum(HcmPosition, RecId), fieldNum(HcmPositionHierarchy, Position));
qbdsHierarchy.joinMode(JoinMode::InnerJoin);
qbdsHierarchy.fetchMode(QueryFetchMode::One2One);
qdbsParentPosition = qbdsHierarchy.addDataSource(tableNum(HcmPosition));
qdbsParentPosition.clearLinks();
qdbsParentPosition.addLink(fieldNum(HcmPositionHierarchy, ParentPosition), fieldNum(HcmPosition, RecId));
qdbsParentPosition.joinMode(JoinMode::InnerJoin);
qdbsParentPosition.fetchMode(QueryFetchMode::One2One);
Как к этому запросу привязать снова таблицу HcmPosition для отображения поля ParentPosition из таблицы HcmPositionHierarchy?
В итоге нужно получить в запросе два поля:
PositionId (из HcmPosition) + PositionId (по полю ParentPosition из HcmPositionHierarchy)