Имя: Пароль:
1C
1С v8
объединение запросов
0 shadow_sw
 
21.10.16
11:43
Доброго времени суток!
Имеем УТ10.3

Нестандартный РН http://prnt.sc/cx0dgg
Контракт - Справочник.НоменклатурныеГруппы
КаналСбыта - Справочник.КаналСбыта

Стандартный РН ПродажиОбороты

Делаю запрос с полями Контракт/КаналСбыта/План/Факт

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

Получаю - http://prntscr.com/cx0gvx

данные после объединения, Факт к примеру, в каждой из строк выдает итоги которые должны быть в целом

Подскажите как поправить запрос, спасибо
1 Ёпрст
 
21.10.16
11:52
(0) И где тут Объединение ?
2 shadow_sw
 
21.10.16
11:53
(1) соединение, ошибся в формулировке, прошу прощения
3 Ёпрст
 
21.10.16
11:54
Хз, че те там надо, для начала так

ЕстьNull(ПродажиОбороты.СтоимостьОборот ,0) КАК Факт,
4 Альбатрос
 
21.10.16
11:56
А какие могут быть итоги у факта для канала сбыта?
5 Одинесю
 
21.10.16
11:56
Нарисуй как надо тебе?
6 shadow_sw
 
21.10.16
11:58
Поясню:
1. Запрос для плана

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

2. Запрос Факт

ВЫБРАТЬ
    ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа КАК Контракт,
    ПродажиОбороты.Контрагент.КаналСбыта КАК КаналСбыта,
    ПродажиОбороты.СтоимостьОборот КАК Факт
ИЗ
    РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, , ) КАК ПродажиОбороты
ИТОГИ
    СУММА(Факт)
ПО
    Контракт,
    КаналСбыта
7 Ёпрст
 
21.10.16
11:59
(6)
тогда см (3) +

ПО ПланыПродажПоКаналамСбытаОбороты.Контракт = ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа
И ПродажиОбороты.Контрагент.КаналСбыта =  ПланыПродажПоКаналамСбытаОбороты.КаналСбыт

наслаждайся
8 shadow_sw
 
21.10.16
12:05
(7) Делал так, Факт имеем правильный, План разъезжается

http://prntscr.com/cx0u7p


результат из запроса план такой
http://prntscr.com/cx0umc
9 shadow_sw
 
21.10.16
12:10
(8)+

ВЫБРАТЬ
    ПланыПродажПоКаналамСбытаОбороты.Контракт КАК Контракт,
    ПланыПродажПоКаналамСбытаОбороты.КаналСбыта КАК КаналСбыта,
    ПланыПродажПоКаналамСбытаОбороты.СуммаОборот КАК План,
    ЕСТЬNULL(ПродажиОбороты.СтоимостьОборот, 0) КАК Факт
ИЗ
    РегистрНакопления.ПланыПродажПоКаналамСбыта.Обороты(&ДатаНач, &ДатаКон, , ) КАК ПланыПродажПоКаналамСбытаОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, , ) КАК ПродажиОбороты
        ПО ПланыПродажПоКаналамСбытаОбороты.Контракт = ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа
            И ПланыПродажПоКаналамСбытаОбороты.КаналСбыта = ПродажиОбороты.Контрагент.КаналСбыта
ИТОГИ
    СУММА(План),
    СУММА(Факт)
ПО
    Контракт,
    КаналСбыта
10 Ёпрст
 
21.10.16
12:10
да ё..
делай через Объеденить всё  и не мучайся.
11 Ёпрст
 
21.10.16
12:10
выкини своё левое соединение
12 Ёпрст
 
21.10.16
12:10
будет, как тебе надо
13 shadow_sw
 
21.10.16
12:17
(12) Спасибо за участие, хотел сделать покрасивее :))

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

Вот верный результат :) Все-таки ОБЪЕДИНЕНИЕ :))
14 newbling
 
21.10.16
12:18
Чем левое соединение красивее объединения
15 shadow_sw
 
21.10.16
12:18
компактнее что ль
2 + 2 = 3.9999999999999999999999999999999...