Разработка в 1С 8.0



         

108


 

17  

Стул  

55

18  

Стул  

5

19  

Стул  

32

20  

Стул  

16

 

Из этого рисунка видно, что именно записи с номерами 1 и 11 находятся на первом уровне дерева, и поэтому только они попадают в первый проход иерархической выборки.  

 

Возникает вопрос, как получить остальные записи результата запроса? Для этого у объекта ВыборкаИзРезультатаЗапроса можно получить еще одну выборку, которая будет обходить подчиненные записи текущей записи выборки. В нашем примере в момент, когда объект Выборка будет позиционирован на запись с номером 1, мы запросим у него иерархическую выборку. Таким образом, мы получим выборку, которая вернет записи с номерами 2, 7. А когда Выборка будет спозиционирована на запись с номером 11, то полученная у нее иерархическая выборка вернет записи с номерами 12, 16. Так реализуется иерархический обход результатов запроса Заметим, что у выборки можно получать вложенные выборки любого типа. Так, если бы мы запросили у Выборки, спозиционированной на записи 1, линейную выборку, то с ее помощью мы бы получили записи с номерами со 2-го по 10-й.  

 

Проиллюстрируем описанную методику на примере:  




Содержание  Назад  Вперед