Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема 8-ка. ТаблицаЗначений - в ДеревоЗначений (число прочтений - 3041 )
grayrat
Junior Member
**
Отсутствует



Сообщений: 99
Местоположение: Russia, Moscow
Зарегистрирован: 20. Мая 2006
Пол: Мужской
8-ка. ТаблицаЗначений - в ДеревоЗначений
14. Мая 2008 :: 09:56
Печать  
Собственно, как оптимально преобразовать? Есть ТабличнаяЧасть - ее можно выгрузить в ТЗ. А как потом в дерево? Застопорился Печаль
  
Наверх
 
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: 8-ка. ТаблицаЗначений - в ДеревоЗначений
Ответ #1 - 14. Мая 2008 :: 13:32
Печать  
grayrat писал(а) 14. Мая 2008 :: 09:56:
Собственно, как оптимально преобразовать? Есть ТабличнаяЧасть - ее можно выгрузить в ТЗ. А как потом в дерево? Застопорился Печаль


А вот никак  Печаль
Отсутствие у ТЗ метода "Групировать" - просто отравляет жизнь Улыбка

Р.S. или может я его не нашел....
  
Наверх
wwwICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: 8-ка. ТаблицаЗначений - в ДеревоЗначений
Ответ #2 - 14. Мая 2008 :: 13:51
Печать  
grayrat
Про запросы слышал?
  
Наверх
ICQ  
IP записан
 
grayrat
Junior Member
**
Отсутствует



Сообщений: 99
Местоположение: Russia, Moscow
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: 8-ка. ТаблицаЗначений - в ДеревоЗначений
Ответ #3 - 14. Мая 2008 :: 14:28
Печать  
Уже разобрался - выкидываю ее во временную таблицу, затем запросом - в дерево. Работает.
  
Наверх
 
IP записан
 
Igor-bts
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 103
Зарегистрирован: 14. Июля 2006
Re: 8-ка. ТаблицаЗначений - в ДеревоЗначений
Ответ #4 - 15. Мая 2008 :: 09:16
Печать  
А пример в коде можно?
  
Наверх
ICQ  
IP записан
 
grayrat
Junior Member
**
Отсутствует



Сообщений: 99
Местоположение: Russia, Moscow
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: 8-ка. ТаблицаЗначений - в ДеревоЗначений
Ответ #5 - 16. Мая 2008 :: 16:58
Печать  
Запросто.

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



Таблица значений соотвественно Контрагент (справочник контрагенты), Сумма (число)
а дерево - уже с иерархией родитель->контрагент
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать