|
Группировка по номенклатуре | ☑ | ||
---|---|---|---|---|
0
Кто-то-кто
20.08.18
✎
20:18
|
Добрый вечер. В запросе с обработкой результата и выводом в табдок делаю группировку по номенклатуре. Можно ли сделать так, чтобы группировалась только повторяющаяся номенклатура, а та, что в единичном экземпляре - нет?
|
|||
1
Mort
20.08.18
✎
20:19
|
Можно. Что сделано, что не получилось?
|
|||
2
Кто-то-кто
20.08.18
✎
20:23
|
ТЗ = ПолучитьИзВременногоХранилища(АдресХранилища);
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Макет = Обработки.ДеревоРесурсныхСпецификаций.ПолучитьМакет("МакетРасчетПотребностей"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | Данные.Номенклатура, | Данные.ЕдиницаИзмерения, | Данные.Количество |ПОМЕСТИТЬ ТЗ |ИЗ | &Данные КАК Данные |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ТЗ.Номенклатура КАК Спецификация, | ТЗ.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ТЗ.Количество КАК Количество |ИЗ | ТЗ КАК ТЗ |ГДЕ | НЕ ТЗ.Номенклатура ЕСТЬ NULL |ИТОГИ | МАКСИМУМ(ЕдиницаИзмерения), | СУММА(Количество) |ПО | Спецификация |АВТОУПОРЯДОЧИВАНИЕ"; Запрос.УстановитьПараметр("Данные", ТЗ); РезультатЗапроса = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи); ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень()); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.ПоказатьУровеньГруппировокСтрок(0); ТабДок.Вывести(ОбластьПодвалТаблицы); ТабДок.Вывести(ОбластьПодвал); ТабДок.Записать("Рабочий стол\РасчетПотребностей.xlsx", ТипФайлаТабличногоДокумента.XLSX); вот как бы сам запрос. все группирует, суммирует - все шикарно. но если у меня одно яблока, хочется его видеть просто: яблоко|штука|1 а не +яблоко яблоко|штука|1 |
|||
3
Mort
20.08.18
✎
20:31
|
Ну смотри, если у тебя ВыборкаДетальныеЗаписи имеет количество = 1, значит и нефиг их выводить и начинать автогруппировкустрок. Бери этот блок в условие и будет щасте.
|
|||
4
Mort
20.08.18
✎
20:32
|
А, тут группировка с шапки начинается, коньяк попутал. Цикл в условие бери и достаточно.
|
|||
5
Кто-то-кто
20.08.18
✎
20:43
|
получилось, спасибо =)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |