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

Отчет о продажах с процентами. УТ 10.3.

Автор BashOrgRu, 07 мая 2014, 16:01

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

BashOrgRu

Доброго времени суток. Возникла необходимость в отчете, где по одной оси идут группы на каком-либо уровне иерархии (например, "двери металлические" и "двери деревянные", а они находятся в группе "двери"), а по другой - количественные продажи и продажи в %. Максимально похожее на поставленную задачу нашел в отчете "Продажи (диаграмма)", но там всё разбито по номенклатурным единицам, а нужна разбивка по группам. Неужели это нельзя сделать штатными средствами?

MuI_I_Ika

В группировке номенклатура нужно поставить вывод по иерархии.

BashOrgRu

MuI_I_Ika, не всё так просто. В отчете "Продажи (диаграмма)" вывод по иерархии даёт только верхние группы (например, "двери", "плитка"). Мне же нужно "зайти" в группу "двери". В случае отчета "Продажи", там, нажимая на +/- можно нащелкать нужную иерархию, но нет продаж в процентах.
Добавлено: 08 мая 2014, 17:52


Никто не знает?

BashOrgRu

Решил попытаться добавить столбец с процентами в отчет "Валовая прибыль" самостоятельно. Для этого в модуле объекта скопипастил в нужных местах код со столбца "Рентабельность" - в итоге получил дополнительный столбец "Проценты", в котором сейчас выводится рентабельность. Для того, чтобы рассчитать проценты, мне не хватает значения поля Итого. На мой взгляд, в коде это должно выглядеть как-то так:
|  100 * СУММА(Количество) / ИТОГИ.СУММА(Количество) КАК Процент
однако такой вариант не работает. Подскажите дилетанту, как получить значение поля Итого (сумму всех элементов столбца)?

Добавлено: 12 мая 2014, 15:15


Выкладываю код запроса из модуля объекта
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВложенныйЗапрос.Организация КАК Организация,
| ВложенныйЗапрос.Проект КАК Проект,
| ВложенныйЗапрос.Подразделение КАК Подразделение,
| ВложенныйЗапрос.Покупатель КАК Покупатель,
| ВложенныйЗапрос.ДоговорПокупателя КАК ДоговорПокупателя,
| ВложенныйЗапрос.Номенклатура КАК Номенклатура,
| ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| ВложенныйЗапрос.ЗаказПокупателя КАК ЗаказПокупателя,
| ВложенныйЗапрос.Регистратор КАК Регистратор,
| ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Организация) КАК ОрганизацияПредставление,
| ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Проект) КАК ПроектПредставление,
| ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Подразделение) КАК ПодразделениеПредставление,
| ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Покупатель) КАК ПокупательПредставление,
| ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ДоговорПокупателя) КАК ДоговорПокупателяПредставление,
| ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Номенклатура) КАК НоменклатураПредставление,
| ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление,
| ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ЗаказПокупателя) КАК ЗаказПокупателяПредставление,
| ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Регистратор) КАК РегистраторПредставление,
| ВложенныйЗапрос.Период КАК Период,
| ВложенныйЗапрос.ПериодДень КАК ПериодДень,
| ВложенныйЗапрос.ПериодНеделя КАК ПериодНеделя,
| ВложенныйЗапрос.ПериодДекада КАК ПериодДекада,
| ВложенныйЗапрос.ПериодМесяц КАК ПериодМесяц,
| ВложенныйЗапрос.ПериодКвартал КАК ПериодКвартал,
| ВложенныйЗапрос.ПериодПолугодие КАК ПериодПолугодие,
| ВложенныйЗапрос.ПериодГод КАК ПериодГод,
| ВложенныйЗапрос.Количество КАК Количество,
| ВложенныйЗапрос.КоличествоЕдиницОтчетов КАК КоличествоЕдиницОтчетов,
| ВложенныйЗапрос.КоличествоБазовыхЕдиниц КАК КоличествоБазовыхЕдиниц,
| ВложенныйЗапрос.СтоимостьБезНДС КАК СтоимостьБезНДС,
| ВложенныйЗапрос.НДС КАК НДС,
| ВложенныйЗапрос.Стоимость КАК Стоимость,
| ВложенныйЗапрос.Себестоимость КАК Себестоимость,
| ВложенныйЗапрос.ВаловаяПрибыль КАК ВаловаяПрибыль,
| ВложенныйЗапрос.Эффективность КАК Эффективность,
| ВложенныйЗапрос.Рентабельность КАК Рентабельность,
//red
| ВложенныйЗапрос.Процент КАК Процент
//endred
| //ПОЛЯ_СВОЙСТВА
| //ПОЛЯ_КАТЕГОРИИ
|{ВЫБРАТЬ
| Организация.*,
| Проект.*,
| Подразделение.*,
| Покупатель.*,
| ДоговорПокупателя.*,
| Номенклатура.*,
| ХарактеристикаНоменклатуры.*,
| ЗаказПокупателя.*,
| Регистратор.*,
| Период,
| ПериодДень,
| ПериодНеделя,
| ПериодДекада,
| ПериодМесяц,
| ПериодКвартал,
| ПериодПолугодие,
| ПериодГод,
| Количество,
| КоличествоЕдиницОтчетов,
| КоличествоБазовыхЕдиниц,
| СтоимостьБезНДС,
| НДС,
| Стоимость,
| Себестоимость,
| ВаловаяПрибыль,
| Эффективность,
| Рентабельность,
| Процент
| //ПСЕВДОНИМЫ_СВОЙСТВА
| //ПСЕВДОНИМЫ_КАТЕГОРИИ
|}
|ИЗ
| (ВЫБРАТЬ
| ВложенныйЗапрос.Организация КАК Организация,
| ВложенныйЗапрос.Проект КАК Проект,
| ВложенныйЗапрос.Подразделение КАК Подразделение,
| ВложенныйЗапрос.Покупатель КАК Покупатель,
| ВложенныйЗапрос.ДоговорПокупателя КАК ДоговорПокупателя,
| ВложенныйЗапрос.Номенклатура КАК Номенклатура,
| ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| ВложенныйЗапрос.ЗаказПокупателя КАК ЗаказПокупателя,
| ВложенныйЗапрос.Регистратор КАК Регистратор,
| ВложенныйЗапрос.Период КАК Период,
| НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕНЬ) КАК ПериодДень,
| НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, НЕДЕЛЯ) КАК ПериодНеделя,
| НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕКАДА) КАК ПериодДекада,
| НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, МЕСЯЦ) КАК ПериодМесяц,
| НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, КВАРТАЛ) КАК ПериодКвартал,
| НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
| НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ГОД) КАК ПериодГод,
| СУММА(ВложенныйЗапрос.Количество) КАК Количество,
| СУММА(ВложенныйЗапрос.КоличествоЕдиницОтчетов) КАК КоличествоЕдиницОтчетов,
| СУММА(ВложенныйЗапрос.КоличествоБазовыхЕдиниц) КАК КоличествоБазовыхЕдиниц,
| СУММА(ВложенныйЗапрос.СтоимостьБезНДС) КАК СтоимостьБезНДС,
| СУММА(ВложенныйЗапрос.НДС) КАК НДС,
| СУММА(ВложенныйЗапрос.Стоимость) КАК Стоимость,
| СУММА(ВложенныйЗапрос.Себестоимость) КАК Себестоимость,
| ВЫБОР
| КОГДА &НеВключатьНДСВСтоимостьПартий
| ТОГДА СУММА(ВложенныйЗапрос.СтоимостьБезНДС)
| ИНАЧЕ СУММА(ВложенныйЗапрос.Стоимость)
| КОНЕЦ - СУММА(ВложенныйЗапрос.Себестоимость) КАК ВаловаяПрибыль,
| 100 * ВЫБОР
| КОГДА &НеВключатьНДСВСтоимостьПартий
| ТОГДА ВЫБОР
| КОГДА СУММА(ВложенныйЗапрос.Себестоимость) <> 0
| ТОГДА (СУММА(ВложенныйЗапрос.СтоимостьБезНДС) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.Себестоимость)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА СУММА(ВложенныйЗапрос.Себестоимость) <> 0
| ТОГДА (СУММА(ВложенныйЗапрос.Стоимость) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.Себестоимость)
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК Эффективность,
| 100 * ВЫБОР
| КОГДА &НеВключатьНДСВСтоимостьПартий
| ТОГДА ВЫБОР
| КОГДА СУММА(ВложенныйЗапрос.СтоимостьБезНДС) <> 0
| ТОГДА (СУММА(ВложенныйЗапрос.СтоимостьБезНДС) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.СтоимостьБезНДС)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА СУММА(ВложенныйЗапрос.Стоимость) <> 0
| ТОГДА (СУММА(ВложенныйЗапрос.Стоимость) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.Стоимость)
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК Рентабельность,
//red
| 100 КАК Процент
//endred
| {ВЫБРАТЬ
| Организация,
| Проект,
| Подразделение,
| Покупатель,
| ДоговорПокупателя,
| Номенклатура,
| ХарактеристикаНоменклатуры,
| ЗаказПокупателя,
| Регистратор,
| Период,
| ПериодДень,
| ПериодНеделя,
| ПериодДекада,
| ПериодМесяц,
| ПериодКвартал,
| ПериодПолугодие,
| ПериодГод}
| ИЗ
| (ВЫБРАТЬ
| ПродажиОбороты.Проект КАК Проект,
| ПродажиОбороты.Подразделение КАК Подразделение,
| ПродажиОбороты.Контрагент КАК Покупатель,
| ПродажиОбороты.ДоговорКонтрагента КАК ДоговорПокупателя,
| ПродажиОбороты.Номенклатура КАК Номенклатура,
| ПродажиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| ПродажиОбороты.ЗаказПокупателя КАК ЗаказПокупателя,
| ПродажиОбороты.Организация КАК Организация,
| ПродажиОбороты.Регистратор КАК Регистратор,
| ПродажиОбороты.Период КАК Период,
| ПродажиОбороты.КоличествоОборот КАК Количество,
| ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) / ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 1) КАК КоличествоЕдиницОтчетов,
| ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) КАК КоличествоБазовыхЕдиниц,
| ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот КАК СтоимостьБезНДС,
| ПродажиОбороты.НДСОборот КАК НДС,
| ПродажиОбороты.СтоимостьОборот КАК Стоимость,
| ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот, 0) КАК Себестоимость
| ИЗ
| РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, {Организация.* КАК Организация, Проект.* КАК Проект, Подразделение.* КАК Подразделение, Контрагент.* КАК Покупатель, ДоговорКонтрагента.* КАК ДоговорПокупателя, Номенклатура.* КАК Номенклатура, ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, ЗаказПокупателя.* КАК ЗаказПокупателя}) КАК ПродажиОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПродажиСебестоимость.Номенклатура КАК Номенклатура,
| ПродажиСебестоимость.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| ПродажиСебестоимость.ЗаказПокупателя КАК ЗаказПокупателя,
| ВЫБОР
| КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО
| ТОГДА ПродажиСебестоимость.ДокументДвижения
| ИНАЧЕ ПродажиСебестоимость.Регистратор
| КОНЕЦ КАК Регистратор,
| СУММА(ПродажиСебестоимость.Стоимость) КАК СтоимостьОборот
| ИЗ
| РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость
| ГДЕ
| ПродажиСебестоимость.Период МЕЖДУ &ДатаНачала И &ДатаКонца
| {ГДЕ
| ПродажиСебестоимость.Проект.* КАК Проект,
| ПродажиСебестоимость.Подразделение.* КАК Подразделение,
| ПродажиСебестоимость.Номенклатура.* КАК Номенклатура,
| ПродажиСебестоимость.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
| ПродажиСебестоимость.ЗаказПокупателя.* КАК ЗаказПокупателя}
|
| СГРУППИРОВАТЬ ПО
| ПродажиСебестоимость.Номенклатура,
| ПродажиСебестоимость.ХарактеристикаНоменклатуры,
| ПродажиСебестоимость.ЗаказПокупателя,
| ВЫБОР
| КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО
| ТОГДА ПродажиСебестоимость.ДокументДвижения
| ИНАЧЕ ПродажиСебестоимость.Регистратор
| КОНЕЦ) КАК ТаблицаРегистраПродажиСебестоимость
| ПО ТаблицаРегистраПродажиСебестоимость.Номенклатура = ПродажиОбороты.Номенклатура
| И ТаблицаРегистраПродажиСебестоимость.ХарактеристикаНоменклатуры = ПродажиОбороты.ХарактеристикаНоменклатуры
| И ТаблицаРегистраПродажиСебестоимость.ЗаказПокупателя = ПродажиОбороты.ЗаказПокупателя
| И ТаблицаРегистраПродажиСебестоимость.Регистратор = ПродажиОбороты.Регистратор) КАК ВложенныйЗапрос
|
| СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.Организация,
| ВложенныйЗапрос.Проект,
| ВложенныйЗапрос.Подразделение,
| ВложенныйЗапрос.Покупатель,
| ВложенныйЗапрос.ДоговорПокупателя,
| ВложенныйЗапрос.Номенклатура,
| ВложенныйЗапрос.ХарактеристикаНоменклатуры,
| ВложенныйЗапрос.ЗаказПокупателя,
| ВложенныйЗапрос.Регистратор,
| ВложенныйЗапрос.Период
|
| ИМЕЮЩИЕ
| (СУММА(ВложенныйЗапрос.Количество) <> 0
| ИЛИ СУММА(ВложенныйЗапрос.Стоимость) <> 0
| ИЛИ СУММА(ЕСТЬNULL(ВложенныйЗапрос.Себестоимость, 0)) <> 0)) КАК ВложенныйЗапрос
| //СОЕДИНЕНИЯ
|{ГДЕ
| ВложенныйЗапрос.Регистратор.*,
| ВложенныйЗапрос.Период,
| ВложенныйЗапрос.ПериодДень,
| ВложенныйЗапрос.ПериодНеделя,
| ВложенныйЗапрос.ПериодДекада,
| ВложенныйЗапрос.ПериодМесяц,
| ВложенныйЗапрос.ПериодКвартал,
| ВложенныйЗапрос.ПериодПолугодие,
| ВложенныйЗапрос.ПериодГод,
| ВложенныйЗапрос.Количество,
| ВложенныйЗапрос.КоличествоЕдиницОтчетов,
| ВложенныйЗапрос.КоличествоБазовыхЕдиниц,
| ВложенныйЗапрос.СтоимостьБезНДС,
| ВложенныйЗапрос.НДС,
| ВложенныйЗапрос.Стоимость,
| ВложенныйЗапрос.Себестоимость,
| ВложенныйЗапрос.ВаловаяПрибыль,
| ВложенныйЗапрос.Эффективность,
| ВложенныйЗапрос.Рентабельность,
|   ВложенныйЗапрос.Процент
| //УСЛОВИЯ_СВОЙСТВА
| //УСЛОВИЯ_КАТЕГОРИИ
|}
|{УПОРЯДОЧИТЬ ПО
| Организация.*,
| Проект.*,
| Подразделение.*,
| Покупатель.*,
| ДоговорПокупателя.*,
| Номенклатура.*,
| ХарактеристикаНоменклатуры.*,
| ЗаказПокупателя.*,
| Регистратор.*,
| Период,
| ПериодДень,
| ПериодНеделя,
| ПериодДекада,
| ПериодМесяц,
| ПериодКвартал,
| ПериодПолугодие,
| ПериодГод,
| Количество,
| КоличествоЕдиницОтчетов,
| КоличествоБазовыхЕдиниц,
| СтоимостьБезНДС,
| НДС,
| Стоимость,
| Себестоимость,
| ВаловаяПрибыль,
| Эффективность,
| Рентабельность,
| Процент
| //ПСЕВДОНИМЫ_СВОЙСТВА
| //ПСЕВДОНИМЫ_КАТЕГОРИИ
|}
|ИТОГИ
| СУММА(Количество),
| СУММА(КоличествоЕдиницОтчетов),
| СУММА(КоличествоБазовыхЕдиниц),
| СУММА(СтоимостьБезНДС),
| СУММА(НДС),
| СУММА(Стоимость),
| СУММА(Себестоимость),
| ВЫБОР
| КОГДА &НеВключатьНДСВСтоимостьПартий
| ТОГДА СУММА(СтоимостьБезНДС)
| ИНАЧЕ СУММА(Стоимость)
| КОНЕЦ - СУММА(Себестоимость) КАК ВаловаяПрибыль,
| 100 * ВЫБОР
| КОГДА &НеВключатьНДСВСтоимостьПартий
| ТОГДА ВЫБОР
| КОГДА СУММА(Себестоимость) <> 0
| ТОГДА (СУММА(СтоимостьБезНДС) - СУММА(Себестоимость)) / СУММА(Себестоимость)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА СУММА(Себестоимость) <> 0
| ТОГДА (СУММА(Стоимость) - СУММА(Себестоимость)) / СУММА(Себестоимость)
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК Эффективность,
| 100 * ВЫБОР
| КОГДА &НеВключатьНДСВСтоимостьПартий
| ТОГДА ВЫБОР
| КОГДА СУММА(СтоимостьБезНДС) <> 0
| ТОГДА (СУММА(СтоимостьБезНДС) - СУММА(Себестоимость)) / СУММА(СтоимостьБезНДС)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА СУММА(Стоимость) <> 0
| ТОГДА (СУММА(Стоимость) - СУММА(Себестоимость)) / СУММА(Стоимость)
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК Рентабельность,
| 100 * СУММА(Количество) КАК Процент
| //ИТОГИ_СВОЙСТВА
| //ИТОГИ_КАТЕГОРИИ
|ПО
| ОБЩИЕ
|{ИТОГИ ПО
| Организация.*,
| Проект.*,
| Подразделение.*,
| Покупатель.*,
| ДоговорПокупателя.*,
| Номенклатура.*,
| ХарактеристикаНоменклатуры.*,
| ЗаказПокупателя.*,
| Регистратор.*,
| Период,
| ПериодДень,
| ПериодНеделя,
| ПериодДекада,
| ПериодМесяц,
| ПериодКвартал,
| ПериодПолугодие,
| ПериодГод
| //ПСЕВДОНИМЫ_СВОЙСТВА
| //ПСЕВДОНИМЫ_КАТЕГОРИИ
|}";

Между отметок //red и //endred находится часть запроса, про которую я писал выше. Как написать её правильно?
Добавлено: 12 мая 2014, 15:19


В конце кода забыл выделить метками вот эту часть
    |   100 * СУММА(Количество) КАК Процент
Добавлено: 14 мая 2014, 11:27


Вопрос непосредственно программистам. Неужели никто не знает ответа??:(

Теги:

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

Рейтинг@Mail.ru

Поиск