Упорядочивание по иерархии

Для иерархических данных (справочников) можно назначать упорядочивание по иерархии.

Пример:

ВЫБРАТЬ
   Справочник.Контрагенты.Наименование,
   Справочник.Контрагенты.Полноенаименование

УПОРЯДОЧИТЬ ПО
   Справочник.Контрагенты.Наименование Иерархия

Результат запроса:

Наименование  

ПолноеНаименование

Покупатели  

 

Павильон 45 на оптовом рынке

 ПБЮЛ "Красина"

Торговый дом "Буденовский"

 АО "Буденовский ТД"

Фабрика джинсовой одежды  

 ООО "Джинсовая одежда"

Ярмарка одежды  

 ООО "Ярмарка одежды"

Поставщики  

 

АКБ ПромСтройБанк  

 

Бавария – фарфор   

 

Трикотажная фабрика "Заря"

 

Фабрика джинсовой одежды   

 ООО "Джинсовая одежда"

Иерархически сортировать можно только по полю, но не по некоторой операции над ним: <Поле упорядочивания> должно содержать ссылку на поле исходной таблицы – источника данных запроса.

Важно понимать, что упорядочивание по иерархии имеет смысл задавать в том случае, если в качестве источника определена именно таблица справочника, а не какая-либо другая таблица, содержащая только ссылку на справочник.

Пример:

ВЫБРАТЬ
   Накладная.Контрагент.Наименование,
   Накладная.Номер,
   Накладная.Сумма

ИЗ
   Документ.РасходнаяНакладная КАК Накладная

УПОРЯДОЧИТЬ ПО
   Накладная.Контрагент ИЕРАРХИЯ

В данном примере иерархического упорядочивания не получится, поскольку нет связи со справочником, и группы из этого справочника в результат запроса не попадут.

Для упорядочивания по иерархии необходимо организовать соединение со справочником.

Пример:

ВЫБРАТЬ
   Контрагент.Наименование,
   Накладная.Номер,
   Накладная.Сумма

ИЗ
   Справочник.Контрагенты КАК Контрагент

ЛЕВОЕ СОЕДИНЕНИЕ
   Документ.РасходнаяНакладная КАК Накладная
ПО
   Накладная.Контрагент = Контрагент.Ссылка

УПОРЯДОЧИТЬ ПО
   Контрагент.Наименование Иерархия

Результат запроса:

Наименование  

Номер  

Сумма

 Покупатели   

 

 

 Павильон 45 на оптовом рынке  

00007

6 000 

 Павильон 45 на оптовом рынке

00006

11 500 

 Павильон 45 на оптовом рынке  

00016

80 000,23 

 Торговый дом "Буденовский"

00004

1 500 

 Торговый дом "Буденовский"

  00003  

52 500 

 Торговый дом "Буденовский"

  00002  

16 000 

 Торговый дом "Буденовский"

  00009  

555 

 Торговый дом "Буденовский"

  00015  

 

 Торговый дом "Буденовский"

  00014  

16 500 

 Торговый дом "Буденовский"

  00005  

1 500 

 Фабрика джинсовой одежды

 

 

 Ярмарка одежды  

  00001  

54 000 

 Поставщики   

 

 

 АКБ ПромСтройБанк   

 

 

 Бавария – фарфор  

  00013  

12 000,22 

 Трикотажная фабрика "Заря"

  00012  

4 500 

 Фабрика джинсовой одежды

 

 

1C:Enterprise Developer's Community