Доброе утро.
Необходимо получить сумму по контрагенту за день для документов "Заказ покупателя".

Корректно ли это(дата документа заказа покупателя и контрагент оттуда)? :

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

    Запрос2.УстановитьПараметр("Контрагент",Контрагент);
    Запрос2.УстановитьПараметр("ДатаНач",НачалоДня(Дата));
    Запрос2.УстановитьПараметр("ДатаКон",КонецДня(Дата));

    ВыборкаСуммаЗаДень = Запрос2.Выполнить().Выбрать();

    Пока ВыборкаСуммаЗаДень.Следующий() Цикл
    СуммаЗаДень = ВыборкаСуммаЗаДень.СуммаОборот;
    КонецЦикла;
```

Думаю,что по этому регистру делают движения много документов и это некорректно,как сделать правильнее?
---
Ну вот у меня так вышло. Вроде суммы верны теперь. Но как мне получить одну сумму,так как в итоге мне необходимо с ней играться будет.

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

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    0,
    ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовОборот
    ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(&ДатаНач, &ДатаКон, Регистратор, Контрагент = &Контрагент) КАК ВзаиморасчетыСКонтрагентамиОбороты
    ГДЕ
    ВзаиморасчетыСКонтрагентамиОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг) КАК ВложенныйЗапрос
```
---
"ВЫБРАТЬ
    | РасчетыСКонтрагентамиОбороты.Контрагент,
    | РасчетыСКонтрагентамиОбороты.ДоговорКонтрагента,
    | РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовОборот КАК СуммаОборот
    |ИЗ
    | РегистрНакопления.РасчетыСКонтрагентами.Обороты(&ДатаНач, &ДатаКон, Регистратор, Контрагент = &Контрагент) КАК РасчетыСКонтрагентамиОбороты ГДЕ РасчетыСКонтрагентамиОбороты.Регистратор ССЫЛКА Документ.ЗаказПокупателя". Примерно так по всем заказам контрагента за день.
---
Появился ещё вопрос,заказ покупателя же может быть связан с документом "Реализация товаров и услуг" и по идее же сумму из РТУ тоже надо учитывать ?
---
Не наверно,а да надо. А РТУ не делает движения по регистру "РасчетыСКонтрагентами". Как быть ?!
---
ВзаиморасчетыСКонтрагентами
---
Конструкция "ГДЕ РасчетыСКонтрагентамиОбороты.Регистратор ССЫЛКА Документ.ЗаказПокупателя" отсекает только по документам ЗаказаПокупателя. Здесь передается тип документа, а не ссылка на конкретный. добавьте в выборку Регистратор и увидите :)
---
Делать объединением. Во второй выборке регистратор РТИУ с условием, что у них основания - заказы за выбранный период
---
Извините,не совсем понял этого. Где сделать условие на регистратор основание?

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

    ОБЪЕДИНИТЬ ВСЕ

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

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    0,
    РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовОборот
    ИЗ
    РегистрНакопления.РасчетыСКонтрагентами.Обороты(&ДатаНач, &ДатаКон, Регистратор, Контрагент = &Контрагент) КАК РасчетыСКонтрагентамиОбороты
    ГДЕ
    РасчетыСКонтрагентамиОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг) КАК ВложенныйЗапрос
```

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

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    0,
    РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовОборот
    ИЗ
    РегистрНакопления.РасчетыСКонтрагентами.Обороты(&ДатаНач, &ДатаКон, Регистратор, Контрагент = &Контрагент) КАК РасчетыСКонтрагентамиОбороты
    ГДЕ
    РасчетыСКонтрагентамиОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг) КАК ВложенныйЗапрос
```

У меня этот запрос норм отрабатывает. Вы правильно указваете инетрвал? Например: ДатаНач 01.01.2020 00:00:00, ДатаКон - 01.01.2020 23:59:59 Они в консоли могут меняться местами. Проверьте, пожалуйста. А еще как вариант - по контрагенту иожет не быть движений. :)
---
у Вас регистры одинаковые. В этом дело похоже.
---
```1c
    ВЫБРАТЬ
    СУММА(ВложенныйЗапрос.Сумма) КАК Сумма
    ИЗ
    (ВЫБРАТЬ
    РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовОборот КАК Сумма
    ИЗ
    РегистрНакопления.РасчетыСКонтрагентами.Обороты(&ДатаНач, &ДатаКон, Регистратор, Контрагент = &Контрагент) КАК РасчетыСКонтрагентамиОбороты
    ГДЕ
    РасчетыСКонтрагентамиОбороты.Регистратор ССЫЛКА Документ.ЗаказПокупателя

    ОБЪЕДИНИТЬ ВСЕ

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

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

    ОБЪЕДИНИТЬ ВСЕ

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

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовОборот
    ИЗ
    РегистрНакопления.РасчетыСКонтрагентами.Обороты(&ДатаНач, &ДатаКон, Регистратор, Контрагент = &Контрагент) КАК РасчетыСКонтрагентамиОбороты
    ГДЕ
    РасчетыСКонтрагентамиОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг) КАК ВложенныйЗапрос
```
 Вот таким образом. Громоздко, но методолгически правильно :) Но здесь учитываются все заказы и все реализации. Их общая сумма.
---
Не пойму почему вы не используете регистр "ВзаиморасчетыСКонтрагентами". Рту делает движения по нему,по РасчетСКонтрагентами совсем не делает реализация.
---
Ну, поправьте. Я на УПП смотрю - у меня делает :)
---
Здесь у Вас нагляднее получается - отдельно заказы, отдельно реализации. Если надо будет, можно вычитать одну из другой или складывать. Но это уже в объектной модели, при обработке результата запроса.
---
Надо создать временную таблицу с заказами и при получении суммы по реализациям указать в условии, что основание В временная таблица
---
Недостаточно данных. Если у вас в базе одна организация, один договор с контрагентом, не ведется учет по сделкам, то в принципе может случайно быть получен верный результат. В общем случае вы получите сумму из последней строки выборки.