Имя: Пароль:
1C
1С v8
v8: Выгрузка иерархии запросом
0 Идентификатор
 
30.07.13
11:03
Всем доброго времени, вопрос такой:

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

группировка1
  группировка2
    группировка3
    номенклатура1
    номенклатура2
группировка1.1
группировка2.1
  номенклатура2.1
  ..

итоговая таблица должна быть так:

номенклатура  -   Родитель1УР -  Родитель2УР - Родитель3УР
--------------------------------------------------------------
номенклатура1 - группировка1 группировка2 группировка3
номенклатура2 - группировка1 группировка2 группировка3
номенклатура2.1 - группировка1.1 группировка2.1   NULL

Строю запросик:


ВЫБРАТЬ
Номенклатура.Наименование,
Номенклатура.Родитель.Родитель.Родитель КАК Родитель1УР,
Номенклатура.Родитель.Родитель КАК Родитель2УР,
Номенклатура.Родитель КАК  Родитель3УР        
ИЗ
Справочник.Номенклатура КАК Номенклатура

Но такой не катит, т.к. логично предположить что например Номенклатура.Родитель.Родитель.Родитель может оказаться пустым и в результате вывод в таблицу будет кривой, как бы наоборот.

толи затуп, толи хз че, но не получается корректно вывести, подскажите)

задача облегчается тем что количество уровней максимально
задача усложняется тем что ее нужно решить только запросом

вроде понятно отписал ))
1 Идентификатор
 
30.07.13
11:05
задача облегчается тем что количество уровней максимально - три уровня
2 Maxus43
 
30.07.13
11:06
Выбор Когда Номенклатура.Родитель.Родитель.Родитель = &пустаяСсылка ТОгда
3 mikecool
 
30.07.13
11:06
я не против, чтобы ты воспользовался инструкцией ИТОГИ
4 Идентификатор
 
30.07.13
11:11
(2) так пытался сделать, тока что то не получилось)
5 Идентификатор
 
30.07.13
11:16
(2) ВЫБОР
    КОГДА Номенклатура.Родитель.Родитель.Родитель = &Родитель
            ТОГДА Номенклатура.Родитель.Родитель
        КОГДА Номенклатура.Родитель.Родитель = &Родитель
            ТОГДА Номенклатура.Родитель
        ИНАЧЕ Номенклатура.Родитель.Родитель.Родитель
    КОНЕЦ КАК Родитель1УР

что то вроде того, но эт хрень будет.
6 Maxus43
 
30.07.13
11:18
(5) ну я хз как тебе надо красиво. делай как надо
7 Идентификатор
 
30.07.13
11:18
(3) внимательнее вопрос, итоги не уместны
8 Maxus43
 
30.07.13
11:19
>>и в результате вывод в таблицу будет кривой, как бы наоборот
вот это непонятно нисколько.
помоему (5) как раз и оно
9 Капитан О
 
30.07.13
11:19
(7) почему?
10 Идентификатор
 
30.07.13
12:06
(5) при таком условии ур1 заполнится норм, а как же быть со вторыми и третьими ?
11 Идентификатор
 
30.07.13
12:06
(8) точнее
12 Идентификатор
 
30.07.13
12:15
(9) ну а как итогами то ?