СКД: Отчет с иерархией #775344


#0 by Digger
Нужно сделать отчет на СКД  план-факт по продажам. ----------------план факт группа 1         0    20 - группа 11      20    20 ----  номен 1   0     10 ----- номен 2   0      10 Проблема,  что план устанавливается на конкретную группу и не должен отображаться выше по иерархии,  а факт только по номенклатуре, и наоборот по иерархии суммируется вверх. Можно конечно вручную для каждого элемента рассчитать в запросе и план и факт,  но это будет долго,  и наверное есть какое то более красивое решение с помощью СКД. Вообщем уже сломал всю голову и СКД,   помогите кто чем может.  )
#1 by aleks_default
В ресурсах, одно и то же поле ресурса добавляешь столько раз сколько тебе нужно и через "рассчитывать по" указываешь по каким группировкам как считать, сумму там или максимум.
#2 by aleks_default
И еще почитай раздел справки "Функции языка выражений системы компоновки данных".
#3 by Digger
Группировка всего одна.  Максимум для "плана" заполнит значение вверх по всей иерархии,  а нужно для конкретной группы.
#4 by aleks_default
Ты не пиши, ты читай
#5 by aleks_default
Вернее "рассчитывать по" тут не поможет, но можно использовать функцию языка "Уровень". В поле "выражение" ресурса План пиши так ВЫБОР КОГДА Уровень > 1 ТОГДА 0 ИНАЧЕ СУММА(План) КОНЕЦ Номер уровня сам определяй какой тебе нужно Для факта походу вообще ничего не нужно, обычная функция СУММА(Факт).
#6 by Digger
Все не так просто.  План может быть задан на любом уровне иерархии, и явно уровнем его не выделишь.   Сумма(ПЛАН) использовать не получиться,  потому как он тогда сложит все значения подчиненных планов,  что неверно. План гр 1 <>  гр1.1+гр1.2
#7 by aleks_default
Ну не используй вообще агрегатную функцию. Напиши просто План в выражении ресурса.
#8 by Digger
Какая разница.  План уходит вверх по иерархии. гр 1  0 гр 11 20 гр 12 0 а гр 1 20 гр 11 20 гр 12 0
#9 by DrShad
Делай собственную иерархию
#10 by aleks_default
Че-то ты меня лечишь. Откуда возьмется сумма вверх по иерархии, если выражение суммирования в ресурсе не прописано? Может у тебя в запросе уже эта сумма посчитана? Выведи таблицу без группировок (только детальные записи) и посмотри как план заполнен по группам. Считается ли там сумма?
#11 by Rokford
В настройках отчета для группировки, где не нужен план можно вообще убрать поле "План" на закладке "выбранные поля", и выводить их только в группировке.
#12 by aleks_default
У него группировка одна (иерархия) просто несколько уровней.
#13 by Rokford
Понял, невнимательно читал. Полностью согласен с . Ждем ответа на .
#14 by Digger
Не знаю откуда.   В ресурсе у Плана  стоит просто План  без суммирования. У "Факта" Сумма Запрос простой. ВЫБРАТЬ   ТП,   ПланКолВо ИЗ ПланПродажи ОБЪЕДИНИТЬ ВЫБРАТЬ   ТП,   ФактКолВо ИЗ Продажи В итоге вот такое выводит в результате
#15 by nasik90
Попробуй план убрать из ресурсов и группировку сделать по торговому представителю(группировка по иерархии) и плану.
#16 by Digger
Не получится,  тогда останется значение плана только в нижней строке.
#17 by kittystark
была такая заморочка, решалась через прописание в ресурсе ГрупповаяОбработка(...) с вызовом своей функции из нее
#18 by aleks_default
Добавь в запрос СГРУППИРОВАТЬ ПО чтобы у тебя и план и факт были в одной строке, тогда по идее должно сработать.
#19 by Digger
Они не могут быть в одной строке.  факт всегда на нижнем уровне иерархии(ТП),  планы на верхних(филиал). Ну, если не получится настройками,  то конечно допилю кодом.  )
#20 by aleks_default
Я говорю, сделай сначала запросом нормальную "плоскую" таблицу, де ТП сгруппированы и план и факт выведены в разные колонки ОДНОЙ строки. Для того чтобы потом когда будешь делать структуру группировок не нужно было использовать агрегатную функцию.
#21 by kittystark
там того кода... пихаешь в общий модуль:
#22 by kittystark
ресурс: МойОбщийМодуль.ВернутьЗначениеПоИерархии(ГрупповаяОбработка("КолвоПлан КАК КолвоПлан, Номенклатура КАК Номенклатура",,"Номенклатура")) пока дошли до этого решения ушло несколько дней со всякими другими извратами через запросы и другие выражения ресурсов
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С