Конференция

Фильтр
Пометить все
Отобразить только
 
 


© ЗАО "1С"

Вычисления по иерархии с применением СКД

«« расчет оклада Ошибка в книге Родченко. »»
Сортировка: Более поздние сообщения отображаются ниже  /  выше
Вычисления по иерархии с применением СКД
20.08.2009 15:47
Ганусовский Игорь Николаевич
550272

Начал я тут тоже СКД изучать и вот с какой хитрой задачкой столкнулся. Может ли тут вообще СКД справиться или это не тот случай - есть справочник с иерархией элементов. Справочник "Статьи движения денежных средств". На самом верху иерархии располагаются два элемента: ПРИХОД, РАСХОД. Внутри каждого из них располагается остальная иерархия элементов. Например:
ПРИХОД==> Зарплата==> Зарплата от ООО "Лютик"
           |                   |==> Зарплата от ООО "Цветик"
           |==>Займы
           |==>Мат.помощь
РАСХОД==> Общественный транспорт==>Метро
            |                                          |==>Автобус
            |                                          |==>Маршрутное такси
            |==> Содержание автомобиля==>Технические работы
                                                        |==>Запчасти
                                                        |==>Топливо
Так же есть простенький регистр движений в котором отражается в качестве измерения собственно статья и в качестве ресурса - сумма проходящая по этой статье. Теперь собственно суть задачки - надо сделать отчёт, который бы показывал оборот по статьям за указаный пользователем период. Не проблема, делается это с полпинка. И с применением СКД очень красиво получается. Теперь к этому отчёту надо добавить ещё одну колонку - процент. Смысл её в следующем - на самой вершине иерархии статей движения скапливаются суммы, которые принимаются за 100% т.е. например:
ПРИХОД 30000 тыс.руб 100%
РАСХОД 20000 тыс.руб 100%
При раскрытии пользователем иерархии статей, нам надо, чтобы на вершинах группировок считался этот самый процент относительно самого верхнего элемента но с учётом процентов тех элементов, которые находятся с раскрытыми на одной ступеньке иерархии. Т.е. раскрыли например РАСХОД и должна выйти такая картина:
РАСХОД 20000 100%==> Общественный транспорт 10000 50% ==>Метро 3333 33%
            |                                                                               |==>Автобус 3333 33%
            |                                                                               |==>Маршрутное такси 3333 33%
            |=======> Содержание автомобиля 10000 50% ==>Технические работы 3333 33%
                                                                                    |==>Запчасти 3333 33%
                                                                                    |==>Топливо 3333 33%

Вот возможно ли это с полпинка реализовать в СКД? И в каком тут направлении надо копать? Я представляю как это без СКД сделать - через рекурсию идём по веткам иерархии, попутно вычисляем процент по вершинам ветки. Алгоритм получится конечно не идеальный и медленный но работать он будет. А вот как это всё в СКД сделать... Чего то мозга не хватает.

Свернуть ответы Re: Вычисления по иерархии с применением СКД
01.09.2009 17:39
Коган Эстер
Re: Вычисления по иерархии с применением СКД
04.09.2009 15:35
Ганусовский Игорь Николаевич
Re: Вычисления по иерархии с применением СКД
20.08.2009 15:50
Ганусовский Игорь Николаевич

«« расчет оклада Ошибка в книге Родченко. »»