Имя: Пароль:
1C
 
Некорректно работает объединение в запросе
0 Adept
 
20.04.17
21:26
Есть запрос

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

СГРУППИРОВАТЬ ПО
    ПодЗапрос.Товар,
    ПодЗапрос.Регистратор
ИТОГИ
    СУММА(КолНачОст),
    СУММА(СумНачОст),
    СУММА(КолПриход),
    СУММА(СумПриход),
    СУММА(Дооценка),
    СУММА(Уценка),
    СУММА(СумРасход),
    СУММА(КолРасход),
    СУММА(КолКонОст),
    СУММА(СумКонОст)
ПО
    ОБЩИЕ,
    Товар



Если из подзапросса удалить объединение, то в частности корректно отражается количество начальный остаток. С объединение результат не правильный, почему то меньше.

Что может быть?
1 Adept
 
20.04.17
21:27
<code>
ВЫБРАТЬ
    ПодЗапрос.Товар КАК Товар,
    ПодЗапрос.Регистратор КАК Регистратор,
    СУММА(ПодЗапрос.КолНачОст) КАК КолНачОст,
    СУММА(ПодЗапрос.СумНачОст) КАК СумНачОст,
    СУММА(ПодЗапрос.КолПриход) КАК КолПриход,
    СУММА(ПодЗапрос.СумПриход) КАК СумПриход,
    СУММА(ПодЗапрос.Дооценка) КАК Дооценка,
    СУММА(ПодЗапрос.Уценка) КАК Уценка,
    СУММА(ПодЗапрос.СумРасход) КАК СумРасход,
    СУММА(ПодЗапрос.КолРасход) КАК КолРасход,
    СУММА(ПодЗапрос.КолКонОст) КАК КолКонОст,
    СУММА(ПодЗапрос.СумКонОст) КАК СумКонОст
ИЗ
    (ВЫБРАТЬ
        ОстаткиОбороты.Товар КАК Товар,
        ОстаткиОбороты.КоличествоНачальныйОстаток КАК КолНачОст,
        ОстаткиОбороты.СтоимостьНачальныйОстаток КАК СумНачОст,
        ОстаткиОбороты.КоличествоПриход КАК КолПриход,
        ВЫБОР
            КОГДА ОстаткиОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваров
                ТОГДА ОстаткиОбороты.СтоимостьПриход
        КОНЕЦ КАК СумПриход,
        0 КАК Дооценка,
        0 КАК Уценка,
        ВЫБОР
            КОГДА ОстаткиОбороты.Регистратор ССЫЛКА Документ.Продажа
                ТОГДА ОстаткиОбороты.СтоимостьРасход
        КОНЕЦ КАК СумРасход,
        ОстаткиОбороты.КоличествоРасход КАК КолРасход,
        ОстаткиОбороты.КоличествоКонечныйОстаток КАК КолКонОст,
        ОстаткиОбороты.СтоимостьКонечныйОстаток КАК СумКонОст,
        ОстаткиОбороты.Регистратор КАК Регистратор
    ИЗ
        РегистрНакопления.СтоимостьТоваровВЦенахПродаж.ОстаткиИОбороты(
                &НачПериода,
                &КонПериода,
                Регистратор,
                ,
                Склад = &ВыбСклад
                    И (Товар.ГруппаТовара В ИЕРАРХИИ (&Группы)
                        ИЛИ &БезГрупп)
                    И (Товар.Бренд В (&Бренды)
                        ИЛИ &БезБрендов)) КАК ОстаткиОбороты
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        ДооценкиОбороты.Товар,
        0,
        0,
        0,
        0,
        ДооценкиОбороты.ДооценкаОборот,
        ДооценкиОбороты.УценкаОборот,
        0,
        0,
        0,
        0,
        ДооценкиОбороты.Регистратор
    ИЗ
        РегистрНакопления.Дооценки.Обороты(
                &НачПериода,
                &КонПериода,
                Регистратор,
                Склад = &ВыбСклад
                    И (Товар.ГруппаТовара В ИЕРАРХИИ (&Группы)
                        ИЛИ &БезГрупп)
                    И (Товар.Бренд В (&Бренды)
                        ИЛИ &БезБрендов)) КАК ДооценкиОбороты) КАК ПодЗапрос

СГРУППИРОВАТЬ ПО
    ПодЗапрос.Товар,
    ПодЗапрос.Регистратор
ИТОГИ
    СУММА(КолНачОст),
    СУММА(СумНачОст),
    СУММА(КолПриход),
    СУММА(СумПриход),
    СУММА(Дооценка),
    СУММА(Уценка),
    СУММА(СумРасход),
    СУММА(КолРасход),
    СУММА(КолКонОст),
    СУММА(СумКонОст)
ПО
    ОБЩИЕ,
    Товар


</code>
2 Adept
 
20.04.17
21:27
Как то тег кода не отрабатывает ...
3 Мимохожий Однако
 
20.04.17
21:34
В чём некорректность? Нулевые значения обработал?
4 Adept
 
20.04.17
21:36
без объединение количество начальный остаток 46 000 что правильно, с объединением 41 000 ...
5 Adept
 
20.04.17
21:40
при том что количество во втором запросе не участвует, просто стоит 0
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший