Имя: Пароль:
1C
 
Выгрузка Запроса в Дерево Значений в Табличное поле
0 Eeelena
 
27.01.15
13:22
Подскажите, пожалуйста, как выгрузить результат запроса с группировкой по поступлением в табличное поле в виде дерева значений, сейчас код следующий, но выгружается в табличное поле в две колонки, как сделать чтоб было с группировкой?

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

    ТаблицаПоступлений = РезультатЗапроса.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
    
    ЭлементыФормы.ТаблицаПоступлений.Значение=ТаблицаПоступлений;
    ЭлементыФормы.ТаблицаПоступлений.СоздатьКолонки();
1 ktvladimir
 
27.01.15
13:31
сделать итоги, а не группировку
2 Eeelena
 
27.01.15
13:33
(1) Итоги по какому полю?
3 Eeelena
 
27.01.15
13:38
(1) Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ЗакупкиОбороты.ДокументЗакупки КАК Поступление,
    |    ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя КАК ЗаказПокупателя
    |ИЗ
    |    РегистрНакопления.Закупки.Обороты КАК ЗакупкиОбороты
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей.ОстаткиИОбороты КАК ЗаказыПокупателейОстаткиИОбороты
    |        ПО ЗакупкиОбороты.Номенклатура = ЗаказыПокупателейОстаткиИОбороты.Номенклатура
    |ГДЕ
    |    ЗакупкиОбороты.ДокументЗакупки.Дата МЕЖДУ &ДатаНачала И &ДатаКонец
    |
    |УПОРЯДОЧИТЬ ПО
    |    ЗакупкиОбороты.ДокументЗакупки.Дата
    |ИТОГИ ПО
    |    ЗаказПокупателя";


Сделала вот так но что то не то, получается колонка поступлений пустая, колонка заказ покупателя заполнена, когда разворачиваю узел появляются несколько одинаковых поступлений
4 ktvladimir
 
27.01.15
13:40
все правильно. на уровне заказа какое Вам поступление нужно
ведь их несколько
5 ktvladimir
 
27.01.15
13:41
если не нужны одинаковые то поставьте ВЫБРАТЬ РАЗЛИЧНЫЕ
6 kudlach
 
27.01.15
13:45
Выгрузка в дерево значений не пройдет.
Перебором в цикле по выброке

Пока Выборка.Следующий() Цикл
НоваяВетка1=Дерево.Строки.Добавить();
НоваяВетка1.Объект=Выборка.ОбъектГруппировки1;
Выборка2=  ~Выбрать следующую группироку
Пока Выборка2.Следующий() Цикл
НоваяВетка2=НоваяВетка1.Строки.Добавить();
НоваяВетка2.Объект=Выборка.ОбъектГруппировки2;
КонецЦикла;
КонецЦикла;
7 ktvladimir
 
27.01.15
13:47
(6) вот как? те у меня и у ТС получается а оно не получится значит )))
8 ktvladimir
 
27.01.15
13:48
(6)  ТаблицаПоступлений = РезультатЗапроса.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);

удивитесь
9 Eeelena
 
27.01.15
13:56
(5) сделала вот так

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


В табличное поле выгрузилось

Поступление    ЗаказПокупателя        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00            
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000611 от 01.12.2014 11:46:45        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000599 от 28.11.2014 11:14:32        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя Э0000000072 от 26.11.2014 16:45:08        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000592 от 25.11.2014 13:40:55        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000583 от 24.11.2014 12:45:31        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000581 от 24.11.2014 15:52:28        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000578 от 21.11.2014 0:00:00        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000577 от 21.11.2014 0:00:00        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000565 от 20.11.2014 13:44:01        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000569 от 20.11.2014 17:23:27        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000543 от 12.11.2014 12:00:02        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000389 от 30.09.2014 0:00:02        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000507 от 28.10.2014 18:08:00        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000475 от 14.10.2014 12:00:01        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000524 от 07.11.2014 12:00:01        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000551 от 17.11.2014 12:44:50        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000345 от 30.07.2014 0:00:00        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000299 от 27.06.2014 12:00:05        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000509 от 28.10.2014 15:51:54        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя Э0000000045 от 22.07.2014 12:00:00        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя Э0000000064 от 22.10.2014 12:00:02        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000366 от 12.08.2014 12:00:00        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000478 от 08.10.2014 0:00:01        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000009 от 19.11.2014 0:00:00        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя Э0000000069 от 12.11.2014 12:00:00        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000443 от 17.11.2014 17:28:59        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000556 от 18.11.2014 12:07:02        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000450 от 17.11.2014 20:55:35        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000522 от 06.11.2014 12:00:00        
Поступление товаров и услуг 00000000983 от 24.11.2014 0:00:00    Заказ покупателя 00000000472 от 13.10.2014 12:00:00        
Поступление товаров и услуг 00000000970 от 24.11.2014 14:41:00            
Поступление товаров и услуг 00000000970 от 24.11.2014 14:41:00    Заказ покупателя 00000000493 от 22.10.2014 12:00:01        
Поступление товаров и услуг 00000000970 от 24.11.2014 14:41:00    Заказ покупателя 00000000467 от 10.10.2014 12:00:01        
Поступление товаров и услуг 00000000971 от 24.11.2014 14:49:30            
Поступление товаров и услуг 00000000971 от 24.11.2014 14:49:30    Заказ покупателя 00000000515 от 30.10.2014 12:00:01        
Поступление товаров и услуг 00000000972 от 24.11.2014 14:57:07            
Поступление товаров и услуг 00000000972 от 24.11.2014 14:57:07    Заказ покупателя 00000000587 от 24.11.2014 15:44:49        
Поступление товаров и услуг 00000000972 от 24.11.2014 14:57:07    Заказ покупателя Э0000000064 от 22.10.2014 12:00:02        
Поступление товаров и услуг 00000000972 от 24.11.2014 14:57:07    Заказ покупателя Э0000000050 от 28.08.2014 12:00:00        
Поступление товаров и услуг 00000000973 от 24.11.2014 15:00:58            
Поступление товаров и услуг 00000000973 от 24.11.2014 15:00:58    Заказ покупателя 00000000431 от 16.09.2014 12:00:01        
Поступление товаров и услуг 00000000897 от 24.11.2014 15:23:55    



То есть поступление при развороте узла повторяются, а мне по идее нужно чтоб там были только заказы
10 программистище
 
27.01.15
13:56
выгрузить в виде дерева и загрузить в табличное поле в виде дерева значений
это разные вещи
поможет только (6)
11 Eeelena
 
27.01.15
14:45
(10) Сделала как в (6), Выводит просто список поступлений

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

    //ТаблицаПоступлений = РезультатЗапроса.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
    Тест= РезультатЗапроса.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
    //ЭлементыФормы.ТаблицаПоступлений.Значение=ТаблицаПоступлений;
    //ЭлементыФормы.ТаблицаПоступлений.СоздатьКолонки();
    
    Выборка=РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
    
    Пока Выборка.Следующий() Цикл
        НоваяВетка1=ТаблицаПоступлений.Строки.Добавить();
        НоваяВетка1.Поступление=Выборка.Поступление;
        ВыборкаДетали = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
        
        Пока ВыборкаДетали.Следующий() Цикл
            НоваяВетка2=НоваяВетка1.Строки.Добавить();
            НоваяВетка2.ЗаказПокупателя=ВыборкаДетали.ЗаказПокупателя;
        КонецЦикла;
    КонецЦикла;