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