Здравствуйте, подскажите пожалуйста, как можно обойти выборку по следующему алгоритму.

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | НоменклатураОстатки.Номенклатура КАК НоменклатураОстатки.Номенклатура
    | НоменклатураОстатки.Номенклатура.Тип КАК ТипНоменклатуры
    | НоменклатураОстатки.СуммаОстаток КАК СуммаОстаток,
    |ИЗ
    | РегистрНакопления.НоменклатураОстатки.Остатки(&ДатаОкончания, ) КАК НоменклатураОстатки
    |СГРУППИРОВАТЬ ПО
    | НоменклатураОстатки.Номенклатура.Тип";
```

Мне необходимо для каждого типа выполнить действие (Типы это справочник, не перечисление). Типы номенклатуры не предопределенные и справочник может пополняться.

Необходимо сделать обход выборки и допустим для каждого типа выполнить действие. Например, отобрал по первому типу "Молоко", сформировал печатную форму, отправил на почту. Затем отобрал по следующему типу "Картошка", выполнил тоже самое и т.д.
---
Пример тебе: сделай по образу и подобию:

ВЫБРАТЬ
    УчетНоменклатурыОстатки.Номенклатура КАК Номенклатура,
    УчетНоменклатурыОстатки.Номенклатура.Представление,
    УчетНоменклатурыОстатки.Склад КАК Склад,
    УчетНоменклатурыОстатки.Склад.Представление,
    УчетНоменклатурыОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
    РегистрНакопления.УчетНоменклатуры.Остатки КАК УчетНоменклатурыОстатки
ИТОГИ СУММА(КоличествоОстаток) ПО
    ОБЩИЕ,
    Номенклатура,
    Склад

ВыборкаНоменклатура = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Номенклатура");
Пока ВыборкаНоменклатура.Следующий() Цикл
    ОбластьНоменклатура.Параметры.Заполнить(ВыборкаНоменклатура);
    ТабДок.Вывести(ОбластьНоменклатура);

ВыборкаСклад = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Склад", "Организация");
---
так а что мешает то?
---
открывай выборку, пока выборка.Следующий() и как обычно в цикле всё
---
пока выборка.Следующий() Он соберет всю информацию в одну печатную форму, только будет упорядочено. А мне необходимо обойти еще по счетчику, я так понимаю и выполнить код в счетчике. Вот здесь я подзабыл, как это сделать.
---
если тебе не важна номенклатура - убери ее из запроса
---
Важна, потому что необходимо в печатную форму выводить.
---
может ты имеешь ввиду обход по группировкам?не понятно, что за отчет , на каком этапе выводить, я ж даже не знаю, что в нем содержится. Но если по группировкам, то надо в запрос вывести итоги по
---
Молоко

Молоко 1,5% - 5 шт
Молоко 3,2% -10 шт

Отправил отчет

------------------------------------

Затем следующий:

Картошка

Картошка мытая -2шт
Картошка синеглазка 6 шт.

Отправил отчет.
-----------------------------------------
---
Обход результата запроса по группировкам доступен при использовании конструкции Итоги <Итоговое поле> по <Поля итогов> языка запросов.

При этом итоговые поля (суммы, количество), могут отсутствовать — производится просто группировка по нужным полям, либо по общим итогам — служебное поле «ОБЩИЕ»( флажок «Общие итоги»)

Группировки могут быт вложенные, поэтому для выборки из запросов необходимо последовательно вызывать метод Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам)
---
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса();

Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Результат = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
Область = Макет.ПолучитьОбласть("Шапка");
Результат.Вывести(Область);
Результат.НачатьАвтогруппировкуСтрок();

Пока Выборка.Следующий() Цикл
        Область = Макет.ПолучитьОбласть("Месяц");
        Область.Параметры.Месяц = Формат(Выборка.Период,"ДФ='MMMM yyyy'");

        Результат.Вывести(Область,1);

        ОБласть = Макет.ПолучитьОбласть("Строка");
        ОБласть.Параметры.Показатель = "Собрано всего";
        ОБласть.Параметры.Значение = Формат(Выборка.Сумма,"ЧЦ=14; ЧДЦ=2");
        Результат.Вывести(ОБласть,2);
КонецЦикла;
Результат.ЗакончитьАвтогруппировкуСтрок();
---
Подскажите, в запросе что должно еще быть?
---
вместо СГРУППИРОВАТЬ ПО используй ИТОГИ, а дальше две выборки перебирай, внешняя ПоГруппировкам, внутренняя(вложенгная) простая.
---
примерно так. А внутри выборки по группировкам перебираешь выборку вложеную
---
смотри в конструкторе запроса закладку Итоги, а в группировках все удали. Сделай ту же логику, но в итогах, там же по сути тоже группировка, но сразу с выводом итогов, которые можно и не выводить при этом. Просто т огда тебе станеовится доступен механизм перебора выборки ПоГруппировкам
---
Пример тебе: сделай по образу и подобию:

ВЫБРАТЬ
    УчетНоменклатурыОстатки.Номенклатура КАК Номенклатура,
    УчетНоменклатурыОстатки.Номенклатура.Представление,
    УчетНоменклатурыОстатки.Склад КАК Склад,
    УчетНоменклатурыОстатки.Склад.Представление,
    УчетНоменклатурыОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
    РегистрНакопления.УчетНоменклатуры.Остатки КАК УчетНоменклатурыОстатки
ИТОГИ СУММА(КоличествоОстаток) ПО
    ОБЩИЕ,
    Номенклатура,
    Склад

ВыборкаНоменклатура = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Номенклатура");
Пока ВыборкаНоменклатура.Следующий() Цикл
    ОбластьНоменклатура.Параметры.Заполнить(ВыборкаНоменклатура);
    ТабДок.Вывести(ОбластьНоменклатура);

ВыборкаСклад = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Склад", "Организация");
---
если до сих пор непонятно, проще почитать учебник... тут явно не "подзабыл" :(
---
Сделал, спасибо.
---
Рада помочь :)