Имя: Пароль:
1C
 
Запрос к регистрам оборотов
0 Likons
 
29.01.20
11:50
Добрый день , Коллеги )
Пожалуйста , помогите с написанием отчета. Использую СКД.
Есть два регистра накопления "Закупки" и "Продажи" необходимо вывести обороты этих регистров за период в разрезе каждого месяца таким образом :
строки - ГруппаТоваров
колонки - ОборотыЗакупок , ОборотыПродаж. Колонки должны быть группированы по месяцам.
Написал вот такой запрос :

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

СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Номенклатура.Родитель,
    ЗакупкиОбороты.КоличествоОборот,
    ПродажиОбороты.КоличествоОборот,
    ПродажиОбороты.Период

Но мой вариант возвращает некорректные итоги. Подскажите пожалуйста , что не так делаю ?(
1 hhhh
 
29.01.20
11:55
(0) ну вот тут хрень какая-то

       ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки.Обороты КАК ЗакупкиОбороты
        ПО ПродажиОбороты.Номенклатура = ЗакупкиОбороты.Номенклатура

нужно ведь соединять не только по номенклатуре, но и по месяцам
2 Ns33
 
29.01.20
11:58
На случай отсутствия группы в одном из регистров:
ЕстьNULL(ПродажиОбороты.Номенклатура.Родитель,ЗакупкиОбороты.Номенклатура.Родитель) КАК Группа
3 lexx256
 
29.01.20
12:00
Вместо соединения лучше воспользоваться объединением. Запрос будет оптимальнее.
4 Likons
 
29.01.20
12:52
(1) (2) (3) Всем большое спасибо за уделенное время ) (3) тебе отдельная благодарность , добрый человек , не знал как пользоваться объединением в СКД - загуглил , получилось )