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