Имя: Пароль:
1C
 
СКД Иерархия первого уровня.
0 Смешной 1С
 
26.01.11
07:15
Добрый день!

Проблему с иерархией не могу решить.
Нужно брать из справочника только иерархию первого уровня...


ВЫБРАТЬ
   Расходы.Расход,
   СУММА(Расходы.СуммаРасхода)КАК СуммаРасхода
Поместить тчРасход    
ИЗ
   РегистрСведений.Расходы КАК Расходы
ГДЕ
   Расходы.Период МЕЖДУ &ДатаНачала И &ДатаОкончания

СГРУППИРОВАТЬ ПО
   Расходы.Расход,
   Расходы.Расход.Родитель
;    
ВЫБРАТЬ
   тчРасход.Расход,
   ВЫБОР
       КОГДА тчРасход.Расход.Родитель = &ПустаяСсылка
           ТОГДА тчРасход.СуммаРасхода
       ИНАЧЕ 0
   КОНЕЦ КАК СуммаРасхода
ИЗ
   тчРасход КАК тчРасход

Во временной таблице тчРасход не считаются на том этапе итоги, поэтому второй запрос вообще толк не приносит. Подскажите кто знает как получить эту иерархию и сумму.
1 Смешной 1С
 
26.01.11
08:23
Ну что, никто не поможет?
2 Широкий
 
26.01.11
08:41
ВЫБРАТЬ
   Расходы.Расход,
   СУММА(Расходы.СуммаРасхода)КАК СуммаРасхода
ИЗ
   РегистрСведений.Расходы КАК Расходы
ГДЕ
  Расходы.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
  И Расходы.Родитель=ЗНАЧЕНИЕ(Справочник.ТвойСправочник.ПустаяСсылка)

СГРУППИРОВАТЬ ПО
   Расходы.Расход
3 Смешной 1С
 
26.01.11
08:46
(2)Так ничего не выводит
4 Смешной 1С
 
26.01.11
08:48
+(2) Надо же итоги собрать для этого уровня
5 Широкий
 
26.01.11
08:51
Период правильный выбрал?
6 Смешной 1С
 
26.01.11
08:53
(5)Да правильный.

ВЫБРАТЬ
   Расходы.Расход,
   СУММА(Расходы.СуммаРасхода)КАК СуммаРасхода
ИЗ
   РегистрСведений.Расходы КАК Расходы
ГДЕ
  Расходы.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
  И Расходы.Расход.Родитель= &ПустаяСсылка

СГРУППИРОВАТЬ ПО
   Расходы.Расход

Ему же сумму то неоткуда брать. В первом уровне нет элементов. Они только во вложенных группах. Надо все собрать по суммам в первый уровень
7 Смешной 1С
 
26.01.11
08:58
Строка в регистре:

Период-----------Расход---------------Сумма
25.01.2011-------Кроссовки------------5000

Кроссовки находятся в такой иерархии:

Номенклатура
---Обувь
------Кроссовки

А мне нужна сумма по всей Обуви
8 Смешной 1С
 
26.01.11
08:59
А этим запросом он видит что у кроссовок родитель есть и дальше идет.
9 Широкий
 
26.01.11
09:21
(7) Епт.. Сразу бы так и написал
Выбор
Когда Расходы.Расход.Родитель=ЗНАЧЕНИЕ(Справочник.ТвойСправочник.ПустаяСсылка) Тогда
Расходы.Расход
Когда
Расходы.Расход.Родитель.Родитель=ЗНАЧЕНИЕ(Справочник.ТвойСправочник.ПустаяСсылка) Тогда
Расходы.Расход.Родитель
Когда
Расходы.Расход.Родитель.Родитель.Родитель=ЗНАЧЕНИЕ(Справочник.ТвойСправочник.ПустаяСсылка) Тогда
Расходы.Расход.Родитель.Родитель


и т.д.
10 Смешной 1С
 
26.01.11
09:32
(9) А сумма где накапливается?
11 Широкий
 
26.01.11
09:52
(10) в запросе блин
копится-копится.. а потом раз- и вывелась
12 Смешной 1С
 
26.01.11
11:12
(11) Она тогда копится для нулевого уровня, вся, а не по первому уровню
13 Смешной 1С
 
26.01.11
12:22
Нашел решение в книге Хрусталевой:

В режиме настройки отдельной группировки есть СистемныеПоля
Там есть Уровень.
Устанавливаем Отбор Уровень = 1 и указываем Применение для группировки. И все.

Широкий тебе спасибо за помощь!
14 Штурман
 
11.02.11
02:08
(13) подскажи где именно, что-то не могу найти )
15 Смешной 1С
 
11.02.11
06:55
(14) Это Глава 5 - Справочник Разработчика. Возможность отбора уровней иерархии в группировке. стр. 446
Закон Брукера: Даже маленькая практика стоит большой теории.