Имя: Пароль:
1C
1С v8
СКД, объединение, два периода
0 Aswed
 
20.12.18
21:31
Требуется в СКД построить отчет о продажах за два произвольных периода.
Сделал через два одинаковых запроса, с разными параметрами НачалоПериода, КонецПериода, НачалоПериода2, КонецПериода2 и объединением их.

Всё выводит но почему то в параметрах даты на оба запроса идёт значение параметров НачалоПериода, КонецПериода.

Т.е. ставлю разные периоды в НачалоПериода, КонецПериода и НачалоПериода2, КонецПериода2, но выводятся данные как будто в обоих значениямх НачалоПериода, КонецПериода и НачалоПериода2, КонецПериода2 стоит один и тот же период.

Явно где то что то натупил, но не могу понять где именно.
Запрос простейший

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

СГРУППИРОВАТЬ ПО
    ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура
1 МихаилМ
 
20.12.18
21:34
сделайте объединение в запросе.
2 Aswed
 
20.12.18
21:36
(1) Без разницы. И так и так пробовал. Всё равно. Такое ощущение что на таблицу регистра накладывается условие и затем не снимается.

Я уже через вложенные запросы сделал. Один фиг:

ВЫБРАТЬ
    Период1.АналитикаУчетаНоменклатурыНоменклатура КАК АналитикаУчетаНоменклатурыНоменклатура,
    Период2.АналитикаУчетаНоменклатурыНоменклатура КАК АналитикаУчетаНоменклатурыНоменклатура1,
    Период1.КоличествоОборот1 КАК КоличествоОборот1,
    Период1.СуммаВыручкиОборот1 КАК СуммаВыручкиОборот1,
    Период1.СтоимостьОборот1 КАК СтоимостьОборот1,
    Период2.КоличествоОборот2 КАК КоличествоОборот2,
    Период2.СуммаВыручкиОборот2 КАК СуммаВыручкиОборот2,
    Период2.СтоимостьОборот2 КАК СтоимостьОборот2
ИЗ
    (ВЫБРАТЬ
        ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура КАК АналитикаУчетаНоменклатурыНоменклатура,
        СУММА(ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот) КАК КоличествоОборот1,
        СУММА(ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот) КАК СуммаВыручкиОборот1,
        СУММА(ВыручкаИСебестоимостьПродажОбороты.СтоимостьОборот) КАК СтоимостьОборот1
    ИЗ
        РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ), НАЧАЛОПЕРИОДА(&КонецПериода, ДЕНЬ), , ) КАК ВыручкаИСебестоимостьПродажОбороты
    
    СГРУППИРОВАТЬ ПО
        ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура) КАК Период1
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура КАК АналитикаУчетаНоменклатурыНоменклатура,
            СУММА(ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот) КАК КоличествоОборот2,
            СУММА(ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот) КАК СуммаВыручкиОборот2,
            СУММА(ВыручкаИСебестоимостьПродажОбороты.СтоимостьОборот) КАК СтоимостьОборот2
        ИЗ
            РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(НАЧАЛОПЕРИОДА(&НачалоПериода2, ДЕНЬ), НАЧАЛОПЕРИОДА(&КонецПериода2, ДЕНЬ), , ) КАК ВыручкаИСебестоимостьПродажОбороты
        
        СГРУППИРОВАТЬ ПО
            ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура) КАК Период2
        ПО Период1.АналитикаУчетаНоменклатурыНоменклатура = Период2.АналитикаУчетаНоменклатурыНоменклатура
3 PR
 
20.12.18
21:37
Используй НачалоПериода1, КонецПериода1 и НачалоПериода2, КонецПериода2
4 Aswed
 
20.12.18
21:44
(3) Офигеть! Прокатило! Почему такая херота входила?
5 Aswed
 
20.12.18
21:45
В первый раз вижу что бы от названия переменной зависел результат выполнения кода))))))))
6 PR
 
20.12.18
21:53
(5) Это не херота, салага :)))
Это предопределенные параметры, учи матчасть :))
7 PR
 
20.12.18
21:55
Предопределенные параметры НачалоПериода и КонецПериода используются в любых виртуальных таблицах оборотов и остатков и оборотов
Поэтому задавая их вроде как для одной таблицы по сути ты их задал для всех
8 Aswed
 
20.12.18
22:02
(7) Блин, не знал. Спасибо.
9 PR
 
20.12.18
22:05
(8) Да СКД вообще еще та тема, вагон всего
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший