Подскажите с отчетом, будто занимаюсь извращением
1.
Гость
21.06.23 18:26
Подскажите пожалуйста я на правильном пути или нет. Вроде как отчет строится, но ощущение будто занимаюсь каким то извращением. Не знаю как дальше колонку итоги подводить, так как она подводится везде по разному, где сумма полей за все периоды, где сумма некоторых полей, где не сумма а среднее. Так же не знаю как создать строку месячный прогноз. Подскажите пожалуйста и наведите на правильную сторону
ВЫБРАТЬ
"Отчет по работе ИМ" КАК Раздел,
Сумма(РеализацияТоваровУслуг.СуммаДокумента) КАК Значение,
НАЧАЛОПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) КАК Дата,
ВЫБОР КОГДА
ПартнерыСегмента.Сегмент.Наименование = "Розница"
Тогда "Выручка розница"
КОГДА ПартнерыСегмента.Сегмент.Наименование = "МелкийОпт" ИЛИ ПартнерыСегмента.Сегмент.Наименование = "СЦ"
Тогда "Выручка МелкийОпт"
КОНЕЦ КАК Сегмент
ПОМЕСТИТЬ Выручка
ИЗ
Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПартнерыСегмента КАК ПартнерыСегмента
ПО (РеализацияТоваровУслуг.Партнер = ПартнерыСегмента.Партнер)
ГДЕ
НЕ ПартнерыСегмента.Сегмент = Значение(Справочник.СегментыПартнеров.ПустаяСсылка)
И РеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода
И ПартнерыСегмента.Сегмент.Наименование В ("МелкийОпт", "Розница", "СЦ")
СГРУППИРОВАТЬ ПО
НАЧАЛОПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ),
ПартнерыСегмента.Сегмент
;
ВЫБРАТЬ
"Отчет по работе ИМ" КАК Раздел,
Сумма(Выручка.Значение) КАК Значение,
Выручка.Дата КАК Дата,
"Общая выручка" КАК Сегмент
ПОМЕСТИТЬ ОбщаяВыручка
ИЗ
Выручка КАК Выручка
СГРУППИРОВАТЬ ПО
Выручка.Дата
;
ВЫБРАТЬ
"Заказы" КАК Раздел,
КОЛИЧЕСТВО(ЗаказКлиента.Ссылка) как Значение,
НАЧАЛОПЕРИОДА(ЗаказКлиента.Дата, ДЕНЬ) КАК Дата,
"Сделки" КАК Сегмент
ПОМЕСТИТЬ КолВоСделок
ИЗ
Документ.ЗаказКлиента КАК ЗаказКлиента
ГДЕ
ЗаказКлиента.Дата МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
НАЧАЛОПЕРИОДА(ЗаказКлиента.Дата, ДЕНЬ)
;
ВЫБРАТЬ
"Отчет по работе ИМ" КАК Раздел,
ВЫРАЗИТЬ(ОбщаяВыручка.Значение / КолВоСделок.Значение КАК ЧИСЛО(10,0)) КАК Значение,
ОбщаяВыручка.Дата как Дата,
"Средний чек" КАК Сегмент
ПОМЕСТИТЬ СреднийЧек
ИЗ
ОбщаяВыручка как ОбщаяВыручка
ЛЕВОЕ СОЕДИНЕНИЕ КолВоСделок КАК КолВоСделок
ПО ОбщаяВыручка.Дата = КолВоСделок.Дата
;
ВЫБРАТЬ
"Отмена заказов" КАК Раздел,
ЕстьNull(КОЛИЧЕСТВО(УП_Сделка.Ссылка), 0) КАК Значение,
НАЧАЛОПЕРИОДА(УП_ИсторияСтатусовСделок.ДатаУстановки, День) КАК Дата,
УП_Сделка.ПричинаОтказа КАК Сегмент
ПОМЕСТИТЬ ОтменаЗаказов
ИЗ
Документ.УП_Сделка КАК УП_Сделка
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УП_ИсторияЭтаповСделок КАК УП_ИсторияСтатусовСделок
ПО УП_Сделка.Ссылка = УП_ИсторияСтатусовСделок.Сделка
И (УП_ИсторияСтатусовСделок.Этап.Тип = ЗНАЧЕНИЕ(Перечисление.УП_ТипыЭтаповВоронки.ЗавершенНеудачно))
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УП_ВзаимодействияПоСделкам КАК УП_ВзаимодействияПоСделкам
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВыручкаИСебестоимостьПродаж КАК ВыручкаИСебестоимостьПродаж
ПО УП_ВзаимодействияПоСделкам.Взаимодействие = ВыручкаИСебестоимостьПродаж.ЗаказКлиента
И (ВыручкаИСебестоимостьПродаж.Регистратор ССЫЛКА Документ.ВозвратТоваровОтКлиента)
ПО УП_Сделка.Ссылка = УП_ВзаимодействияПоСделкам.Сделка
И (УП_ВзаимодействияПоСделкам.Взаимодействие ССЫЛКА Документ.ЗаказКлиента)
И (НЕ УП_ВзаимодействияПоСделкам.Взаимодействие.ПометкаУдаления)
ГДЕ
УП_Сделка.ПометкаУдаления = ЛОЖЬ
И УП_Сделка.ЭтапВоронки.Тип = ЗНАЧЕНИЕ(Перечисление.УП_ТипыЭтаповВоронки.ЗавершенНеудачно)
И УП_ИсторияСтатусовСделок.ДатаУстановки МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
НАЧАЛОПЕРИОДА(УП_ИсторияСтатусовСделок.ДатаУстановки, День),
УП_Сделка.ПричинаОтказа
;
ВЫБРАТЬ
"Отмена заказов" КАК Раздел,
ВЫРАЗИТЬ(Сумма(ОтменаЗаказов.Значение/ КолВоСделок.Значение) * 100 КАК ЧИСЛО(3, 1)) КАК Значение,
ОтменаЗаказов.Дата как Дата,
"Конверсия отказов" КАК Сегмент
ПОМЕСТИТЬ ДопПоляОтменЗаказов
ИЗ
ОтменаЗаказов как ОтменаЗаказов
ЛЕВОЕ СОЕДИНЕНИЕ КолВоСделок КАК КолВоСделок
ПО ОтменаЗаказов.Дата = КолВоСделок.Дата
СГРУППИРОВАТЬ ПО
ОтменаЗаказов.Дата
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Отмена заказов" КАК Раздел,
ВЫРАЗИТЬ(ОтменаЗаказов.Значение/ КолВоСделок.Значение * 100 КАК ЧИСЛО(3, 1)) КАК Значение,
ОтменаЗаказов.Дата как Дата,
"Конверсия отказов оплат" КАК Сегмент
ИЗ
ОтменаЗаказов как ОтменаЗаказов
ЛЕВОЕ СОЕДИНЕНИЕ КолВоСделок КАК КолВоСделок
ПО ОтменаЗаказов.Дата = КолВоСделок.Дата
ГДЕ
ОтменаЗаказов.Сегмент.Наименование = "Отсутствие оплаты клиентом"
;
ВЫБРАТЬ ОбщаяВыручка.* ИЗ ОбщаяВыручка ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ Выручка.* ИЗ Выручка ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ КолВоСделок.* ИЗ КолВоСделок ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ СреднийЧек.* ИЗ СреднийЧек ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ ОтменаЗаказов.* ИЗ ОтменаЗаказов ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ ДопПоляОтменЗаказов.* ИЗ ДопПоляОтменЗаказов
ПоказатьПрикрепленные файлы:


Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(7) Типа вместо Сегмент.наименование = «МелкийОпт», сделать Сегмент = &Сегмент и в модуле обьекта при компоновке результата поместить в эти параметры нужные параметры? Просто эти элементы справочника не предопределенные, поэтому ваще хз как их по другому найти
Это решение
Внимание! Не забывайте отмечать решение на ваш вопрос, если оно найдено. Это повысит ваш рейтинг на форуме.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот