Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 дек 2024, 12:30

Как объединить 3 запроса и поместить во временную таблицу

Автор Sonik, 23 мая 2019, 09:26

0 Пользователей и 1 гость просматривают эту тему.

Sonik

Два запроса объединил без проблем и в первом перед ИЗ написал Поместить Название временной таблицы. Теперь не могу объединить 3 запроса и также поместить во временную таблицу(( Результат-Пустое поле. Подскажите как правильно это сделать? 

SGIRG

Пишите Ваш запрос сюда, где-то ошибка. Объединение двух запросов ровно такое же по принципу как и трех, и более...

Sonik

Цитата: SGIRG от 23 мая 2019, 10:22
Пишите Ваш запрос сюда, где-то ошибка. Объединение двух запросов ровно такое же по принципу как и трех, и более...
Разобрался! В другой консоли запросов все работает, только теперь не пойму почему суммы все 0((
ВЫБРАТЬ 
Выбор
КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто2) = ТИП(Справочник.Склады)
ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто2
КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто3) = ТИП(Справочник.Склады)
ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто3
        ИНАЧЕ NULL
КОНЕЦ КАК Склад,
        ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Номенклатура,
ХозрасчетныйОстаткиИОбороты.Субконто1.Код КАК Код,
    ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
ХозрасчетныйОстаткиИОбороты.Субконто1.ЕдиницаИзмерения КАК ЕдИзм,
0 КАК  КоличествоНачальныйОстаток,
ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокДт КАК КоличествоНачальныйОстатокПоНоменклатуре,
ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт КАК СуммаНачальныйОстатокПоНоменклатуре,
0 КАК КоличествоПриход,
ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт КАК КоличествоПриходПоНоменклатуре,
ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК СуммаПриходПоНоменклатуре,
0 КАК КоличествоРасход,
ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт КАК КоличествоРасходПоНоменклатуре,
ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК СуммаРасходПоНоменклатуре,
0 КАК  КоличествоКонечныйОстаток,
ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокДт КАК КоличествоКонечныйОстатокПоНоменклатуре,
    ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт КАК СуммаКонечныйОстатокПоНоменклатуре
    ПОМЕСТИТЬ ВТ_Товары
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода,регистратор , , Счет В ИЕРАРХИИ (&Счет),
, ) КАК ХозрасчетныйОстаткиИОбороты
ГДЕ
ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Регистратор)<>ТИП(Документ.ПеремещениеТоваров)
    и   ХозрасчетныйОстаткиИОбороты.Регистратор.дата между &НачалоПериода и &КонецПериода
   
 
//////////////////////////////////////////////////////////////////////////////////////////
         Объединить  все
ВЫБРАТЬ
           Выбор
        КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто2) = ТИП(Справочник.Склады)
ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто2
КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто3) = ТИП(Справочник.Склады)
ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто3
        ИНАЧЕ NULL
КОНЕЦ КАК Склад,
        ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Номенклатура,
ХозрасчетныйОстаткиИОбороты.Субконто1.Код КАК Код,
    ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
ХозрасчетныйОстаткиИОбороты.Субконто1.ЕдиницаИзмерения КАК ЕдИзм,
ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокДт КАК КоличествоНачальныйОстаток,
0 КАК КоличествоНачальныйОстатокПоНоменклатуре,
0 КАК СуммаНачальныйОстатокПоНоменклатуре,
ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт КАК КоличествоПриход,
0 КАК КоличествоПриходПоНоменклатуре,
0 КАК СуммаПриходПоНоменклатуре,
ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт КАК КоличествоРасход,
0 КАК КоличествоРасходПоНоменклатуре,
0 КАК СуммаРасходПоНоменклатуре,
ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокДт КАК КоличествоКонечныйОстаток,
0 КАК КоличествоКонечныйОстатокПоНоменклатуре,
0 КАК СуммаКонечныйОстатокПоНоменклатуре
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Счет В ИЕРАРХИИ (&Счет),
, ) КАК ХозрасчетныйОстаткиИОбороты
ГДЕ

    ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто2) = ТИП(Справочник.Склады)
ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто2
КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто3) = ТИП(Справочник.Склады)
ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто3
ИНАЧЕ NULL
КОНЕЦ = &Склад;
/////////////////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
ХозрасчетныйОстаткиИОбороты.Номенклатура КАК Номенклатура,
ХозрасчетныйОстаткиИОбороты.Код КАК Код,
ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
ХозрасчетныйОстаткиИОбороты.Номенклатура.ЕдиницаИзмерения КАК ЕдИзм,
        СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
СУММА(ВЫБОР
КОГДА ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокПоНоменклатуре = 0
ТОГДА 0
ИНАЧЕ ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстаток* (ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокПоНоменклатуре / ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокПоНоменклатуре) КОНЕЦ) КАК СуммаНачальныйОстаток,
СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход,
СУММА(ВЫБОР
    КОГДА ХозрасчетныйОстаткиИОбороты.КоличествоПриходПоНоменклатуре = 0
    ТОГДА 0
ИНАЧЕ ХозрасчетныйОстаткиИОбороты.КоличествоПриход* (ХозрасчетныйОстаткиИОбороты.СуммаПриходПоНоменклатуре / ХозрасчетныйОстаткиИОбороты.КоличествоПриходПоНоменклатуре) КОНЕЦ) КАК СуммаПриход,
СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход,
СУММА(ВЫБОР
    КОГДА ХозрасчетныйОстаткиИОбороты.КоличествоРасходПоНоменклатуре = 0
    ТОГДА 0
ИНАЧЕ ХозрасчетныйОстаткиИОбороты.КоличествоРасход* (ХозрасчетныйОстаткиИОбороты.СуммаРасходПоНоменклатуре /ХозрасчетныйОстаткиИОбороты.КоличествоРасходПоНоменклатуре) КОНЕЦ) КАК СуммаРасход,
СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
СУММА(ВЫБОР
    КОГДА ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокПоНоменклатуре = 0
    ТОГДА 0
ИНАЧЕ ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток* (ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокПоНоменклатуре / ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокПоНоменклатуре) КОНЕЦ) КАК СуммаКонечныйОстаток
          ИЗ  ВТ_Товары  КАК  ХозрасчетныйОстаткиИОбороты
СГРУППИРОВАТЬ ПО
            ХозрасчетныйОстаткиИОбороты.Номенклатура,
            ХозрасчетныйОстаткиИОбороты.Код,
ХозрасчетныйОстаткиИОбороты.Счет,
ХозрасчетныйОстаткиИОбороты.Номенклатура.ЕдиницаИзмерения
УПОРЯДОЧИТЬ ПО
Номенклатура,
Счет
ИТОГИ
МАКСИМУМ(Номенклатура),
МАКСИМУМ(Код),
МАКСИМУМ(Счет),
МАКСИМУМ(ЕдИзм),
СУММА(КоличествоНачальныйОстаток),
СУММА(СуммаНачальныйОстаток),
СУММА(КоличествоПриход),
СУММА(СуммаПриход),
СУММА(КоличествоРасход),
СУММА(СуммаРасход)
ПО
ОБЩИЕ,
Код
АВТОУПОРЯДОЧИВАНИЕ;

SGIRG

Что-то для моего понимания запрос кажется бессмысленным, но причину образования нулей могу Вам объяснить:
СУММА(ВЫБОР
КОГДА ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокПоНоменклатуре = 0
ТОГДА 0
ИНАЧЕ ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстаток * (ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокПоНоменклатуре / ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокПоНоменклатуре)
КОНЕЦ) КАК СуммаНачальныйОстаток,

В первой части первого пакета запроса у Вас всегда КоличествоНачальныйОстаток = 0 и во втором пакете выполняется часть кода в "ИНАЧЕ" (а там как видно умножение на ноль);
Во второй части первого пакета запроса КоличествоНачальныйОстатокПоНоменклатуре = 0 и во втором пакете выполнятеся часть кода "КОГДА"
Надеюсь поняли, о чем я.

Sonik

Спасибо, разобрался, пришлось еще одну временную таблицу сделать, в которой все сгруппировать перед финальным запросом. Только итоговая сумма верна, а в таблице все строчки по 2 раза... Это как исправить?

SGIRG

По две строки было в первой части первого пакета запроса, но потом фильтр по дате регистратора их отрезал, т.к. оставались только строки с движениями. Сейчас не могу сказать причину, т.к. не вижу запроса

Sonik

ВЫБРАТЬ 
Выбор
КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто2) = ТИП(Справочник.Склады)
ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто2
КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто3) = ТИП(Справочник.Склады)
ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто3
        ИНАЧЕ NULL
КОНЕЦ КАК Склад,
        ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Номенклатура,
ХозрасчетныйОстаткиИОбороты.Субконто1.Код КАК Код,
    ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
ХозрасчетныйОстаткиИОбороты.Субконто1.ЕдиницаИзмерения КАК ЕдИзм,
0  КАК КоличествоНачальныйОстаток,
0  КАК КоличествоНачальныйОстатокПоНоменклатуре,
0  КАК СуммаНачальныйОстатокПоНоменклатуре,
0  КАК КоличествоПриход,
ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт КАК КоличествоПриходПоНоменклатуре,
ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК СуммаПриходПоНоменклатуре,
0  КАК КоличествоРасход,
ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт КАК КоличествоРасходПоНоменклатуре,
ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК СуммаРасходПоНоменклатуре,
0  КАК КоличествоКонечныйОстаток,
0  КАК КоличествоКонечныйОстатокПоНоменклатуре,
    0  КАК СуммаКонечныйОстатокПоНоменклатуре
    ПОМЕСТИТЬ ВТ_Товары
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода,регистратор , , Счет В ИЕРАРХИИ (&Счет),
, ) КАК ХозрасчетныйОстаткиИОбороты
ГДЕ
ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Регистратор)<>ТИП(Документ.ПеремещениеТоваров)
    и   ХозрасчетныйОстаткиИОбороты.Регистратор.дата между &НачалоПериода и &КонецПериода
//////////////////////////////////////////////////////////////////////////////////////////
Объединить все

ВЫБРАТЬ 
Выбор
КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто2) = ТИП(Справочник.Склады)
ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто2
КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто3) = ТИП(Справочник.Склады)
ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто3
        ИНАЧЕ NULL
КОНЕЦ КАК Склад,
        ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Номенклатура,
ХозрасчетныйОстаткиИОбороты.Субконто1.Код КАК Код,
    ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
ХозрасчетныйОстаткиИОбороты.Субконто1.ЕдиницаИзмерения КАК ЕдИзм,
0  КАК  КоличествоНачальныйОстаток,
ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокДт КАК КоличествоНачальныйОстатокПоНоменклатуре,
ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт КАК СуммаНачальныйОстатокПоНоменклатуре,
0  КАК КоличествоПриход,
0  КАК КоличествоПриходПоНоменклатуре,
0  КАК СуммаПриходПоНоменклатуре,
0  КАК КоличествоРасход,
0  КАК КоличествоРасходПоНоменклатуре,
0  КАК СуммаРасходПоНоменклатуре,
0  КАК  КоличествоКонечныйОстаток,
ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокДт КАК КоличествоКонечныйОстатокПоНоменклатуре,
    ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт КАК СуммаКонечныйОстатокПоНоменклатуре
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Счет В ИЕРАРХИИ (&Счет),
, ) КАК ХозрасчетныйОстаткиИОбороты
 
//////////////////////////////////////////////////////////////////////////////////////////
         Объединить  все
ВЫБРАТЬ
           Выбор
        КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто2) = ТИП(Справочник.Склады)
ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто2
КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто3) = ТИП(Справочник.Склады)
ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто3
        ИНАЧЕ NULL
КОНЕЦ КАК Склад,
        ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Номенклатура,
ХозрасчетныйОстаткиИОбороты.Субконто1.Код КАК Код,
    ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
ХозрасчетныйОстаткиИОбороты.Субконто1.ЕдиницаИзмерения КАК ЕдИзм,
ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокДт КАК КоличествоНачальныйОстаток,
0 КАК КоличествоНачальныйОстатокПоНоменклатуре,
0 КАК СуммаНачальныйОстатокПоНоменклатуре,
ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт КАК КоличествоПриход,
0 КАК КоличествоПриходПоНоменклатуре,
0 КАК СуммаПриходПоНоменклатуре,
ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт КАК КоличествоРасход,
0 КАК КоличествоРасходПоНоменклатуре,
0 КАК СуммаРасходПоНоменклатуре,
ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокДт КАК КоличествоКонечныйОстаток,
0 КАК КоличествоКонечныйОстатокПоНоменклатуре,
0 КАК СуммаКонечныйОстатокПоНоменклатуре
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Счет В ИЕРАРХИИ (&Счет),
, ) КАК ХозрасчетныйОстаткиИОбороты
ГДЕ

    ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто2) = ТИП(Справочник.Склады)
ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто2
КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто3) = ТИП(Справочник.Склады)
ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто3
ИНАЧЕ NULL
КОНЕЦ = &Склад
СГРУППИРОВАТЬ ПО
           ХозрасчетныйОстаткиИОбороты.Субконто1 ,
           ХозрасчетныйОстаткиИОбороты.Субконто2,
           ХозрасчетныйОстаткиИОбороты.Субконто3,
ХозрасчетныйОстаткиИОбороты.Субконто1.Код ,
    ХозрасчетныйОстаткиИОбороты.Счет ,
ХозрасчетныйОстаткиИОбороты.Субконто1.ЕдиницаИзмерения,
ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокДт,
ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт,
ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт,
ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт,
ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокДт  ;
/////////////////////////////////////////////////////////////////////////////////////////////

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

СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход,

СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход,

СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток

          ПОМЕСТИТЬ ВТ_Товары2
          ИЗ  ВТ_Товары  КАК  ХозрасчетныйОстаткиИОбороты
СГРУППИРОВАТЬ ПО
            ХозрасчетныйОстаткиИОбороты.Номенклатура,
            ХозрасчетныйОстаткиИОбороты.Код,
ХозрасчетныйОстаткиИОбороты.Счет,
ХозрасчетныйОстаткиИОбороты.Номенклатура.ЕдиницаИзмерения; 

////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
        СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокПоНоменклатуре)как КоличествоНачальныйОстатокПоНоменклатуре,
    СУММА(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокПоНоменклатуре) как СуммаНачальныйОстатокПоНоменклатуре,
    СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоПриходПоНоменклатуре) как КоличествоПриходПоНоменклатуре,
            СУММА(ХозрасчетныйОстаткиИОбороты.СуммаПриходПоНоменклатуре) как СуммаПриходПоНоменклатуре,
            СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоРасходПоНоменклатуре) как КоличествоРасходПоНоменклатуре,
            СУММА(ХозрасчетныйОстаткиИОбороты.СуммаРасходПоНоменклатуре) как СуммаРасходПоНоменклатуре,
            СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокПоНоменклатуре) как КоличествоКонечныйОстатокПоНоменклатуре,
            СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокПоНоменклатуре) как СуммаКонечныйОстатокПоНоменклатуре,
ХозрасчетныйОстаткиИОбороты.Номенклатура КАК Номенклатура,
ХозрасчетныйОстаткиИОбороты.Код КАК Код,
ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
ХозрасчетныйОстаткиИОбороты.Номенклатура.ЕдиницаИзмерения КАК ЕдИзм,
        СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
СУММА(ВЫБОР
КОГДА ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокПоНоменклатуре = 0
ТОГДА 0
ИНАЧЕ ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстаток* (ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокПоНоменклатуре / ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокПоНоменклатуре) КОНЕЦ) КАК СуммаНачальныйОстаток,
СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход,
СУММА(ВЫБОР
    КОГДА ХозрасчетныйОстаткиИОбороты.КоличествоПриходПоНоменклатуре = 0
    ТОГДА 0
ИНАЧЕ ХозрасчетныйОстаткиИОбороты.КоличествоПриход* (ХозрасчетныйОстаткиИОбороты.СуммаПриходПоНоменклатуре / ХозрасчетныйОстаткиИОбороты.КоличествоПриходПоНоменклатуре) КОНЕЦ) КАК СуммаПриход,
СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход,
СУММА(ВЫБОР
    КОГДА ХозрасчетныйОстаткиИОбороты.КоличествоРасходПоНоменклатуре = 0
    ТОГДА 0
ИНАЧЕ ХозрасчетныйОстаткиИОбороты.КоличествоРасход* (ХозрасчетныйОстаткиИОбороты.СуммаРасходПоНоменклатуре /ХозрасчетныйОстаткиИОбороты.КоличествоРасходПоНоменклатуре) КОНЕЦ) КАК СуммаРасход,
СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
СУММА(ВЫБОР
    КОГДА ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокПоНоменклатуре = 0
    ТОГДА 0
ИНАЧЕ ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток* (ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокПоНоменклатуре / ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокПоНоменклатуре) КОНЕЦ) КАК СуммаКонечныйОстаток
          ИЗ  ВТ_Товары2  КАК  ХозрасчетныйОстаткиИОбороты
СГРУППИРОВАТЬ ПО
            ХозрасчетныйОстаткиИОбороты.Номенклатура,
            ХозрасчетныйОстаткиИОбороты.Код,
ХозрасчетныйОстаткиИОбороты.Счет,
ХозрасчетныйОстаткиИОбороты.Номенклатура.ЕдиницаИзмерения 
УПОРЯДОЧИТЬ ПО
Номенклатура,
Счет
ИТОГИ
МАКСИМУМ(Номенклатура),
МАКСИМУМ(Счет),
МАКСИМУМ(ЕдИзм),
СУММА(КоличествоНачальныйОстаток),
СУММА(СуммаНачальныйОстаток),
СУММА(КоличествоПриход),
СУММА(СуммаПриход),
СУММА(КоличествоРасход),
СУММА(СуммаРасход),
СУММА(КоличествоКонечныйОстаток),
СУММА(СуммаКонечныйОстаток),
СУММА(КоличествоНачальныйОстатокПоНоменклатуре),
СУММА(СуммаНачальныйОстатокПоНоменклатуре),
СУММА(КоличествоПриходПоНоменклатуре),
СУММА(СуммаПриходПоНоменклатуре),
СУММА(КоличествоРасходПоНоменклатуре),
СУММА(СуммаРасходПоНоменклатуре),
СУММА(КоличествоКонечныйОстатокПоНоменклатуре),
СУММА(СуммаКонечныйОстатокПоНоменклатуре)
ПО
ОБЩИЕ,
Код
АВТОУПОРЯДОЧИВАНИЕ

SGIRG

ПО
    ОБЩИЕ,
    Код

Так у Вас же итоги по коду отражаются. Первая строка это итоговая по значению ячейки "Код", вторая строка это детальные записи.

В первом пакете запросов в первом подзапросе Вы получаете исключительно обороты с фильтром по типу регистратора, а для этого не нужно использовать виртуальную таблицу "ОстаткиИОбороты". Используйте таблицу "ОборотыДтКт"

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск