Здравствуйте.

```1c
    Запрос:
    "ВЫБРАТЬ
    | ДокументПечать." + ИмяТабличнойЧасти +".(
    | НомерСтроки,
    | Номенклатура.Артикул КАК Артикул,
    //| Номенклатура.Наименование КАК Наименование,
    //| Номенклатура.НаименованиеПолное КАК НаименованиеПолное,
    | Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры,
    | Количество КАК Количество,
    | Цена КАК Цена,
    | Сумма КАК Сумма,
    | Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения
    | )
    |
    |ИЗ
    | Документ.ОтчетОРозничныхПродажах КАК ДокументПечать
    |
    |ГДЕ
    | ДокументПечать.Ссылка = &ТекущийДокумент
    |
    |СГРУППИРОВАТЬ ПО
    | ВДокументПечать.ВидНоменклатуры
    //|
    //|УПОРЯДОЧИТЬ ПО
    //| ДокументПечать." + ИмяТабличнойЧасти +".НомерСтроки
    |";
```

пока СГРУПИРОВАТЬ выключена форма работает, включаю группировку отвечает

ТаблицаРезультатаЗапроса = Запрос.Выполнить().Выбрать();
по причине:
{(19, 2)}: Поле не найдено "ВидНоменклатуры"

Что не так?
---
Примерно так может выглядеть запрос и обработка его результата выборки в цикле (см. вложение).
* Исправлен текст запроса, функция возвращает результат запроса
* Убраны лишние конструкции (помечены комментарием)
* Заменены одни конструкции на другие (так же помечены комментарием).

Работоспособность не проверялась. Только общая логика скорректирована была
---
Поля ВидНоменклатуры в табличной части нету. Конструктором собери запрос.

(1) ВДокументПечать Буква "В" лишняя
---
Букафку "В" убрал, итог тот же "ненайдено поле"
Запрос через конструктор:

```1c
    "ВЫБРАТЬ
    | ОтчетОРозничныхПродажах.Товары.(
    | Номенклатура.ВидНоменклатуры,
    | Количество,
    | Цена,
    | Сумма
    | )
    |ИЗ
    | Документ.ОтчетОРозничныхПродажах КАК ОтчетОРозничныхПродажах
    |
    |СГРУППИРОВАТЬ ПО
    | ОтчетОРозничныхПродажах.Товары.(Номенклатура.ВидНоменклатуры,
    | Количество,
    | Цена,
    | Сумма)"
```

Ответ;
 ТаблицаРезультатаЗапроса = Запрос.Выполнить().Выбрать();
по причине:
{(2, 2)}: Группировка по таблицам верхнего уровня и вложенным таблицам
<<?>>ОтчетОРозничныхПродажах.Товары.(
---
а почему бы не обратится сразу к ТЧ и с ней работать?
---
Если тебе нужна только таб часть то:

```1c
    "ВЫБРАТЬ
    | Номенклатура.ВидНоменклатуры,
    | Количество,
    | Цена,
    | Сумма
    |ИЗ
    | Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
    |
    |СГРУППИРОВАТЬ ПО
    | Номенклатура.ВидНоменклатуры,
    | Количество,
    | Цена,
    | Сумма"
```
---
"ВЫБРАТЬ | Номенклатура.ВидНоменклатуры, | Количество, | Цена, | Сумма |ИЗ | Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары | |СГРУППИРОВАТЬ ПО | Номенклатура.ВидНоменклатуры, | Количество, | Цена, | Сумма"

и

```1c
    "ВЫБРАТЬ
    | ОтчетОРозничныхПродажахТовары.Номенклатура.ВидНоменклатуры,
    | СУММА(ОтчетОРозничныхПродажахТовары.Количество) КАК Количество,
    | ОтчетОРозничныхПродажахТовары.Цена,
    | СУММА(ОтчетОРозничныхПродажахТовары.Сумма) КАК Сумма
    |ИЗ
    | Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
    |
    |СГРУППИРОВАТЬ ПО
    | ОтчетОРозничныхПродажахТовары.Номенклатура.ВидНоменклатуры,
    | ОтчетОРозничныхПродажахТовары.Цена"
```

Ответ всегда =

 Поле объекта не обнаружено (Товары)
 ТЧастьДокумента = ТаблицаРезультатаЗапроса.Товары.Выбрать();
не могу понять, в самом первом случае почему он не находит это поле "ВидНоменклатуры" оно же дите "Номенклатуры" и в запросе есть на него ссылка и где лежит, Почему без групировки показывает а группировка его не видит, что меняется при группировке в запросе?
Вообще мне надо по одинаковому "ВидуНоменклатуры" Ссумировать количество и сумму, этоже "группировка" или "объеденить все"?
---
Не читайте, пожалуйста, между строк, иначе понимания не будет. Если в (6) составлен запрос через конструктор, то в нем, возможно, и ошибки даже нет.
Но смотрите, что делаете дальше: Получаете результат запроса, а по потом в результате вы пытаетесь найти поле "товары", которого у вас нет. У вас запрос и так построен уже (обращение идет) к тч товары, значит вам нужно:
Рез = запрос.выполнить();
ВыборкаТЧ = рез.выбрать();

И все. Никакого более получения".Товары" из результата для выборки не нужно делать.

Ошибку не в том месте ищете
---
И в итоге я вижу итоговую цифру и больше ничего, видимо это связано с процессом вывода в макет результатов запроса который уже разительно отличается от того на который расчитан текущий процесс.
Спасибо за ваше время.
---
То, как у вас формируется информация в печатной форме - это уже вопрос другой. Возможно там проблема с логикой в корне.

По сути, что нужно: нужно получить результат запроса с группировкой по виду номенклатуры и агрегированию (суммирование) неких числовых показателей (обычно это количество и/или сумма).

Есть результат запроса:

```1c
    Запрос = Новый Запрос("Текст запроса");
    Запрос.УстановитьПараметр("Док", СсылкаНаОбъект);

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаПоТЧ = РезультатЗапроса.Выбрать();

    Пока ВыборкаПоТЧ.Следующий() Цикл

    // Здесь в цикле формируем печатную форму

    КонецЦикла;
```

Все.

Вопросы?
---
```1c
    "ВЫБРАТЬ
    | ОтчетОРозничныхПродажах.Номенклатура.ВидНоменклатуры,
    | ОтчетОРозничныхПродажах.Количество,
    | ОтчетОРозничныхПродажах.Цена,
    | ОтчетОРозничныхПродажах.Сумма
    |ИЗ
    | Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажах
    |
    |СГРУППИРОВАТЬ ПО
    | ОтчетОРозничныхПродажах.Номенклатура.ВидНоменклатуры,
    | ОтчетОРозничныхПродажах.Количество,
    | ОтчетОРозничныхПродажах.Цена,
    | ОтчетОРозничныхПродажах.Сумма "
```
---
По последнему тексту запроса:

```1c
    тч = запрос.выполнить().выгрузить()
```

И не нужно никакую "товары" получать из результата запроса.
---
Ну или если нужно обходить выборку в цикле, то
ВыборкаТовары = запрос.выполнить().выбрать();
А далее в цикле обход выборки (строки результата запроса)
---
Посмотрите реквизиты и табличную часть документа ОтчетОРозничныхПродажах и реквизиты справочника Номенклатура
---
Файлы форм, конфа Розница.
Хочу уточнить, я не прошу сделать за меня, я прошу объяснить почему добавление группировки ломает запрос.
Первый файл дает вместо наименований товаров Виды номенклатуры все норм.
Второй файл логично, должен сгруппировать одинаковые Виды номенклатуры в одну строку, про ссумирование остальных полей еще не думал.
Результат.
 ТаблицаРезультатаЗапроса = Запрос.Выполнить().Выбрать();
по причине:
{(19, 17)}: Поле не найдено "ДокументПечать.ВидНоменклатуры"
ДокументПечать.<<?>>ВидНоменклатуры

Если возможно, прошу объяснить мою ошибку. Учился на 1С 77, запросами не пользовался, потому представление о синтаксисе запроса и его работе имею весьма смутное.
Спасибо за ваше время.
---
соберите в конструкторе текст запроса, подобный (6), где есть группировки. Этого для достижения результата будет достаточно
---
Согласен, но в тексте присутствут строки работа которых сыпется при формировании запроса из конструктора, в частности (6), как вы видите применялся как предложенный запрос так и из конструктора, далее следующая строка "ТЧастьДокумента = ТаблицаРезультатаЗапроса.Товары.Выбрать(); " уже чегото не находит. Потому и прошу объяснить возникающую ошибку в имеющемся запросе, дабы не затрагивать весь модуль.
Спасибо за ваше время.
---
Примерно так может выглядеть запрос и обработка его результата выборки в цикле (см. вложение).
* Исправлен текст запроса, функция возвращает результат запроса
* Убраны лишние конструкции (помечены комментарием)
* Заменены одни конструкции на другие (так же помечены комментарием).

Работоспособность не проверялась. Только общая логика скорректирована была
---
Спасибо за решение, работает с некоторой корректировкой. Если бы только в результате запроса не требовалось еще получить суммирование арифметический действий с полями. А Функция СУММА( А+Б) этого не делает, я так понимаю нужно делать подзапрос.
---
не за что) удачи