![]() |
|
Диаграмма - средние и фактические продажи за период. | ☑ | ||
---|---|---|---|---|
0
abda123
23.11.15
✎
13:05
|
СКД - задача: Разработать отчет-диаграмму типа график. Где одна линия должна показывать фактические продажи за указанный период, а вторая линия средние продажи за этот период. Должна быть реализована возможность в точках диаграммы группировать по стандартным периодам (год, квартал, месяц, день), а также должен быть реализован универсальный отбор по контрагентам.
Вот такой запрос на%%%вертил. Прошу критики. ВЫБРАТЬ ПродажиОбороты.Контрагент, ПродажиОбороты.ПериодДень, ПродажиОбороты.ПериодМесяц, ПродажиОбороты.ПериодКвартал, ПродажиОбороты.ПериодГод ПОМЕСТИТЬ ПериодыПродаж ИЗ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК ПродажиОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПродажиОбороты.Контрагент, ПродажиОбороты.СтоимостьОборот / РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ) КАК СреднеМесячнаяСуммаЗаПериод ПОМЕСТИТЬ СуммаПродажЗаВесьПериод ИЗ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ПродажиОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, ДЕНЬ) КАК ПоДням, НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, МЕСЯЦ) КАК ПоМесяцам, НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, КВАРТАЛ) КАК ПоКварталам, НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, ГОД) КАК ПоГодам ПОМЕСТИТЬ Даты ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода СГРУППИРОВАТЬ ПО НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, ДЕНЬ), НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, МЕСЯЦ), НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, КВАРТАЛ), НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, ГОД) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПериодыПродаж.Контрагент, СуммаПродажЗаВесьПериод.СреднеМесячнаяСуммаЗаПериод КАК Стоимость, ПериодыПродаж.ПериодДень, ПериодыПродаж.ПериодМесяц, ПериодыПродаж.ПериодКвартал, ПериодыПродаж.ПериодГод, "Средние продажи за период" КАК Серия ПОМЕСТИТЬ Готовая ИЗ ПериодыПродаж КАК ПериодыПродаж ЛЕВОЕ СОЕДИНЕНИЕ СуммаПродажЗаВесьПериод КАК СуммаПродажЗаВесьПериод ПО ПериодыПродаж.Контрагент = СуммаПродажЗаВесьПериод.Контрагент ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПродажиОбороты.Контрагент, ПродажиОбороты.СтоимостьОборот, ПродажиОбороты.ПериодДень, ПродажиОбороты.ПериодМесяц, ПродажиОбороты.ПериодКвартал, ПродажиОбороты.ПериодГод, "Фактические продажи за период" ИЗ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК ПродажиОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СУММА(Готовая.Стоимость) КАК Стоимость, Готовая.ПериодДень, Готовая.ПериодМесяц, Готовая.ПериодКвартал, Готовая.ПериодГод, Готовая.Серия ПОМЕСТИТЬ Готовая2 ИЗ Готовая КАК Готовая СГРУППИРОВАТЬ ПО Готовая.ПериодДень, Готовая.ПериодМесяц, Готовая.ПериодКвартал, Готовая.ПериодГод, Готовая.Серия ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Готовая2.Стоимость, Готовая2.ПериодДень КАК ПоДням, Готовая2.ПериодМесяц КАК ПоМесяцам, Готовая2.ПериодКвартал КАК ПоКварталам, Готовая2.ПериодГод КАК ПоГодам, Готовая2.Серия КАК Серия ПОМЕСТИТЬ ГотоваяБезДат ИЗ Готовая2 КАК Готовая2 ГДЕ Готовая2.Серия = "Фактические продажи за период" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВЫБОР КОГДА &Период = "Месяц" ТОГДА ПродажиОбороты.СтоимостьОборот / РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, МЕСЯЦ) ИНАЧЕ ВЫБОР КОГДА &Период = "Квартал" ТОГДА ПродажиОбороты.СтоимостьОборот / РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, КВАРТАЛ) ИНАЧЕ ВЫБОР КОГДА &Период = "Год" ТОГДА ПродажиОбороты.СтоимостьОборот / РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ГОД) ИНАЧЕ ПродажиОбороты.СтоимостьОборот / РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ) КОНЕЦ КОНЕЦ КОНЕЦ, Готовая2.ПериодДень, Готовая2.ПериодМесяц, Готовая2.ПериодКвартал, Готовая2.ПериодГод, Готовая2.Серия ИЗ Готовая2 КАК Готовая2, РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ПродажиОбороты ГДЕ Готовая2.Серия = "Средние продажи за период" ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ГотоваяБезДат.Стоимость КАК Стоимость, ГотоваяБезДат.ПоДням, ГотоваяБезДат.ПоМесяцам, ГотоваяБезДат.ПоКварталам, ГотоваяБезДат.ПоГодам, ГотоваяБезДат.Серия ИЗ ГотоваяБезДат КАК ГотоваяБезДат ГДЕ ГотоваяБезДат.Серия = "Фактические продажи за период" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ МАКСИМУМ(ГотоваяБезДат.Стоимость), Даты.ПоДням, Даты.ПоМесяцам, Даты.ПоКварталам, Даты.ПоГодам, ГотоваяБезДат.Серия ИЗ ГотоваяБезДат КАК ГотоваяБезДат, Даты КАК Даты ГДЕ ГотоваяБезДат.Серия = "Средние продажи за период" СГРУППИРОВАТЬ ПО Даты.ПоДням, Даты.ПоКварталам, Даты.ПоМесяцам, Даты.ПоГодам, ГотоваяБезДат.Серия |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |