Организация связи минуя некоторые уровни, группировка
Добавлено: 03 июн 2008, 07:12
Здравствуйте. В mrt-отчет передаю DataSet, на основании которого получаю необходимый отчет. Все замечательно работает (если не брать в учет корявый экспорт в ексель). Но дело в том, что к данному отчету должен прилагаться ряд других отчетов, основанных на этом же объекте DataSet. Создал я дополнительный лист и начал на нем "ваять" дополнительный отчет... Но возникли сложности. Излагаю суть проблемы:
основным отчетом является смета на строительство. С точки зрения БД, DataSet состоит из ряда таблиц, связанных между собой. Наименования таблиц привожу на русском (для ясности картины):
Таблица Смета связана связью одна ко многим с таблицей РазделыСметы. Таблица РазделыСметы связана связью одна ко многим с таблицей РаботыВсоставеРаздела, та, в свою очередь связана связью одна ко многим с таблицей МатериалыВсоставеРаботы.
Основной отчет (смета) составлен благополучно, но к ней нужно дополнительно прилагать 2 вида отчетов, базирующихся на этих же данных:
1. Нужна ведомость материалов с разбивкой по разделам т.е. таблица МатериалыВсоставеРаботы должна быть связана с таблицей РазделыСметы минуя таблицу РаботыВсоставеРаздела. Минуя - т.к. мне нужно группировать одинаковые материалы, суммируя их количество и стоимость.
2. Аналогичная задача, только не по разделам сметы, а по смете в целом.
Решал задачу так:
Создал 3 бенда и указал их источники и связи (смета-раздел-материал) - прошу обратить внимание на то, что между разделом и материалом я не указал работу т.е. ее не создавал. Для каждого бенда указал источник данных и связи.
Для бенда Материалы указал связь с работой (хотя ее бенда нет, но связь-то есть), и в качестве мастер-компонента указал бенд раздела сметы...
Но того, что хотел не получил...
Наверное что-то не так делаю. Подскажите пожалуйста, как решить данную задачу? Может быть есть возможность в рамках этого же отчета создать LINQ-запрос и обработать результаты его выборки, если да, то как это правильно делать в стимуле?
основным отчетом является смета на строительство. С точки зрения БД, DataSet состоит из ряда таблиц, связанных между собой. Наименования таблиц привожу на русском (для ясности картины):
Таблица Смета связана связью одна ко многим с таблицей РазделыСметы. Таблица РазделыСметы связана связью одна ко многим с таблицей РаботыВсоставеРаздела, та, в свою очередь связана связью одна ко многим с таблицей МатериалыВсоставеРаботы.
Основной отчет (смета) составлен благополучно, но к ней нужно дополнительно прилагать 2 вида отчетов, базирующихся на этих же данных:
1. Нужна ведомость материалов с разбивкой по разделам т.е. таблица МатериалыВсоставеРаботы должна быть связана с таблицей РазделыСметы минуя таблицу РаботыВсоставеРаздела. Минуя - т.к. мне нужно группировать одинаковые материалы, суммируя их количество и стоимость.
2. Аналогичная задача, только не по разделам сметы, а по смете в целом.
Решал задачу так:
Создал 3 бенда и указал их источники и связи (смета-раздел-материал) - прошу обратить внимание на то, что между разделом и материалом я не указал работу т.е. ее не создавал. Для каждого бенда указал источник данных и связи.
Для бенда Материалы указал связь с работой (хотя ее бенда нет, но связь-то есть), и в качестве мастер-компонента указал бенд раздела сметы...
Но того, что хотел не получил...
Наверное что-то не так делаю. Подскажите пожалуйста, как решить данную задачу? Может быть есть возможность в рамках этого же отчета создать LINQ-запрос и обработать результаты его выборки, если да, то как это правильно делать в стимуле?