|
Объединение запросов в СКД | ☑ | ||
---|---|---|---|---|
0
Aswed
08.01.19
✎
22:24
|
Не понимаю что за ерунда происходит.
Делаю простейший запрос. Продажи по периодам с переводом штук в КГ. Формирую простейший запрос: ВЫБРАТЬ ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура КАК АналитикаУчетаНоменклатурыНоменклатура, СУММА(ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот * ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.ВесЧислитель) КАК КоличествоОборот1, СУММА(ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот) КАК СуммаВыручкиОборот1, СУММА(ВыручкаИСебестоимостьПродажОбороты.СтоимостьОборот) КАК СтоимостьОборот1 ПОМЕСТИТЬ Данные ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(НАЧАЛОПЕРИОДА(&НачалоПериода1, ДЕНЬ), НАЧАЛОПЕРИОДА(&КонецПериода1, ДЕНЬ), , ) КАК ВыручкаИСебестоимостьПродажОбороты СГРУППИРОВАТЬ ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Данные.АналитикаУчетаНоменклатурыНоменклатура КАК Номенклатура, Данные.СуммаВыручкиОборот1 КАК СуммаВыручкиОборот1, Данные.СтоимостьОборот1 КАК СтоимостьОборот1, Данные.КоличествоОборот1 КАК КоличествоОборот1 ИЗ Данные КАК Данные В нём как видно происходит умножение коэффициента веса на количество товара СУММА(ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот * ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.ВесЧислитель) КАК КоличествоОборот1, В отдельном запросе и отчёте в СКД всё отлично выводит и показывает верную цифру. Но как только делаю объединение запросов эта схема перестаёт работать и показывает просто количество проданных штук. Т.е. продали 188 штук по 0,7 кг. В одиночном запросе показывает 131,6, как оно и было. Но в объединённом всё равно показывает 188 Почему так выходит? |
|||
1
Franchiser
гуру
08.01.19
✎
22:38
|
Объединение каких запросов ?
|
|||
2
Aswed
08.01.19
✎
22:41
|
(1) Вот этих что в (0)
Там одинаковые запросы в СКД, отличаются только параметрами |
|||
3
Радим1987
08.01.19
✎
22:55
|
(1) Я так думаю не объединение запросов, а после помещения во временную таблицу "Данные" показывает просто количество проданных штук?
|
|||
4
Aswed
08.01.19
✎
23:00
|
(3) Нет. Вот в таком вот виде, с уже выводом из виртуальной таблицы, он всё верно показывает.
Но как только делаю объединение двух запросов, начинается эта чехорда |
|||
5
Радим1987
08.01.19
✎
23:07
|
пример объединения запросов
|
|||
6
mastodont
08.01.19
✎
23:08
|
(4) у тебя первый запрос помещает данные во временную таблицу, второй запрос берет данные из этой таблицы. Что ты объединяешь?
|
|||
7
Aswed
08.01.19
✎
23:25
|
Объединение запросов в СКД (!)
В СКД я объединяю два запроса))) |
|||
8
palsergeich
08.01.19
✎
23:30
|
1) Зачем 2ой запрос в пакете в принципе?
2) Зачем аггрегатная функкция в тексте 1го запроса? 3) ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура - таких вещей надо избегать. Основная ошибка - вы оперируете с СКД как с запросом. А надо работать с СКД как с СКД, там есть особенности, роли у полей и ТД |
|||
9
palsergeich
08.01.19
✎
23:32
|
ВЫБРАТЬ
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура КАК АналитикаУчетаНоменклатурыНоменклатура, (ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот * ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.ВесЧислитель) КАК КоличествоОборот1, (ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот) КАК СуммаВыручкиОборот1, (ВыручкаИСебестоимостьПродажОбороты.СтоимостьОборот) КАК СтоимостьОборот1 ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(НАЧАЛОПЕРИОДА(&НачалоПериода1, ДЕНЬ), НАЧАЛОПЕРИОДА(&КонецПериода1, ДЕНЬ), , ) КАК ВыручкаИСебестоимостьПродажОбороты Остальное сделать на уровне компановки. + вместо ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура соединить внутренним соединением с аналитикой учета и достать номенклатуру оттуда. |
|||
10
palsergeich
08.01.19
✎
23:37
|
https://www.spec8.ru/kurs-po-skd-besplatno вот этого для закрытия пробелов будет достаточно
|
|||
11
Aswed
09.01.19
✎
08:13
|
(8) Пакет там был потому что я этот запрос взял из куска кода обработки. Что она у меня делала уже и не помню) Но он верно работал и я не стал заморачиваться.
И всё дело оказалось именно в этих лишних виртуальных таблицах. Как только убрал их, так сразу всё стало верно выводить) |
|||
12
Aswed
09.01.19
✎
08:13
|
Всем спасибо)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |