Имя: Пароль:
1C
1С v8
Запрос по 8 неправильные итоги
0 il
 
01.06.12
15:30
текст:
   Запрос.Текст="
   |ВЫБРАТЬ РАЗЛИЧНЫЕ
   | Ссылка.Ссылка КАК Док,
   | Товар.Производитель.ссылка КАК Производитель,
   | Товар.ВидНоменклатуры КАК ВидПродукции,
   | Товар.ВидНоменклатуры.Код КАК ВидПродукцииКод,
   | СУММА(Количество*Товар.Емкость) КАК Литраж
   |ИЗ
   | Документ.Накладная.Товары КАК НакладнаяТовары
   |ГДЕ
   | НакладнаяТовары.Ссылка.ТипДокумента=&ТипДокумента И
   | НакладнаяТовары.Ссылка.Покупатель=&Контрагент
   |СГРУППИРОВАТЬ ПО
   | Товар.ВидНоменклатуры,
   | Товар.Производитель,
   | Ссылка.Ссылка
   |УПОРЯДОЧИТЬ ПО
   | Товар.ВидНоменклатуры.Код
   |ИТОГИ СУММА(Литраж)
   | ПО ВидПродукции,Производитель,Док
   |";

   Выборка= Рез.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"ВидПродукции");
   Пока Выборка.Следующий() Цикл        
       ВидПродукции=Выборка.ВидПродукции.Наименование;
       ВидПродукцииКод=Выборка.ВидПродукции.Код;
       Выборка2 = Рез.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Производитель");
       Пока Выборка2.Следующий() Цикл        
           ИтогоПроизводитель=0;
           Выборка3 = Рез.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Док");
           Пока Выборка3.Следующий() Цикл
               Док=Выборка3.Док.Ссылка;
               ЛицензияПродавца=Док.ЛицензияПродавца.Ссылка;
               Продавец=Док.Продавец;
               ОбластьМакета = Макет.ПолучитьОбласть("Строка");
               ПроизводительСсылка=Выборка2.Производитель.Ссылка;
               Количество=Выборка3.Литраж/10;
                               ОбластьМакета.Параметры.К16=Количество;
               ОбластьМакета.Параметры.н=н;
               ТабДокумент.Вывести(ОбластьМакета);
               н=н+1;
           КонецЦикла;
       КонецЦикла;
   КонецЦикла;
В каждой группировке повторяются все позиции и везде одинаковая сумма,  
подскажите как правильно выбирать результаты запроса?
1 salvator
 
01.06.12
15:33
И запрос даже ошибку не выдает?
2 il
 
01.06.12
15:36
нет не выдает, я так понял, он дает итоги по документу по всей продукции без разбивки на верхние группировки
3 Лефмихалыч
 
01.06.12
15:37
Выборка2 = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Выборка3 = Выборка2.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
4 Alex S D
 
01.06.12
15:38
кто-то еще вручную пишет вывод в отчет.. мде..
5 il
 
01.06.12
15:44
(3) А как правильно, как сделать аналог 7?
Пока Запрос.Группировка(1)=1 Цикл
   Пока Запрос.Группировка(2)=1 Цикл
       Пока Запрос.Группировка(3)=1 Цикл
6 Лефмихалыч
 
01.06.12
15:51
(5) юзай компоновку - там только запрос наваять и всё. дальше оно само.

   Выборка= Рез.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   Пока Выборка.Следующий() Цикл        
       Выборка2 = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
       Пока Выборка2.Следующий() Цикл        
           Выборка3 = Выборка2.Выбрать();
           Пока Выборка3.Следующий() Цикл

PS Отчетливо пахнуло разлагающимся трупом гниющих клюшек