Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема ИндексированнаяТаблица - итоги по группам справочника: как вытащить (число прочтений - 1555 )
mrd
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 1
Зарегистрирован: 06. Мая 2010
ИндексированнаяТаблица - итоги по группам справочника: как вытащить
06. Мая 2010 :: 06:02
Печать  
Мне нужно, чтобы получилась древовидная таблица, сгруппированная сначала по полю ВидДеятельности, а затем по полю Статья (ссылка на иерархический справочник "СтатьиЗатрат"), а внутри каждой статьи группировка по полю Счет.

Я сгруппировал таблицу:
ТЗ.Группировать("Вид деятельности: ВидДеятельности; Статья: &Статья; Счет: Счет","СуммаПрямых,СуммаНакладных,ОбщаяСумма");

Теперь как я могу вытащить всё дерево с учетом группировок по группам справочника СтатьиЗатрат

В документации нет примера работы с получением иерархических данных из справочника

Хотелось бы увидеть фрагмент кода получения данных в нужном мне виде из таблицы

  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: ИндексированнаяТаблица - итоги по группам справочника: как вытащить
Ответ #1 - 06. Мая 2010 :: 10:09
Печать  
[quote author=mrd link=1273125745/0#0 date=1273125745]Мне нужно, чтобы получилась древовидная таблица, сгруппированная сначала по полю ВидДеятельности, а затем по полю Статья (ссылка на иерархический справочник "СтатьиЗатрат"), а внутри каждой статьи группировка по полю Счет.

Я сгруппировал таблицу:
ТЗ.Группировать("Вид деятельности: ВидДеятельности; Статья: &Статья; Счет: Счет","СуммаПрямых,СуммаНакладных,ОбщаяСумма");

Теперь как я могу вытащить всё дерево с учетом группировок по группам справочника СтатьиЗатрат

В документации нет примера работы с получением иерархических данных из справочника

Хотелось бы увидеть фрагмент кода получения данных в нужном мне виде из таблицы

[/quote]
Когда ты группируешь одновременно по двум полям, то и обход тебе надо будет выстраивать относительно двух полей, к тому же придется самостоятельно отслеживать переход от одного Вида деятельности к другому. Я, в подобной ситуации, сделал так:
[code]//======================================================================
Процедура РазвернутьГруппу(вхТЗ)
     врТЗ.УстановитьЗначение(1,2+вхТЗ.__Уровень__,вхТЗ.Товар);
     ДопТЗ = вхТЗ.ТЗПотомки;
     ДопТЗ.Сортировать("__ЭтоГруппа__");
     //ДопТЗ.Показать();
     ДопТЗ.ВыбратьСтроки();
     Пока ДопТЗ.ПолучитьСтроку() = 1 Цикл
           Если ДопТЗ.__ЭтоГруппа__=1 Тогда
                 РазвернутьГруппу(ДопТЗ);
           Иначе
                 ВывестиСтроку(вхТЗ, вхТЗ.__Уровень__);
                 Прервать;
           КонецЕсли;
     КонецЦикла;
КонецПроцедуры // РазвернутьГруппу
а Сформировать()
...
     ИТЗ.Группировать("Поставщик: Name", "Себестоимость, Розница", 1);
     ИТЗ.ВыбратьСтроки("Поставщик");
     Пока ИТЗ.ПолучитьСтроку("Поставщик") = 1 Цикл
           ТЗП = ИТЗ.ТЗПотомки;
           ТЗП.Группировать("Товар: &Товар", "Себестоимость, Розница",1);
           ТЗП.ВыбратьСтроки();
           Пока ТЗП.ПолучитьСтроку() = 1 Цикл
                 Если ТЗП.__ЭтоГруппа__=1 Тогда
                       РазвернутьГруппу(ТЗП);
                 Иначе
                       Если ПустоеЗначение(ТЗП.Товар)=1 Тогда
                             ВывестиСпецСтроку(ТЗП);
                             Продолжить;
                       КонецЕсли;
                       ВывестиСтроку(ТЗП, 1);
                       Прервать;
                 КонецЕсли;
           КонецЦикла;
           Состояние("Обработано "+ИТЗ.НомерСтроки+" из "+ИТЗ.КоличествоСтрок());
     КонецЦикла;
[/code]
  
Наверх
ICQ  
IP записан
 
smile
Junior Member
**
Отсутствует


бррр... ужас...

Сообщений: 50
Зарегистрирован: 23. Мая 2006
Re: ИндексированнаяТаблица - итоги по группам справочника: как вытащить
Ответ #2 - 14. Мая 2010 :: 08:27
Печать  
=) (здесь был совет неправильный)
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать