Организация связи минуя некоторые уровни, группировка

Обсуждение Stimulsoft Reports.NET
Ответить
Аватара пользователя
compositum
Сообщения: 252
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

Организация связи минуя некоторые уровни, группировка

Сообщение compositum »

Здравствуйте. В mrt-отчет передаю DataSet, на основании которого получаю необходимый отчет. Все замечательно работает (если не брать в учет корявый экспорт в ексель). Но дело в том, что к данному отчету должен прилагаться ряд других отчетов, основанных на этом же объекте DataSet. Создал я дополнительный лист и начал на нем "ваять" дополнительный отчет... Но возникли сложности. Излагаю суть проблемы:
основным отчетом является смета на строительство. С точки зрения БД, DataSet состоит из ряда таблиц, связанных между собой. Наименования таблиц привожу на русском (для ясности картины):
Таблица Смета связана связью одна ко многим с таблицей РазделыСметы. Таблица РазделыСметы связана связью одна ко многим с таблицей РаботыВсоставеРаздела, та, в свою очередь связана связью одна ко многим с таблицей МатериалыВсоставеРаботы.

Основной отчет (смета) составлен благополучно, но к ней нужно дополнительно прилагать 2 вида отчетов, базирующихся на этих же данных:
1. Нужна ведомость материалов с разбивкой по разделам т.е. таблица МатериалыВсоставеРаботы должна быть связана с таблицей РазделыСметы минуя таблицу РаботыВсоставеРаздела. Минуя - т.к. мне нужно группировать одинаковые материалы, суммируя их количество и стоимость.
2. Аналогичная задача, только не по разделам сметы, а по смете в целом.

Решал задачу так:
Создал 3 бенда и указал их источники и связи (смета-раздел-материал) - прошу обратить внимание на то, что между разделом и материалом я не указал работу т.е. ее не создавал. Для каждого бенда указал источник данных и связи.
Для бенда Материалы указал связь с работой (хотя ее бенда нет, но связь-то есть), и в качестве мастер-компонента указал бенд раздела сметы...

Изображение

Но того, что хотел не получил...

Изображение

Наверное что-то не так делаю. Подскажите пожалуйста, как решить данную задачу? Может быть есть возможность в рамках этого же отчета создать LINQ-запрос и обработать результаты его выборки, если да, то как это правильно делать в стимуле?
Аватара пользователя
compositum
Сообщения: 252
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

Организация связи минуя некоторые уровни, группировка

Сообщение compositum »

на данный момент, как вариант придумал такое решение: в таблицу материалов добавить поле с ID раздела, а в дизайнере создать связь. тогда все будет работать. Не хотелось бы конечно лишнее поле добавлять, т.к. в этом случае по аналогии мне придется добавить и ID таблицы сметы - для формирования второго дополнительного отчета, в котором материал будет разноситься не по разделам сметы, а в целом по смете...
Как я понимаю - это единственный вариант?
Аватара пользователя
compositum
Сообщения: 252
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

Организация связи минуя некоторые уровни, группировка

Сообщение compositum »

За неимением времени (ждать некогда) добавил поля и связи для них. получаю нужную выборку. теперь записи нужно группировать по некоторым полям, а по некоторым складывать.
установил для текстовых полей свойство Обработка дубликатов = Соединить. А вот как указать, что последние 2 поля нужно между собой складывать?
Ну и нумерация, конечно же должна быть корректной (когда группировка и суммирование осуществлятся)...

Изображение
Аватара пользователя
compositum
Сообщения: 252
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

Организация связи минуя некоторые уровни, группировка

Сообщение compositum »

решил вопрос через группы и их итоги. правда в этом случае нет возможности задавать стили строк (для итогов групп такого свойства нет).
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

Организация связи минуя некоторые уровни, группировка

Сообщение Edward »

Да, лействительно, сложить построенные итоги групп пока не удастся.

Спасибо.
Ответить