Имя: Пароль:
1C
1С v8
Среднее и сумма в итогах запроса. Как сделать ? Подскажите.
0 Румата
 
31.10.17
08:06
Переделываю стандартный отчет в УТ 10.3 "Анализ оборачиваемости товаров". Попросили добавить в конец отчета две колонки "Конечный остаток количество" и "Конечный остаток себестоимость" из регистра "Партии товаров на складах". В отчете идет выборка по периодам. Я к первоначальному запросу левым соединением к итоговому запросу присоединил регистр "ПартииТоваровНаСкладахОстатки". И т.к. периодов несколько в итогах поставил СРЕДНЕЕ(КоличествоКонечныйОстаток) и СРЕДНЕЕ(СтоимостьКонечныйОстаток). Все хорошо вычисляет, но в итоги по группе номенклатуры тоже идет Среднее, а мне надо что там была сумма по всем номенклатурным позициям, входящим в эту группу. Такое возможно сделать ?

Вот текст запроса :

ТекстЗапроса =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ВложенныйЗапрос.СтатусТоваров,
    |    ВложенныйЗапрос.Склад,
    |    ВложенныйЗапрос.Номенклатура,
    |    ВложенныйЗапрос.ХарактеристикаНоменклатуры,
    |    ВложенныйЗапрос.Период,
    |    ВложенныйЗапрос.НачальныйОстаток КАК НачальныйОстаток,
    |    ВложенныйЗапрос.КонечныйОстаток КАК КонечныйОстаток,
    |    ВложенныйЗапрос.Расход КАК Расход,
    |    ПартииТоваровНаСкладахОстатки.КоличествоОстаток КАК КоличествоКонечныйОстаток,
    |    ПартииТоваровНаСкладахОстатки.СтоимостьОстаток КАК СтоимостьКонечныйОстаток
    |{ВЫБРАТЬ
    |    Склад.*,
    |    Номенклатура.*,
    |    ХарактеристикаНоменклатуры.*}
    |ИЗ
    |    (ВЫБРАТЬ
    |        ""Товары на складах"" КАК СтатусТоваров,
    |        ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад,
    |        ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
    |        ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    |        ПартииТоваровНаСкладахОстаткиИОбороты.Период КАК Период,
    |        ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачальныйОстаток,
    |        ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток,
    |        0 КАК Расход
    |    ИЗ
    |        РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Месяц, , {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ПартииТоваровНаСкладахОстаткиИОбороты
    |    ГДЕ
    |        (&ВсеТовары = ИСТИНА
    |                ИЛИ &ТоварыНаСкладах = ИСТИНА)
    |    {ГДЕ
    |        ПартииТоваровНаСкладахОстаткиИОбороты.Склад.* КАК Склад,
    |        ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.* КАК Номенклатура,
    |        ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры}
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        ""Товары на складах"",
    |        ПартииТоваровНаСкладах.Склад,
    |        ПартииТоваровНаСкладах.Номенклатура,
    |        ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры,
    |        NULL,
    |        0,
    |        0,
    |        ПартииТоваровНаСкладах.Количество
    |    ИЗ
    |        РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
    |    ГДЕ
    |        (&ВсеТовары = ИСТИНА
    |                ИЛИ &ТоварыНаСкладах = ИСТИНА)
    |        И ПартииТоваровНаСкладах.КодОперации В(&КодОперации)
    |        И ПартииТоваровНаСкладах.Период >= &ДатаНачала
    |        И ПартииТоваровНаСкладах.Период <= &ДатаКонца
    |        И ВЫБОР
    |                КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
    |                    ТОГДА ВЫБОР
    |                            КОГДА ПартииТоваровНаСкладах.Регистратор.Контрагент В ИЕРАРХИИ (&СобственныеКонтрагенты)
    |                                ТОГДА ЛОЖЬ
    |                            ИНАЧЕ ИСТИНА
    |                        КОНЕЦ
    |                ИНАЧЕ ИСТИНА
    |            КОНЕЦ
    |    {ГДЕ
    |        ПартииТоваровНаСкладах.Склад.* КАК Склад,
    |        ПартииТоваровНаСкладах.Номенклатура.* КАК Номенклатура,
    |        ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры}
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        ""Товары у комиссионеров"",
    |        ПартииТоваровПереданныеОстаткиИОбороты.ДоговорКонтрагента.Владелец,
    |        ПартииТоваровПереданныеОстаткиИОбороты.Номенклатура,
    |        ПартииТоваровПереданныеОстаткиИОбороты.ХарактеристикаНоменклатуры,
    |        ПартииТоваровПереданныеОстаткиИОбороты.Период,
    |        ПартииТоваровПереданныеОстаткиИОбороты.КоличествоНачальныйОстаток,
    |        ПартииТоваровПереданныеОстаткиИОбороты.КоличествоКонечныйОстаток,
    |        0
    |    ИЗ
    |        РегистрНакопления.ПартииТоваровПереданные.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Месяц, , {(ДоговорКонтрагента.Владелец).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ПартииТоваровПереданныеОстаткиИОбороты
    |    ГДЕ
    |        (&ВсеТовары = ИСТИНА
    |                ИЛИ &ТоварыУКомиссионеров = ИСТИНА)
    |    {ГДЕ
    |        ПартииТоваровПереданныеОстаткиИОбороты.ДоговорКонтрагента.Владелец.* КАК Комиссионер,
    |        ПартииТоваровПереданныеОстаткиИОбороты.Номенклатура.* КАК Номенклатура,
    |        ПартииТоваровПереданныеОстаткиИОбороты.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры}
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        ""Товары у комиссионеров"",
    |        ПартииТоваровПереданные.ДоговорКонтрагента.Владелец,
    |        ПартииТоваровПереданные.Номенклатура,
    |        ПартииТоваровПереданные.ХарактеристикаНоменклатуры,
    |        NULL,
    |        0,
    |        0,
    |        ПартииТоваровПереданные.Количество
    |    ИЗ
    |        РегистрНакопления.ПартииТоваровПереданные КАК ПартииТоваровПереданные
    |    ГДЕ
    |        (&ВсеТовары = ИСТИНА
    |                ИЛИ &ТоварыУКомиссионеров = ИСТИНА)
    |        И ПартииТоваровПереданные.КодОперации = &КодОперацииРеализацияКомиссия
    |        И ПартииТоваровПереданные.Период >= &ДатаНачала
    |        И ПартииТоваровПереданные.Период <= &ДатаКонца
    |    {ГДЕ
    |        ПартииТоваровПереданные.ДоговорКонтрагента.Владелец.* КАК Комиссионер,
    |        ПартииТоваровПереданные.Номенклатура.* КАК Номенклатура,
    |        ПартииТоваровПереданные.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры}) КАК ВложенныйЗапрос
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&ДатаКонца, ) КАК ПартииТоваровНаСкладахОстатки
    |        ПО ВложенныйЗапрос.Номенклатура = ПартииТоваровНаСкладахОстатки.Номенклатура
    |            И ВложенныйЗапрос.Склад = ПартииТоваровНаСкладахОстатки.Склад
    |            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ПартииТоваровНаСкладахОстатки.ХарактеристикаНоменклатуры
    |{ГДЕ
    |    ВложенныйЗапрос.Склад.* КАК Склад,
    |    ВложенныйЗапрос.Номенклатура.* КАК Номенклатура,
    |    ВложенныйЗапрос.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры}
    |{УПОРЯДОЧИТЬ ПО
    |    Склад.*,
    |    Номенклатура.*,
    |    ХарактеристикаНоменклатуры.*}
    |ИТОГИ
    |    СУММА(НачальныйОстаток),
    |    СУММА(КонечныйОстаток),
    |    СУММА(Расход),
    |    СРЕДНЕЕ(КоличествоКонечныйОстаток),
    |    СРЕДНЕЕ(СтоимостьКонечныйОстаток)
    |ПО
    |    ОБЩИЕ
    |{ИТОГИ ПО
    |    СтатусТоваров,
    |    Склад.*,
    |    Номенклатура.*,
    |    ХарактеристикаНоменклатуры.*}";
1 vicof
 
31.10.17
08:22
Перейти на СКД и
ВычислитьВыражениеСгруппировкойМассив
2 Румата
 
31.10.17
08:30
Переходить на СКД не предлагать ;)
3 Antony8x
 
31.10.17
08:55
(2) Тогда поправить при выводе в табличный документ
Основная теорема систематики: Новые системы плодят новые проблемы.