|
|
#1 |
|
Участник
|
Коллеги, нужна ваша помощь по теоретической части 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);В итоге нужно получить в запросе два поля: PositionId (из HcmPosition) + PositionId (по полю ParentPosition из HcmPositionHierarchy) |
|
|