Продолжаем разговор...
Не подскажете -как красиво (без связей>1 уровня) создать примерно-такой же отчет как и предыдущий, но по множеству объектов?
Ситуация такая (объектноя модель)
Код: Выделить всё
1. Компания
1 Отдел_1
1.1 Сотрудник 1
1.1.1 План работ
1.1.1.1 Работа_1
1.1.1.2 Работа_2
1.1.2 Выполненная работа
1.1.2.1 Работа_3
1.1.2.2 Работа_4
....
1.2 Сотрудник 2
1.2.1 План работ
1.2.1.1 Работа_3
...
2 Отдел_2
2.1 Сотрудник 1
2.1.1 Выполненная работа
2.1.1.1 Работа_5
...
2.2 Сотрудник 2
2.2.1 План работ
2.2.1.1 Работа_4
...
Нужно сделать отчеты
1.-персональный (3 вида) -по плану работ, - по выполненной работе,-общий отчет
2.-отчет по отделу (сотрудники отделов) (градации как в первом)
3.-отчет по компании (все сотрудники)(градации как в первом)
Сложность заключается в том - что одна и таже работа(объект) может находится одновременно у нескольких сотрудников в разных папках (у одного в плане работ у остальных в выполненных работах)
Как я делаю сейчас
-завожу три атрибута для объектов (сотрудник/отдел/компания)
первый (число) если 0-общий отчет 1- план 2- выполненные
второй дата начала отчетного периода
третий дата окончания отчетного периода
Это сделано для настройки фильтров отчета, причем каждый объект хранит свои последние значения (кстати - если кто будет этим пользоваться фильтр отчета не берет последнюю дату 'включительно' т.е. отчет формируется только на день раньше.?? наверно-глюк)
А вот дальше для сотрудника??
Стою на нем, через диалог получаю тип отчета и даты
1-Запускаю отчет 'Сотрудник-План работ'
Он принимает атрибутивную информацию о текущем объекте (через аргументы) встает на План работ сотрудника и выдает все объекты первого уровня (по фильтру) в результирующий (последний) отчет - с этим понятно
2-Запускаю отчет 'Сотрудник-Выполненные работы' - здесь уже два варианта или в первый отчет подсунуть в качестве выделенного объекта -Выполненные работы и все как и выше Либо сначала получить все ID объекты из 'плана работ' (они будут нулевые по фильтру) добавить объекты из 'выполненных работ' и всю эту кучу с признаком кто где-передать в результирующий (последний) отчет
3-Соответственно отчет по всем работам Сотрудника можно выполнить по второму варианту второго отчета (собрать id плана работ_первый уровень(+признак)+id выполненные работы_первый уровень(+признак) все это сбросить в третий отчет и сделать группировку по признаку
Другими словами -создать 3-х уровневый связанный отчет и вызывать нужный уровень (или последний по признаку)
Если с одним человеком- в голове вроде все умещается, то с отделом и компанией не очень ( в смысле сделать просто и универсально)???
Не совсем понятно как все найденные id передать на второй и третий уровень?
Помогите распутаться (отчет выше первого уровня делать не хочу-Строчка 'поиск предка' - очень напрягает)