На всякий случай, если вопрос был в том как именно можно обойти дерево
X++:
void dfs(int _parent)
{
MULTILEVELSEGMENTTREE_ZTR mt
while select mt where mt.PARENTTreeNodeId == _parent
{
if (mt.SEGMENTID == 'География')
{
addToResultSet(mt);
}
dfs(mt.TreeNodeId)
}
}