Показать сообщение отдельно
Старый 07.07.2016, 13:12   #1  
Music is offline
Music
Участник
 
33 / 10 (1) +
Регистрация: 01.07.2014
? Query для HcmPosition (запрос по таблице, соссылкой на себя же)
Коллеги, нужна ваша помощь по теоретической части 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)