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

1С:Предприятие ::

Метки: 

Группировка по номенклатуре

Я
   Кто-то-кто
 
20.08.18 - 20:18
Добрый вечер. В запросе с обработкой результата и выводом в табдок делаю группировку по номенклатуре. Можно ли сделать так, чтобы группировалась только повторяющаяся номенклатура, а та, что в единичном экземпляре - нет?
 
 
   Mort
 
1 - 20.08.18 - 20:19
Можно. Что сделано, что не получилось?
   Кто-то-кто
 
2 - 20.08.18 - 20:23
ТЗ = ПолучитьИзВременногоХранилища(АдресХранилища);
    
                   //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

    // Данный фрагмент построен конструктором.

    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

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

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

        ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
        ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
    КонецЦикла;
    
        ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.ПоказатьУровеньГруппировокСтрок(0);
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);
    
    ТабДок.Записать("Рабочий стол\РасчетПотребностей.xlsx", ТипФайлаТабличногоДокумента.XLSX);

вот как бы сам запрос. все группирует, суммирует - все шикарно. но если у меня одно яблока, хочется его видеть просто:

яблоко|штука|1

а не

+яблоко
    яблоко|штука|1
   Mort
 
3 - 20.08.18 - 20:31
Ну смотри, если у тебя ВыборкаДетальныеЗаписи имеет количество = 1, значит и нефиг их выводить и начинать автогруппировкустрок. Бери этот блок в условие и будет щасте.
   Mort
 
4 - 20.08.18 - 20:32
А, тут группировка с шапки начинается, коньяк попутал. Цикл в условие бери и достаточно.
   Кто-то-кто
 
5 - 20.08.18 - 20:43
получилось, спасибо =)


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