Пишу отчет на СКД, Продажи по периодам с продажами по фиксированным периодам(30 и 45 дней для оперативного анализа, типа)
СКД упорно запихивает мне в эти поля суммарные продажи за период, что я делаю не так?
Результат на скриншоте в приложении
Запрос в СКД:

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

    СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Номенклатура,
    ВЫБОР
    КОГДА ПродажиОбороты.ДокументПродажи.Склад ЕСТЬ НЕ NULL
    ТОГДА ПродажиОбороты.ДокументПродажи.Склад
    КОГДА НЕ ПродажиОбороты.ДокументПродажи.СкладОрдер ССЫЛКА Справочник.Склады
    ТОГДА ПродажиОбороты.ДокументПродажи.СкладОрдер.Склад
    ИНАЧЕ ПродажиОбороты.ДокументПродажи.СкладОрдер
    КОНЕЦ,
    ПродажиОбороты.Период) КАК ПродажиПоПер
    ПО НОМ.Номенклатура = ПродажиПоПер.Номенклатура
    И НОМ.Склад = ПродажиПоПер.Склад
    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    Продажи30Дней.Номенклатура КАК Номенклатура,
    Продажи30Дней.Склад КАК Склад,
    Продажи30Дней.Продажи КАК Продажи
    ИЗ
    (ВЫБРАТЬ
    ПродажиОбороты.Номенклатура КАК Номенклатура,
    ВЫБОР
    КОГДА ПродажиОбороты.ДокументПродажи.Склад ЕСТЬ НЕ NULL
    ТОГДА ПродажиОбороты.ДокументПродажи.Склад
    КОГДА НЕ ПродажиОбороты.ДокументПродажи.СкладОрдер ССЫЛКА Справочник.Склады
    ТОГДА ПродажиОбороты.ДокументПродажи.СкладОрдер.Склад
    ИНАЧЕ ПродажиОбороты.ДокументПродажи.СкладОрдер
    КОНЕЦ КАК Склад,
    СУММА(ПродажиОбороты.КоличествоОборот) КАК Продажи
    ИЗ
    РегистрНакопления.Продажи.Обороты(ДОБАВИТЬКДАТЕ(&ТекДата, ДЕНЬ, -30), &ТекДата, , {(Номенклатура).* КАК Номенклатура, (Подразделение).* КАК Подразделение}) КАК ПродажиОбороты

    СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Номенклатура,
    ВЫБОР
    КОГДА ПродажиОбороты.ДокументПродажи.Склад ЕСТЬ НЕ NULL
    ТОГДА ПродажиОбороты.ДокументПродажи.Склад
    КОГДА НЕ ПродажиОбороты.ДокументПродажи.СкладОрдер ССЫЛКА Справочник.Склады
    ТОГДА ПродажиОбороты.ДокументПродажи.СкладОрдер.Склад
    ИНАЧЕ ПродажиОбороты.ДокументПродажи.СкладОрдер
    КОНЕЦ) КАК Продажи30Дней) КАК ПРодажи30Дней
    ПО (ПРодажи30Дней.Номенклатура = НОМ.Номенклатура)
    И (ПРодажи30Дней.Склад = НОМ.Склад)
    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    Продажи45Дней.Номенклатура КАК Номенклатура,
    СУММА(Продажи45Дней.КоличествоОборот) КАК Продажи
    ИЗ
    РегистрНакопления.Продажи.Обороты(ДОБАВИТЬКДАТЕ(&ТекДата, ДЕНЬ, -45), &ТекДата, , {(Номенклатура).* КАК Номенклатура, (Подразделение).* КАК Подразделение}) КАК Продажи45Дней

    СГРУППИРОВАТЬ ПО
    Продажи45Дней.Номенклатура) КАК Продажи45Дней
    ПО (Продажи45Дней.Номенклатура = НОМ.Номенклатура)

    СГРУППИРОВАТЬ ПО
    НОМ.Номенклатура,
    НОМ.Склад,
    ПродажиПоПер.Продажи,
    ПродажиПоПер.Период,
    ПРодажи30Дней.Продажи,
    Продажи45Дней.Продажи
```
---
По типу такого:

```1c
    РегистрНакопления.ЗаказТоваров.Обороты({(ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, -45))}, {(&КонецПериода)}, ...
```
---
Оберни их в фигурные скобки.
---
Для того чтобы понять, что не так, нужно видеть саму схему компоновки данных:
1. Наборы данных,
2. Вычисляемые поля,
3. Ресурсы.
---
Запросы из наборов:

Остатки

```1c
    ВЫБРАТЬ
    Данные.Номенклатура,
    Данные.Склад,
    Данные.Остаток,
    Данные.Резерв КАК РезервОПТ,
    Данные.ВПути,
    Данные.РезервМаг КАК РезервМагазинов,
    Данные.КОтгрузке,
    Данные.РезервСклад,
    ОстатокОсновнойСклад.Остаток КАК ОстОснСклад
    ИЗ
    (ВЫБРАТЬ
    Остатки.Номенклатура КАК Номенклатура,
    Остатки.Склад КАК Склад,
    СУММА(Остатки.Остаток) КАК Остаток,
    СУММА(Остатки.Резерв) КАК Резерв,
    СУММА(Остатки.ВПути) КАК ВПути,
    СУММА(Остатки.РезервМаг) КАК РезервМаг,
    СУММА(Остатки.КОтгрузке) КАК КОтгрузке,
    СУММА(Остатки.РезервСклад) КАК РезервСклад
    ИЗ
    (ВЫБРАТЬ
    Остатки.Номенклатура КАК Номенклатура,
    Остатки.Склад КАК Склад,
    Остатки.КоличествоОстаток КАК Остаток,
    0 КАК Резерв,
    0 КАК ВПути,
    0 КАК РезервМаг,
    0 КАК КОтгрузке,
    0 КАК РезервСклад
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков, {(Номенклатура).* КАК Номенклатура, (Склад).* КАК Склад}) КАК Остатки

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

    ВЫБРАТЬ
    Резерв.Номенклатура,
    Резерв.Склад,
    0,
    Резерв.КоличествоОстаток,
    0,
    0,
    0,
    0
    ИЗ
    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаОстатков, ДокументРезерва ССЫЛКА Документ.ЗаказПокупателя {(Номенклатура).* КАК Номенклатура, (Склад).* КАК Склад}) КАК Резерв

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

    ВЫБРАТЬ
    ТоварыВПути.Номенклатура,
    ТоварыВПути.Получатель,
    0,
    0,
    ТоварыВПути.КоличествоОстаток,
    0,
    0,
    0
    ИЗ
    РегистрНакопления.ТоварыВПути.Остатки(
    &ДатаОстатков,
    ДокументПолучения ССЫЛКА Документ.ПеремещениеТоваров
    И Получатель ССЫЛКА Справочник.Склады {(Номенклатура).* КАК Номенклатура, (Получатель).* КАК Склад}) КАК ТоварыВПути

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

    ВЫБРАТЬ
    РезервМаг.Номенклатура,
    РезервМаг.ДокументРезерва.Заказчик,
    0,
    0,
    0,
    РезервМаг.КоличествоОстаток,
    0,
    0
    ИЗ
    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаОстатков, ДокументРезерва ССЫЛКА Документ.ВнутреннийЗаказ {(Номенклатура).* КАК Номенклатура, (Склад).* КАК Склад}) КАК РезервМаг

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

    ВЫБРАТЬ
    КОтгрузке.Номенклатура,
    ВЫБОР
    КОГДА КОтгрузке.ДокументПередачи ССЫЛКА Документ.ПеремещениеТоваров
    ТОГДА КОтгрузке.ДокументПередачи.СкладПолучатель
    ИНАЧЕ КОтгрузке.Склад
    КОНЕЦ,
    0,
    0,
    0,
    0,
    КОтгрузке.КоличествоОстаток,
    0
    ИЗ
    РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&ДатаОстатков, {(Номенклатура).* КАК Номенклатура, (Склад).* КАК Склад}) КАК КОтгрузке

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

    ВЫБРАТЬ
    РезервМагСклад.Номенклатура,
    РезервМагСклад.Склад,
    0,
    0,
    0,
    0,
    0,
    РезервМагСклад.КоличествоОстаток
    ИЗ
    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаОстатков, ДокументРезерва ССЫЛКА Документ.ВнутреннийЗаказ {(Номенклатура).* КАК Номенклатура, (Склад).* КАК Склад}) КАК РезервМагСклад) КАК Остатки

    СГРУППИРОВАТЬ ПО
    Остатки.Номенклатура,
    Остатки.Склад) КАК Данные
    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    ОстатокОсновнойСклад.Номенклатура КАК Номенклатура,
    СУММА(ОстатокОсновнойСклад.Остаток - ОстатокОсновнойСклад.КОтгрузке - ОстатокОсновнойСклад.Резерв) КАК Остаток
    ИЗ
    (ВЫБРАТЬ
    ОстатокОсновнойСклад.Номенклатура КАК Номенклатура,
    ОстатокОсновнойСклад.КоличествоОстаток КАК Остаток,
    0 КАК КОтгрузке,
    0 КАК Резерв
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(
    &ДатаОстатков,
    ВЫБОР
    КОГДА Номенклатура.НоменклатурнаяГруппа.Родитель.Код = "000000020"
    ТОГДА Склад.Код = "000000002"
    ИНАЧЕ Склад.Код = "000000006"
    КОНЕЦ {(Номенклатура).* КАК Номенклатура, (Склад).* КАК Склад}) КАК ОстатокОсновнойСклад

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

    ВЫБРАТЬ
    ТоварыКОтгрузке.Номенклатура,
    0,
    ТоварыКОтгрузке.КоличествоОстаток,
    0
    ИЗ
    РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(
    &ДатаОстатков,
    ВЫБОР
    КОГДА Номенклатура.НоменклатурнаяГруппа.Родитель.Код = "000000020"
    ТОГДА Склад.Код = "000000002"
    ИНАЧЕ Склад.Код = "000000006"
    КОНЕЦ {(Номенклатура).* КАК Номенклатура, (Склад).* КАК Склад}) КАК ТоварыКОтгрузке

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

    ВЫБРАТЬ
    ТоварыВРезерве.Номенклатура,
    0,
    0,
    ТоварыВРезерве.КоличествоОстаток
    ИЗ
    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(
    &ДатаОстатков,
    ВЫБОР
    КОГДА Номенклатура.НоменклатурнаяГруппа.Родитель.Код = "000000020"
    ТОГДА Склад.Код = "000000002"
    ИНАЧЕ Склад.Код = "000000006"
    КОНЕЦ {(Номенклатура).* КАК Номенклатура, (Склад).* КАК Склад}) КАК ТоварыВРезерве) КАК ОстатокОсновнойСклад

    СГРУППИРОВАТЬ ПО
    ОстатокОсновнойСклад.Номенклатура) КАК ОстатокОсновнойСклад
    ПО Данные.Номенклатура = ОстатокОсновнойСклад.Номенклатура

    УПОРЯДОЧИТЬ ПО
    Данные.Номенклатура
```

Цены

```1c
    ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Цена,
    ЦеныНоменклатурыСрезПоследних.ТипЦен,
    ЦеныНоменклатурыСрезПоследних.Номенклатура
    ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОстатков,{(Номенклатура).* КАК Номенклатура, (ТипЦен).* КАК ТипЦен} ) КАК ЦеныНоменклатурыСрезПоследних
```

Во объекте "Периоды" просто отображение периодов, я думаю он ни на что не влияет.
---
Здорово... Как насчет показать основной запрос "Продажи"? Где Вы, как я понимаю вычисляете продажи за нужные периоды?

И что из себя представляет таблица периодов?
---
Он в самом первом посте, по неопытности засунул под спойлер, переделал

В таблице "Периоды" периоды и соотвествующие им "человеческие" наименования, например вместо "01.01.2017 - 31.01.2017" - "Январь 2017"
---
попробуй не использовать виртуальную таблицу или помни что она автоматически сворачивается по измерениям
---
Мне именно это и нужно, я не знаю как мне правильно объяснить, но получается что на выходе в отчете в полях Прод30 и Прод45 продажи за указанный для основной части отчета период, а не за 30 и 45 дней соответственно. Я уже перепробовал массу вариантов, этот уже наверное даже не 10-ый.
---
Это известная фича автоподстановки параметров периодов СКД в виртуальные таблицы в режиме автонастроек СКД.
---
Оберни их в фигурные скобки.
---
Параметры?
---
Да, параметры периодов виртуальных таблиц.
---
По типу такого:

```1c
    РегистрНакопления.ЗаказТоваров.Обороты({(ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, -45))}, {(&КонецПериода)}, ...
```
---
Огромное спасибо за подсказку, заработало