|
Итоги в построителе запроса по второй группировке | ☑ | ||
---|---|---|---|---|
0
tanya_w
02.08.11
✎
16:49
|
УТ 10.3 На выходе пытаюсь добиться таблицы по количеству вида
Номенклатура | Склад1 | склад2 |.. Группа1 | итогпогруппе | итогпогруппе |.. артикул1 | количество | количество |... артикул 2 | количество | количество |.. ... Запрос к ТоварывНТТ ВЫБРАТЬ ТоварыВНТТОстатки.Склад.Ссылка КАК Склад, ТоварыВНТТОстатки.Номенклатура.Ссылка КАК Номенклатура, ТоварыВНТТОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ТоварыВНТТОстатки.ЦенаВРознице КАК ЦенаВРознице, ТоварыВНТТОстатки.КоличествоОстаток КАК КоличествоОстаток, ТоварыВНТТОстатки.КоличествоОстаток * ТоварыВНТТОстатки.ЦенаВРознице КАК СуммаВРознице ИЗ РегистрНакопления.ТоварыВНТТ.Остатки КАК ТоварыВНТТОстатки УПОРЯДОЧИТЬ ПО ТоварыВНТТОстатки.Номенклатура.Артикул, ТоварыВНТТОстатки.Склад.Наименование ИТОГИ СУММА(КоличествоОстаток), СУММА(СуммаВРознице) ПО Номенклатура ИЕРАРХИЯ, Склад, ХарактеристикаНоменклатуры В тексте: ПостроительЗапроса.Выполнить(); ВыборкаНоменклатура = ПостроительЗапроса.Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Номенклатура"); Пока ВыборкаНоменклатура.Следующий() цикл ОбработкаПрерыванияПользователя(); Если ВыборкаНоменклатура.Номенклатура.ЭтоГруппа тогда ИмяСекции = "СтрокаГ"; Область = Макет.ПолучитьОбласть(ИмяСекции+"|ТМЦ"); Область.Параметры.ПечСтрока = ВыборкаНоменклатура.Номенклатура; ТабДок.Вывести(Область); ТабДок.ТекущаяОбласть.Расшифровка = ВыборкаНоменклатура.Номенклатура; Иначе Цвет=""; ИмяСекции = "Строка"+?(ВидКартинки > 0, "К" + Строка(ВидКартинки), ""); ОбработкаОбъектЗначенияСвойств = Обработки.ЗначенияСвойствОбъекта.Создать(); ОбработкаОбъектЗначенияСвойств.ОбъектОтбораЗначений =ВыборкаНоменклатура.Номенклатура.Ссылка; ОбработкаОбъектЗначенияСвойств.ОбъектОтбораНазначений =ВыборкаНоменклатура.Номенклатура.Ссылка; ОбработкаОбъектЗначенияСвойств.ПрочитатьЗаполнитьСвойстваИЗначения(); Для каждого стр из ОбработкаОбъектЗначенияСвойств.СвойстваИЗначения Цикл Если (стр.Свойство.Наименование = СокрЛП("Цвета")) Тогда Цвет= СокрЛП(стр.Значение); КонецЕсли; КонецЦикла; ПечСтрока = ВыборкаНоменклатура.Номенклатура.Артикул+ " " + ВыборкаНоменклатура.Номенклатура+?(Цвет="",""," Цвет: "+Цвет); Область = Макет.ПолучитьОбласть(ИмяСекции+"|ТМЦ"); Область.Параметры.ПечТекстСтроки = ПечСтрока; Область.Параметры.ПечЕд = ВыборкаНоменклатура.Номенклатура.ЕдиницаХраненияОстатков.Наименование; Область.Параметры.Расшифровка = ВыборкаНоменклатура.Номенклатура; Если ИмяСекции <> "СтрокаГ" Тогда Выб = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.Прямой); Пока Выб.Следующий() Цикл Если ЗначениеЗаполнено(Выб.Номенклатура.ОсновноеИзображение) Тогда Изображение = Выб.Номенклатура.ОсновноеИзображение.Хранилище.Получить(); Если Изображение <> Неопределено И ВидКартинки<>0 Тогда Область.Рисунки["Рисунок" + ВидКартинки].Картинка = Изображение; КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; ТабДок.Вывести(Область); КонецЕсли; ВыборкаСклад = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Склад"); Пока ВыборкаСклад.Следующий() цикл А дальше получается, что расчет количества в ВыборкаСклад идет только в разрезе элементов номенклатуры. Для групп расчет не происходит. В чем моя ошибка? |
|||
1
salvator
02.08.11
✎
17:06
|
(0) В таблице, которую ты пытаешься получить, я не вижу итогов по складу. Зачем тогда в запросе они?
|
|||
2
tanya_w
02.08.11
✎
17:30
|
а на пересечение номенклатура - склад ж идут итоги по складу
|
|||
3
salvator
02.08.11
✎
17:34
|
Тогда надо сначала итоги по складу перебрать, потом по группе товаров, потом уже по характеристикам.
|
|||
4
tanya_w
02.08.11
✎
17:47
|
перемена в запросе ничего не дает. или имеется ввиду обход результата?
|
|||
5
salvator
02.08.11
✎
17:48
|
(4) и то и другое
|
|||
6
tanya_w
02.08.11
✎
18:12
|
спасибо, попробую. смущает то, что за основу я брала существующий отчет с тем же принципом - выводятся итоги по номенклатуре/складу. там обход группировок идет в том же порядке, что и у меня.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |