8.х как сгруппировать строки макета отчета

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем mhl, 17 сен 2009.

  1. TopicStarter Overlay
    mhl
    Offline

    mhl Опытный в 1С

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

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Во не любите вы поиском пользоваться: Тема про группировку

    У вас обход запроса одноуровневый =) Группировать нечего
  3. TopicStarter Overlay
    mhl
    Offline

    mhl Опытный в 1С

    Регистрация:
    23 июн 2007
    Сообщения:
    418
    Симпатии:
    0
    Баллы:
    26
    покажите пожалуйста как это сделать на моем коде
  4. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Честно говоря, я не понимаю что ты собираешься сворачивать??? Группы номенклатуры?

    И сразу тебе замечание: все условия в запросе (ГДЕ) перенеси в параметры виртуальных таблиц, пока никто не увидел этот ужас.

Поделиться этой страницей