![]() |
#9 |
Участник
|
Job:
X++: int enumNumber = 0; HcmPosition position, parentPosition; HcmPositionHierarchy hierarchy; QueryRun queryRun; Query ret = new Query(); QueryBuildDataSource qbdsPosition, qdbsParentPosition, qbdsHierarchy; qbdsPosition = ret.addDataSource(tableNum(HcmPosition)); qbdsHierarchy = qbdsPosition.addDataSource(tableNum(HcmPositionHierarchy)); qbdsHierarchy.clearLinks(); qbdsHierarchy.addLink(fieldNum(HcmPosition, RecId), fieldNum(HcmPositionHierarchy, Position)); qbdsHierarchy.joinMode(JoinMode::OuterJoin); 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); queryRun = new QueryRun(ret); while (queryRun.next()) { enumNumber++; position = queryRun.get(TableNum(HcmPosition), 1); parentPosition = queryRun.get(TableNum(HcmPosition), 2); info(strFmt('%1: %2 / %3)', enumNumber, position.PositionId, parentPosition.PositionId )); } info(int2str(enumNumber)); } Последний раз редактировалось Music; 07.07.2016 в 14:54. |
|