Имя: Пароль:
1C
1С v8
Запрос по ценам на день документа
0 AnisaL
 
10.12.21
10:15
Добрый день!
Помогите пожалуйста с запросом. Вот есть запрос, он считает итоги по дням, так как стоит "День": РегистрНакопления.Продажи.Обороты(, , День, ). А как сделать, чтобы он итоги выдавал по месяцам, но при этом, чтобы цены брал по дням, т.е. на день документа? Когда я ставлю итоги "Месяц", то суммы считает не по дате документа, а с периодом в месяц.

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

УПОРЯДОЧИТЬ ПО
    ДокументНоменклатураПериод.Номенклатура.КатегорияНоменклатуры.Наименование,
    ДокументНоменклатураПериод.Номенклатура.Наименование,
    ДокументНоменклатураПериод.Период
ИТОГИ
    МАКСИМУМ(Контрагент),
    МАКСИМУМ(Документ),
    СУММА(КоличествоОборот),
    СУММА(Сумма)
ПО
    НоменклатураКатегорияНоменклатуры,
    Номенклатура,
    Период
1 AnisaL
 
10.12.21
10:19
Вот что получается этим запросом http://pics.rsh.ru/img/2021-12-10_wepm5qyq.jpg
2 vicof
 
10.12.21
10:19
А как сама думаешь?
3 AnisaL
 
10.12.21
10:21
(2) как я думаю, что всё-таки надо итоги по месяцам делать, а вот цену видно не правильно цепляет; может сначала сделать запрос к документам Расходная накладная?
4 Галахад
 
гуру
10.12.21
10:22
Так пойдет?

НачалоПериода(ДокументНоменклатураПериод.ПериодПродажиОбороты, Месяц) КАК Период
5 vicof
 
10.12.21
10:23
(3) Неправильно. У тебя данные уже получены. Тебе нужно просто перевести дни в месяцы.
6 СвинТуз
 
10.12.21
10:23
Это типовой вопрос при приеме на работу.
7 vicof
 
10.12.21
10:23
(4) Взял все обучение испортил)
8 СвинТуз
 
10.12.21
10:23
Почти один в один.
9 Галахад
 
гуру
10.12.21
10:23
(4) Что-то не то скопипастил.

НачалоПериода(ДокументНоменклатураПериод.Период, Месяц) КАК Период
10 Галахад
 
гуру
10.12.21
10:24
(7) Беда... :)
11 AnisaL
 
10.12.21
10:25
(5) ааа, точно! сейчас попробую
12 СвинТуз
 
10.12.21
10:26
(6) (0)
Возьми то что получаешь и присоедини цены на дату документа
13 СвинТуз
 
10.12.21
10:26
вот тут надо другую цену поставить

ЦеныНоменклатуры.Цена * ДокументНоменклатураПериод.КоличествоОборот КАК Сумма
14 СвинТуз
 
10.12.21
10:27
И тут месяц поставить

РегистрНакопления.Продажи.Обороты(, , День, )
15 AnisaL
 
10.12.21
10:27
(9) Урааа! Получилось! Спасибо всем за помощь )))