Имя: Пароль:
1C
1С v8
группировка по иерархии
0 goleaff2006
 
15.05.13
05:35
есть таблица готовая таблица значений

Номенклатура               Группа   |уровеньИерархий|Количество
товар                         да        1              100
непродовольственный товар     да        2               50
мука                          да        3               49
мука рассыпная 1 кг           нет       4               10

необходимо как то сгруппировать их что бы пользователю выводился отчет
с группировками по номенклатуре. также как если бы мы в запросе получали итоги по иерархии.
т.е
   Товар
      непродовольственный товар
                             мука
                               мука рассыпная 1 кг
1 Лодырь
 
15.05.13
05:38
И чо? Группироуй, фигли.
2 Oleg_Kag
 
15.05.13
05:41
товар                         да        1              100
непродовольственный товар     да        2               50
мука                          да        3               49
услуга                        да        1              100
что-то-такое                  да        2               50

Вопрос: "что-то-такое" сидит в иерархии "товар" или "услуга"?

Подумай над ответом ибо изначально в таблице не указано кто будет родителем.
или то же самое более нормальными словами - отсутствие полноты данных.
3 goleaff2006
 
15.05.13
05:44
(2)В иерархии товар. А если допустим будет еще и родитель столбец? тогда что делать дальше?
4 Лодырь
 
15.05.13
05:44
Если конкретно - пути два:
1. Обработка уровня иерархии при переборе таблицы. Вполне себе способ в духе 7.7
2. Запихать таблицу в источник данных запроса и вывести все через СКД в духе 8.2
5 goleaff2006
 
15.05.13
05:45
если через скд ему нужно расчитывать итоги но по сути итоги уже расчитаны товар 100.
6 goleaff2006
 
15.05.13
05:46
По первому пункту мне бы примерчик очень помог бы .
7 Oleg_Kag
 
15.05.13
05:51
(3) Точно в иерархии "товар"? Посмотри внимательно у меня две позиции в 1-ом уровне иерархии: "товар" и "услуга".

товар                         да        1              100
непродовольственный товар     да        2               50
мука                          да        3               49
услуга                        да        1              100
доставка                      да        2               50

вот поменял название "кое-что" на "доставка", так в какую же "иерархию" попадет "доставка"?
8 Лодырь
 
15.05.13
05:52
ТекущийУровеньИерархии = 0;
Для Каждого Стр из ТабЗначений Цикл
   Если Стр.УровеньИерархии <> ТекущийУровеньИерархии Тогда
       МакетСтроки = МакетОтчета.ПолучитьОбласть("Строка"+Стр.УровеньИерархии);        
       ТекущийУровеньИерархии = Стр.УровеньИерархии;
   КонецЕсли;
   МакетСтроки.Параметры.Номенклатура = Стр.Номенклатура;
   ТабОтчета.Вывести(МакетСтроки);
КонецЦикла;
9 goleaff2006
 
15.05.13
05:54
(7)Забудь про услуги.Я конкретный пример привел что я получаю.Услуги туда никак не попадут.
10 goleaff2006
 
15.05.13
06:04
(8)спасибо.Но вот вся проблема что нужно группировать и по колонкам и по строкам все зависит что пользователь укажет.
11 Лодырь
 
15.05.13
06:09
(10) Тогда загони таблицу в источник данных и не ипи мозг себе и нам.
12 goleaff2006
 
15.05.13
06:11
(11)Да вот загоняю но во вкладке ресурсы что указывать? Иначе он тупо выведет список,А на до чтобы можно было сворачивать разворачивать по иерархий.
13 Лодырь
 
15.05.13
06:17
У тебя ресурс 1 - количество. Все остальное - сопутствующая информация о номенклатуре, насколько я понимаю.
14 goleaff2006
 
15.05.13
06:21
(13)да именно так.
15 goleaff2006
 
15.05.13
06:24
если я во вкладке ресурсы что то укажу то он мне выведит
товар
товар                         да        1              100
непродовольственный товар
непродовольственный товар     да        2               50
мука
мука                          да        3               49
16 Лодырь
 
15.05.13
06:26
Убери в запросе всю номенклатуру являющуюся группами, и сделай итоги по иерархии. Не?
17 goleaff2006
 
15.05.13
06:35
да эти данные получаю не запросом.А из exel их нельзя убирать.Так как итоги расчитываются сложным алгоритмом, а не стандартной функцией.
18 Лодырь
 
15.05.13
07:06
Заменить наименования, добавив кучу пробелов вначале не вариант? И нехай пользователь группируйет эту фигню как хочет дальше?
19 goleaff2006
 
15.05.13
07:13
Не  не вариант нужен отчет который бы сворачивался так же когда формируешь в скд только по иерархии
20 Лодырь
 
15.05.13
07:34
1. Сделать внешнюю функциюю которая выдает результаты количества из  твоей таблички
2. Вывести нормально через СКД расчитывая количество через твою функцию.
21 goleaff2006
 
15.05.13
07:42
Я так понимаю в выражение указывать свою функцию ?Типа общий модуль.МояФункция или как?
22 goleaff2006
 
15.05.13
07:45
И вопрос тогда что  передавать в эту функцию?
Ошибка? Это не ошибка, это системная функция.