Запрос по Валовой прибыли в УТ 10.3

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    СУММА(ТаблицаРегистра.КоличествоОборот) КАК Количество,
    СУММА(ТаблицаРегистра.КоличествоОборот * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоБазовыхЕд,
    СУММА(ТаблицаРегистра.СтоимостьОборот) КАК Стоимость,
    СУММА(ВЫБОР
            КОГДА ЕСТЬNULL(ТаблицаРегистраСебестоимость.КоличествоОборот, 0) = 0
                ТОГДА 0
            ИНАЧЕ ЕСТЬNULL(ТаблицаРегистраСебестоимость.СтоимостьОборот, 0) / ТаблицаРегистраСебестоимость.КоличествоОборот * ТаблицаРегистра.КоличествоОборот
        КОНЕЦ) КАК Себестоимость,
    СУММА(ТаблицаРегистра.СтоимостьОборот - ВЫБОР
            КОГДА ЕСТЬNULL(ТаблицаРегистраСебестоимость.КоличествоОборот, 0) = 0
                ТОГДА 0
            ИНАЧЕ ЕСТЬNULL(ТаблицаРегистраСебестоимость.СтоимостьОборот, 0) / ТаблицаРегистраСебестоимость.КоличествоОборот * ТаблицаРегистра.КоличествоОборот
        КОНЕЦ) КАК ВаловаяПрибыль,
    ВЫРАЗИТЬ(ВЫБОР
            КОГДА СУММА(ТаблицаРегистра.СтоимостьОборот) <> 0
                ТОГДА 100 * (СУММА(ТаблицаРегистра.СтоимостьОборот) - СУММА(ВЫБОР
                            КОГДА ЕСТЬNULL(ТаблицаРегистраСебестоимость.КоличествоОборот, 0) = 0
                                ТОГДА 0
                            ИНАЧЕ ЕСТЬNULL(ТаблицаРегистраСебестоимость.СтоимостьОборот, 0) / ТаблицаРегистраСебестоимость.КоличествоОборот * ТаблицаРегистра.КоличествоОборот
                        КОНЕЦ)) / СУММА(ТаблицаРегистра.СтоимостьОборот)
            ИНАЧЕ "-"
        КОНЕЦ КАК ЧИСЛО(15, 2)) КАК РентабельностьПродаж,
    ТаблицаРегистра.ДоговорКонтрагента.Владелец КАК Покупатель
ИЗ
    РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, НЕ Номенклатура.Услуга) КАК ТаблицаРегистра
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ПродажиСебестоимость.Номенклатура КАК Номенклатура,
            ПродажиСебестоимость.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            ПродажиСебестоимость.ЗаказПокупателя КАК ЗаказПокупателя,
            ПродажиСебестоимость.Подразделение КАК Подразделение,
            ВЫБОР
                КОГДА ПродажиСебестоимость.ДокументРеализации ЕСТЬ NULL
                        ИЛИ ПродажиСебестоимость.ДокументРеализации = НЕОПРЕДЕЛЕНО
                    ТОГДА ПродажиСебестоимость.Регистратор
                ИНАЧЕ ПродажиСебестоимость.ДокументРеализации
            КОНЕЦ КАК ДокументРеализации,
            СУММА(ПродажиСебестоимость.Количество) КАК КоличествоОборот,
            СУММА(ПродажиСебестоимость.Стоимость) КАК СтоимостьОборот
        ИЗ
            РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость
        ГДЕ
            ПродажиСебестоимость.Период МЕЖДУ &ДатаНач И &ДатаКон
        
        СГРУППИРОВАТЬ ПО
            ПродажиСебестоимость.Номенклатура,
            ПродажиСебестоимость.ХарактеристикаНоменклатуры,
            ПродажиСебестоимость.ЗаказПокупателя,
            ПродажиСебестоимость.Подразделение,
            ВЫБОР
                КОГДА ПродажиСебестоимость.ДокументРеализации ЕСТЬ NULL
                        ИЛИ ПродажиСебестоимость.ДокументРеализации = НЕОПРЕДЕЛЕНО
                    ТОГДА ПродажиСебестоимость.Регистратор
                ИНАЧЕ ПродажиСебестоимость.ДокументРеализации
            КОНЕЦ) КАК ТаблицаРегистраСебестоимость
        ПО (ТаблицаРегистраСебестоимость.Номенклатура = ТаблицаРегистра.Номенклатура)
            И (ТаблицаРегистраСебестоимость.ХарактеристикаНоменклатуры = ТаблицаРегистра.ХарактеристикаНоменклатуры)
            И (ТаблицаРегистраСебестоимость.ЗаказПокупателя = ТаблицаРегистра.ЗаказПокупателя)
            И (ТаблицаРегистраСебестоимость.Подразделение = ТаблицаРегистра.Подразделение)
            И (ТаблицаРегистраСебестоимость.ДокументРеализации = ТаблицаРегистра.Регистратор)

СГРУППИРОВАТЬ ПО
    ТаблицаРегистра.ДоговорКонтрагента.Владелец

Добавить комментарий