Имя: Пароль:
1C
1С v8
Запрос на основании двух регистров накопления
0 Pyryrym
 
24.09.20
18:36
Есть регистр ВыручкаИСебестоимостьПродаж и ЗаказыКлиентов откуда мне надо выбрать сумму выручки и заказов группируя по периоду, менеджеру и подразделению. Я написал следующий запросы -

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




ВЫБРАТЬ
    ЗаказыКлиентовОбороты.Период КАК Период,
    ЗаказыКлиентовОбороты.ЗаказКлиента.Менеджер КАК ЗаказКлиентаМенеджер,
    ЗаказыКлиентовОбороты.ЗаказКлиента.Подразделение КАК ЗаказКлиентаПодразделение,
    ЗаказыКлиентовОбороты.СуммаПриход КАК СуммаПриход,
    ЗаказыКлиентовОбороты.ЗаказКлиента КАК ЗаказКлиента
ИЗ
    РегистрНакопления.ЗаказыКлиентов.Обороты(, , Месяц, ) КАК ЗаказыКлиентовОбороты

каждый из которых работает как надо, однако при попытке получить связанный запрос, выводится не то - дублируются суммы, выводятся несолько одинаковых сумм и неправильно показываются документы-расшифровки



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



Прообовал также внешнее соединение, однако итог не сильно поменялся
1 breezee
 
24.09.20
18:41
(0) Поробуйте поместить 1 и 2 запрос во временные таблицы и соединить их. Так же попробуйте выбирать Первые из регитров или доавить отборы. Проанализируйте таблицы. Вам не зачем соединяться по периоду
2 RomanYS
 
24.09.20
18:42
(0) В такой ситуации лучше ОБЪЕДИНИТЬ с последующей группировкой
3 Pyryrym
 
25.09.20
16:12
(1) (2) Спасибо большое