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

Накорябала такой запрос:

```1c
    ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(ЗаказыПокупателейОбороты.Регистратор.Дата, МЕСЯЦ) КАК Месяц,
    ЗаказыПокупателейОбороты.Номенклатура,
    ЗаказыПокупателейОбороты.КоличествоОборот КАК КоличествоОборот,
    ЗаказыПокупателейОбороты.Регистратор
    ПОМЕСТИТЬ ВТЗаказы
    ИЗ
    РегистрНакопления.ЗаказыПокупателей.Обороты(&НачПериода, &КонПериода, Регистратор, ) КАК ЗаказыПокупателейОбороты
    ГДЕ
    ЗаказыПокупателейОбороты.Номенклатура В ИЕРАРХИИ(&Номенклатура)
    И ЗаказыПокупателейОбороты.Регистратор ССЫЛКА Документ.ЗаказПокупателя
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Номенклатура,
    РеализацияТоваровУслугТовары.Количество КАК Количество,
    РеализацияТоваровУслугТовары.Ссылка,
    РеализацияТоваровУслугТовары.ЗаказПокупателя
    ПОМЕСТИТЬ ВТРезервы
    ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    ГДЕ
    РеализацияТоваровУслугТовары.Ссылка.Проведен = &Проведен
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТЗаказы.Месяц КАК Месяц,
    ВТРезервы.Номенклатура КАК Номенклатура,
    ВТЗаказы.КоличествоОборот КАК Заказано,
    ВЫБОР
    КОГДА РАЗНОСТЬДАТ(ВТРезервы.Ссылка.Дата, ВТЗаказы.Регистратор.Дата, ДЕНЬ) > 4
    ТОГДА 0
    ИНАЧЕ ВТРезервы.Количество
    КОНЕЦ КАК Зарезервировано,
    ВТЗаказы.Регистратор
    ИЗ
    ВТЗаказы КАК ВТЗаказы
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТРезервы КАК ВТРезервы
    ПО ВТЗаказы.Регистратор = ВТРезервы.ЗаказПокупателя
    И ВТЗаказы.Номенклатура = ВТРезервы.Номенклатура

    УПОРЯДОЧИТЬ ПО
    Месяц
    ИТОГИ
    СУММА(Заказано),
    СУММА(Зарезервировано)
    ПО
    ОБЩИЕ,
    Месяц
    АВТОУПОРЯДОЧИВАНИЕ
```

(Просьба не обращать внимания на лишние поля типа регистратора или месяца, а также на названия полей)

И все бы ничего, но отрабатывает лишнее суммирование по заказам. Поясню на примере:

Есть заказ покупателя, заказано 4 штуки какой-то номенклатуры.
Есть две реализации. Один раз реализовали 3 штуки, второй раз 1 штуку.

И по результатам выполнения запроса заказ покупателя показывается дважды, соответственно, вместо 4 нужных штук один раз (заказано и зарезервировано) в отчет выходит 2 строки, где по 4 штуки в заказано и 3/1 штуки в зарезервировано.

Прошу вашей помощи, что я делаю не так?
---
Лучше взять не т.ч. документа, а сразу к регистру обратится продажам
В силу понимания задачи думаю вот так

```1c
    ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(ЗаказыПокупателейОбороты.Период, МЕСЯЦ) КАК Месяц,
    ЗаказыПокупателейОбороты.Номенклатура,
    СУММА(ЗаказыПокупателейОбороты.КоличествоОборот) КАК Количество,
    ЗаказыПокупателейОбороты.Регистратор,
    НАЧАЛОПЕРИОДА(ЗаказыПокупателейОбороты.Период, ДЕНЬ) КАК Период
    ПОМЕСТИТЬ ВТЗаказы
    ИЗ
    РегистрНакопления.ЗаказыПокупателей.Обороты(&НачПериода, &КонПериода, Регистратор, Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ЗаказыПокупателейОбороты
    ГДЕ
    ЗаказыПокупателейОбороты.Регистратор ССЫЛКА Документ.ЗаказПокупателя

    СГРУППИРОВАТЬ ПО
    ЗаказыПокупателейОбороты.Номенклатура,
    ЗаказыПокупателейОбороты.Регистратор,
    НАЧАЛОПЕРИОДА(ЗаказыПокупателейОбороты.Период, ДЕНЬ),
    НАЧАЛОПЕРИОДА(ЗаказыПокупателейОбороты.Период, МЕСЯЦ)
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ) КАК Месяц,
    НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ДЕНЬ) КАК Период,
    ПродажиОбороты.Номенклатура КАК Номенклатура,
    ПродажиОбороты.ЗаказПокупателя КАК ЗаказПокупателя,
    СУММА(ПродажиОбороты.КоличествоОборот) КАК Количество
    ПОМЕСТИТЬ ВТРезервы
    ИЗ
    РегистрНакопления.Продажи.Обороты(&НачПериода, &КонПериода, Регистратор, Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ПродажиОбороты
    ГДЕ
    ПродажиОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг

    СГРУППИРОВАТЬ ПО
    ПродажиОбороты.ЗаказПокупателя,
    ПродажиОбороты.Номенклатура,
    НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ДЕНЬ),
    НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ)
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТЗаказы.Месяц,
    ВТЗаказы.Период КАК ПериодЗаказа,
    ВТРезервы.Период КАК ПериодРезерва,
    ВТЗаказы.Номенклатура,
    ВТЗаказы.Количество КАК Заказано,
    ЕСТЬNULL(ВТРезервы.Количество, 0) КАК Зарезервировано
    ИЗ
    ВТЗаказы КАК ВТЗаказы
    ЛЕВОЕ СОЕДИНЕНИЕ ВТРезервы КАК ВТРезервы
    ПО ВТЗаказы.Номенклатура = ВТРезервы.Номенклатура
    И ВТЗаказы.Регистратор = ВТРезервы.ЗаказПокупателя
    И (РАЗНОСТЬДАТ(ВТЗаказы.Период, ВТРезервы.Период, ДЕНЬ) <= 4)
    АВТОУПОРЯДОЧИВАНИЕ
```
---
Сгруппируй две таблицы и потом объединяй

```1c
    ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(ЗаказыПокупателейОбороты.Регистратор.Дата, МЕСЯЦ) КАК Месяц,
    ЗаказыПокупателейОбороты.Номенклатура,
    СУММА(ЗаказыПокупателейОбороты.КоличествоОборот) КАК КоличествоОборот,
    ЗаказыПокупателейОбороты.Регистратор
    ПОМЕСТИТЬ ВТЗаказы
    ИЗ
    РегистрНакопления.ЗаказыПокупателей.Обороты(&НачПериода, &КонПериода, Регистратор, ) КАК ЗаказыПокупателейОбороты
    ГДЕ
    ЗаказыПокупателейОбороты.Номенклатура В ИЕРАРХИИ(&Номенклатура)
    И ЗаказыПокупателейОбороты.Регистратор ССЫЛКА Документ.ЗаказПокупателя

    СГРУППИРОВАТЬ ПО
    ЗаказыПокупателейОбороты.Номенклатура,
    ЗаказыПокупателейОбороты.Регистратор,
    НАЧАЛОПЕРИОДА(ЗаказыПокупателейОбороты.Регистратор.Дата, МЕСЯЦ)
    ;

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

    СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслугТовары.Номенклатура,
    РеализацияТоваровУслугТовары.ЗаказПокупателя,
    РеализацияТоваровУслугТовары.Ссылка
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТЗаказы.Месяц КАК Месяц,
    ВТРезервы.Номенклатура КАК Номенклатура,
    ВТЗаказы.КоличествоОборот КАК Заказано,
    ВЫБОР
    КОГДА РАЗНОСТЬДАТ(ВТРезервы.Ссылка.Дата, ВТЗаказы.Регистратор.Дата, ДЕНЬ) > 4
    ТОГДА 0
    ИНАЧЕ ВТРезервы.Количество
    КОНЕЦ КАК Зарезервировано,
    ВТЗаказы.Регистратор
    ИЗ
    ВТЗаказы КАК ВТЗаказы
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТРезервы КАК ВТРезервы
    ПО ВТЗаказы.Регистратор = ВТРезервы.ЗаказПокупателя
    И ВТЗаказы.Номенклатура = ВТРезервы.Номенклатура

    УПОРЯДОЧИТЬ ПО
    Месяц
    ИТОГИ
    СУММА(Заказано),
    СУММА(Зарезервировано)
    ПО
    ОБЩИЕ,
    Месяц
    АВТОУПОРЯДОЧИВАНИЕ
```
---
ВТЗаказы.КоличествоОборот КАК Заказано, ВЫБОР КОГДА РАЗНОСТЬДАТ(ВТРезервы.Ссылка.Дата, ВТЗаказы.Регистратор.Дата, ДЕНЬ) > 4 ТОГДА 0 ИНАЧЕ ВТРезервы.Количество КОНЕЦ КАК Зарезервировано, ВТЗаказы.Регистратор ИЗ ВТЗаказы КАК ВТЗаказы ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТРезервы КАК ВТРезервы ПО ВТЗаказы.Регистратор = ВТРезервы.ЗаказПокупателя И ВТЗаказы.Номенклатура = ВТРезервы.Номенклатура УПОРЯДОЧИТЬ ПО

А вот в запросе, то что все реализации выбираются (проведенные), разве это нормально ?

Если мы в первой таблице, явно указали ссылку на регистратор, то не проще и во второй ее использовать ?
---
каким образом?
---
что-то сгруппировалось (общий итог меньше, чем до группировки), но проблемные позиции не схлопнулись.
---
Сверни по общим полям и просуммируй нужное поле. Команда "Свернуть" Свернуть(<КолонкиГруппировок>, <КолонкиСуммирования>)
---
не помогло. Вот получившийся код:

```1c
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | НАЧАЛОПЕРИОДА(ЗаказыПокупателейОбороты.Регистратор.Дата, МЕСЯЦ) КАК Месяц,
    | ЗаказыПокупателейОбороты.Номенклатура,
    | ЗаказыПокупателейОбороты.КоличествоОборот КАК КоличествоОборот,
    | ЗаказыПокупателейОбороты.Регистратор
    |ПОМЕСТИТЬ ВТЗаказы
    |ИЗ
    | РегистрНакопления.ЗаказыПокупателей.Обороты(&НачПериода, &КонПериода, Регистратор, ) КАК ЗаказыПокупателейОбороты
    |ГДЕ
    | ЗаказыПокупателейОбороты.Номенклатура В ИЕРАРХИИ(&Номенклатура)
    | И ЗаказыПокупателейОбороты.Регистратор ССЫЛКА Документ.ЗаказПокупателя
    |;
    |
    |////////////////////////////////////////////////////////////­////////////////////
    |ВЫБРАТЬ
    | НАЧАЛОПЕРИОДА(РеализацияТоваровУслугТовары.Ссылка.Дата, МЕСЯЦ) КАК Месяц,
    | РеализацияТоваровУслугТовары.Номенклатура,
    | РеализацияТоваровУслугТовары.Количество КАК Количество,
    | РеализацияТоваровУслугТовары.Ссылка,
    | РеализацияТоваровУслугТовары.ЗаказПокупателя
    |ПОМЕСТИТЬ ВТРезервы
    |ИЗ
    | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    |ГДЕ
    | РеализацияТоваровУслугТовары.Ссылка.Проведен = &Проведен
    |;
    |
    |////////////////////////////////////////////////////////////­////////////////////
    |ВЫБРАТЬ
    | ВТЗаказы.Месяц КАК Месяц,
    | ВТРезервы.Номенклатура КАК Номенклатура,
    | ВТЗаказы.КоличествоОборот КАК Заказано,
    | ВЫБОР
    | КОГДА РАЗНОСТЬДАТ(ВТРезервы.Ссылка.Дата, ВТЗаказы.Регистратор.Дата, ДЕНЬ) > 4
    | ТОГДА 0
    | ИНАЧЕ ВТРезервы.Количество
    | КОНЕЦ КАК Зарезервировано
    |ИЗ
    | ВТЗаказы КАК ВТЗаказы
    | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТРезервы КАК ВТРезервы
    | ПО ВТЗаказы.Регистратор = ВТРезервы.ЗаказПокупателя
    | И ВТЗаказы.Номенклатура = ВТРезервы.Номенклатура
    |
    |УПОРЯДОЧИТЬ ПО
    | Месяц
    |ИТОГИ
    | СУММА(Заказано),
    | СУММА(Зарезервировано)
    |ПО
    | ОБЩИЕ,
    | Месяц
    |АВТОУПОРЯДОЧИВАНИЕ";

    Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));
    Запрос.УстановитьПараметр("НачПериода", НачПериода);
    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
    Запрос.УстановитьПараметр("Проведен", Истина);
    Результат = Запрос.Выполнить().Выгрузить();
    ТЗ = Результат.Скопировать(,"Месяц,Заказано,Зарезервировано");

    ТЗ.Свернуть("Месяц","Заказано,Зарезервировано");

    Для Каждого СтрокаТЗ из ТЗ Цикл

    Сообщить(СтрокаТЗ.Месяц+" "+СтрокаТЗ.Заказано);
    КонецЦикла;
```

А вот 2 сообщения:

1 136
01.07.2017 0:00:00 2 272

Причем, по результатам универсального отчета по регистру "Заказы покупателей" заказано за июль 978 шт.
---
Лучше взять не т.ч. документа, а сразу к регистру обратится продажам
В силу понимания задачи думаю вот так

```1c
    ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(ЗаказыПокупателейОбороты.Период, МЕСЯЦ) КАК Месяц,
    ЗаказыПокупателейОбороты.Номенклатура,
    СУММА(ЗаказыПокупателейОбороты.КоличествоОборот) КАК Количество,
    ЗаказыПокупателейОбороты.Регистратор,
    НАЧАЛОПЕРИОДА(ЗаказыПокупателейОбороты.Период, ДЕНЬ) КАК Период
    ПОМЕСТИТЬ ВТЗаказы
    ИЗ
    РегистрНакопления.ЗаказыПокупателей.Обороты(&НачПериода, &КонПериода, Регистратор, Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ЗаказыПокупателейОбороты
    ГДЕ
    ЗаказыПокупателейОбороты.Регистратор ССЫЛКА Документ.ЗаказПокупателя

    СГРУППИРОВАТЬ ПО
    ЗаказыПокупателейОбороты.Номенклатура,
    ЗаказыПокупателейОбороты.Регистратор,
    НАЧАЛОПЕРИОДА(ЗаказыПокупателейОбороты.Период, ДЕНЬ),
    НАЧАЛОПЕРИОДА(ЗаказыПокупателейОбороты.Период, МЕСЯЦ)
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ) КАК Месяц,
    НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ДЕНЬ) КАК Период,
    ПродажиОбороты.Номенклатура КАК Номенклатура,
    ПродажиОбороты.ЗаказПокупателя КАК ЗаказПокупателя,
    СУММА(ПродажиОбороты.КоличествоОборот) КАК Количество
    ПОМЕСТИТЬ ВТРезервы
    ИЗ
    РегистрНакопления.Продажи.Обороты(&НачПериода, &КонПериода, Регистратор, Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ПродажиОбороты
    ГДЕ
    ПродажиОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг

    СГРУППИРОВАТЬ ПО
    ПродажиОбороты.ЗаказПокупателя,
    ПродажиОбороты.Номенклатура,
    НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ДЕНЬ),
    НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ)
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТЗаказы.Месяц,
    ВТЗаказы.Период КАК ПериодЗаказа,
    ВТРезервы.Период КАК ПериодРезерва,
    ВТЗаказы.Номенклатура,
    ВТЗаказы.Количество КАК Заказано,
    ЕСТЬNULL(ВТРезервы.Количество, 0) КАК Зарезервировано
    ИЗ
    ВТЗаказы КАК ВТЗаказы
    ЛЕВОЕ СОЕДИНЕНИЕ ВТРезервы КАК ВТРезервы
    ПО ВТЗаказы.Номенклатура = ВТРезервы.Номенклатура
    И ВТЗаказы.Регистратор = ВТРезервы.ЗаказПокупателя
    И (РАЗНОСТЬДАТ(ВТЗаказы.Период, ВТРезервы.Период, ДЕНЬ) <= 4)
    АВТОУПОРЯДОЧИВАНИЕ
```
---
спасибо, чуть позже попробуем.
---
огромное спасибо, все получилось!!!
---
Сообщение было скрыто модератором.