|   |   | 
| 
 | Объединение запросов в СКД | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Всем спасибо)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |