Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Помгите разложить Структуры в СписокЗначений

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

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

    Возврат КолекцияДокументовРеализации;
 
 
   youalex
 
1 - 31.07.18 - 14:14
(0) структуру нужно  в цикле создавать, иначе получается, что ты перезаполняешь одну и ту же структуру.
   inkvizitr
 
2 - 31.07.18 - 14:15
(1) понял, щас проверю
   youalex
 
3 - 31.07.18 - 14:20
+ открой для себя ЗаполнитьЗначенияСвойств()
   inkvizitr
 
4 - 31.07.18 - 14:21
все получилось, спасибо, еще ошибку нашел, это надо было в цикл запихнуть строку КолекцияДокументовРеализации.Добавить(ДокументРеализации);
   inkvizitr
 
5 - 31.07.18 - 14:21
(3) щас тоже попробую
   inkvizitr
 
6 - 31.07.18 - 14:27
(3) с ЗаполнитьЗначенияСвойств() тоже все получилось, спасибо.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует