Из запроса хочу подсчитать все товары и количество, которые входят в Категорию А и В ,но чтобы эти товары находились именно в списке товаров которые я указал(тогда подсчитываем если не в этом списке то не считаем) но запрос выдаёт почему-то все товары из этих групп и пишет какие-то стрынне количества,хоть таких в заказах и вовсе не было

```1c
    ВЫБРАТЬ
    ВложенныйЗапрос.Номенклатура,
    КОЛИЧЕСТВО(ВложенныйЗапрос.Количество) КАК Количество,
    ЗаказПокупателя.КлассификацияУпаковки,
    ЗаказПокупателя.Ссылка
    ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя,
    (ВЫБРАТЬ
    ЗаказПокупателяТовары.Номенклатура КАК Номенклатура,
    ЗаказПокупателяТовары.Количество КАК Количество
    ИЗ
    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
    ГДЕ
    (ЗаказПокупателяТовары.Номенклатура.Родитель.Родитель.Наименование = "ЗАГЛУШКИ."
    ИЛИ ЗаказПокупателяТовары.Номенклатура.Родитель.Родитель.Наименование = "КОЛЬЦА"
    ИЛИ ЗаказПокупателяТовары.Номенклатура.Родитель.Наименование = "КРЮЧКИ"
    ИЛИ ЗаказПокупателяТовары.Номенклатура.Родитель.Наименование = "УДЛИНИТЕЛИ")) КАК ВложенныйЗапрос
    ГДЕ
    ЗаказПокупателя.Проведен = ИСТИНА
    И ЗаказПокупателя.ПометкаУдаления = ЛОЖЬ
    И ЗаказПокупателя.Дата МЕЖДУ &Дата1 И &Дата2
    И (ЗаказПокупателя.КлассификацияУпаковки = "Категория A"
    ИЛИ ЗаказПокупателя.КлассификацияУпаковки = "Категория B")

    СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.Номенклатура,
    ЗаказПокупателя.КлассификацияУпаковки,
    ЗаказПокупателя.Ссылка
```
---
при обращении к табличной части вы можете использовать реквизиты документа, например ЗаказПокупателяТовары.Ссылка.КлассификацияУпаковки = "Категория B"
---
```1c
    ВЫБРАТЬ
    ЗаказПокупателяТовары.Номенклатура,
    СУММА(ЗаказПокупателяТовары.Количество) КАК Количество

    ИЗ
    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
    ГДЕ
    ЗаказПокупателяТовары.Ссылка.Проведен = ИСТИНА
    И НЕ ЗаказПокупателяТовары.Номенклатура В ИЕРАРХИИ (&НоменклатураСписок)
    И ЗаказПокупателяТовары .Дата МЕЖДУ &Дата1 И &Дата2
    И (ЗаказПокупателяТовары .КлассификацияУпаковки = "Категория A"
    ИЛИ ЗаказПокупателяТовары .КлассификацияУпаковки = "Категория B")
    СГРУППИРОВАТЬ ПО
    ЗаказПокупателяТовары.Номенклатура
```
---
Вместо запятой между таблицами должно быть ВНУТРЕННЕЕ СОЕДИНЕНИЕ и условия связи. Или сразу из Товары выбирать через Ссылку реквизиты шапки документа.
---
Вместо запятой между таблицами должно быть ВНУТРЕННЕЕ СОЕДИНЕНИЕ и условия связи. Или сразу из Товары выбирать через Ссылку реквизиты шапки документа.
---
```1c
    Документ.ЗаказПокупателя КАК ЗаказПокупателя
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    ЗаказПокупателяТовары.Номенклатура КАК Номенклатура,
    ЗаказПокупателяТовары.Количество КАК Количество
    ИЗ
    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
```

написал так,всё прокатило,но количество не верно считает,в первой строке к примеру должно быть 20 а написало 150,где-то не верно считает
---
Не вижу ПО в вашем примере. Прикладывать нужно полностью текст запроса и выделять его тегами CODE
---
сделайте по другому, создайте список значений
СписокИсключений = Новый Список значений;
.Добавить(Справочники.Номенклатура.НайтиПоКоду());

а в запросе
Запрос.УстановитьПараметр("СписокИсключений ", СписокИсключений );

И НЕ ЗаказПокупателяТовары.Номенклатура.Родитель В ИЕРАРХИИ (&СписокИсключений )
---
я этот запрос на скд делаю((
---
создайте список на скд
отдельной таблицей и исключайте потом, а еще лучше что бы конечный пользователь заполнил исключения в списке значений
---
А из этого кода не высчитать количество никак?
---
у вас же наверное люди будут пользоваться вашим отчетом, и в какой то момент захотят исключить какую-то другую группу или наоборот убрать из исключений.
---
тут будет отчёт автоматически запускаться на главный монитор и просто будет обновляться раз в 10 минут, и всё
---
на примере простого запроса

```1c
    ВЫБРАТЬ
    Номенклатура.Ссылка,
    Номенклатура.Родитель
    ИЗ
    Справочник.Номенклатура КАК Номенклатура
    ГДЕ
    НЕ Номенклатура.Родитель В ИЕРАРХИИ (&Родитель)
```
---
но вот это крутая штука,возьму на заметку себе её)
Если я так выберу сейчас ,то количество верно подсчитает?
---
```1c
    ЗаказПокупателя.Проведен = ИСТИНА
    И ЗаказПокупателя.ПометкаУдаления = ЛОЖЬ
```

достаточно
```1c
    ЗаказПокупателя.Проведен = ИСТИНА
```

а еще лучше делать запрос по регистру, там точно будут записи только у проведенных документов.
---
сделал,всё равно количество огромные,в чём дело может быть?
---
Это УТ 11? проверьте упаковки в документе, при обращении к ТЧ Товары там есть два поля, "Количество" и "Количество упаковок". в документе вы видите количество упаковок, а в запросе получаете количество.
Если все верно, то такое количество может получаться из-за дублирования данных. в вложенном запросе вы получаете используемую номенклатуру, но она же может встречаться в заказах несколько раз. поставьте группировку по полю номенклатура во вложенном запросе.

Или не используйте вложенную таблицу, а только одну ЗаказПокупателя.Товары. необходимые отборы можно поставить через поле ссылка табличной части
---
это УТ 10.3
---
смущает вложенность запросов. отсюда у вас огромное количество!!!

почему бы просто не обратится к табличной части документа?
вы когда обращаетесь к таб части у вас есть и таблица с товаровами и колвом так же реквизиты документа

```1c
    ВЫБРАТЬ
    ЗаказПокупателяТовары.Номенклатура,
    ЗаказПокупателяТовары.Количество
    ИЗ
    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
    ГДЕ
    ЗаказПокупателяТовары.Ссылка.Проведен = ИСТИНА
    И НЕ ЗаказПокупателяТовары.Номенклатура В ИЕРАРХИИ (&НоменклатураСписок)
```

и так же добавьте КлассификацияУпаковки в условия этого будет достаточно
---
не могу,потому что мне нужно подсчитать количество номенклатуры, которые входят в
ЗаказПокупателя.КлассификацияУпаковки = "Категория A"
ИЛИ ЗаказПокупателя.КлассификацияУпаковки = "Категория B"
---
при обращении к табличной части вы можете использовать реквизиты документа, например ЗаказПокупателяТовары.Ссылка.КлассификацияУпаковки = "Категория B"
---
ага,круто,не знал,спасибо,сейчас попробую. Так как в итоге решить задачу с количеством можно?
---
```1c
    ВЫБРАТЬ
    ЗаказПокупателяТовары.Номенклатура,
    СУММА(ЗаказПокупателяТовары.Количество) КАК Количество

    ИЗ
    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
    ГДЕ
    ЗаказПокупателяТовары.Ссылка.Проведен = ИСТИНА
    И НЕ ЗаказПокупателяТовары.Номенклатура В ИЕРАРХИИ (&НоменклатураСписок)
    И ЗаказПокупателяТовары .Дата МЕЖДУ &Дата1 И &Дата2
    И (ЗаказПокупателяТовары .КлассификацияУпаковки = "Категория A"
    ИЛИ ЗаказПокупателяТовары .КлассификацияУпаковки = "Категория B")
    СГРУППИРОВАТЬ ПО
    ЗаказПокупателяТовары.Номенклатура
```
---
так же не прокатит,без внутренного соединения
---
ааа,неет,круто,всё прокатило,не заметил что там нет ссылки))пасибос,сейчас проверю,когда добавлю список
---
Вообще крутяк,проверил и всё топчик! Спасибо ребят всем)
---
Спасибо всем. Тема Закрыта.