Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Репортинговые системы > Как создать такой отчет в Crystal Reports?


Автор: ru_efim 8.12.2010, 09:42
Из БД на MS SQL, получаю набор данных

Место        |Производитель            |Тип работ        |Объем(шт.)    |Объем(п.м.)    
 _______________________________________________________________________________________
Карьер 1    |производитель А           |тип работ 1     |10                     |100        
Карьер 1    |производитель А           |тип работ 2     |10                     |50        
Карьер 1    |производитель В           |тип работ 1     |5                       |100        
Карьер 2    |производитель А           |тип работ 1     |5                       |50        
Карьер 2    |производитель В           |тип работ 2     |10                     |100        
Карьер 3    |производитель А           |тип работ 1     |10                     |50        
Карьер 3    |производитель А           |тип работ 2     |10                     |50        
Карьер 3    |производитель В           |тип работ 1     |20                     |100        
Карьер 3    |производитель В           |тип работ 2     |20                     |100        

Надо получить в Crystal Reports 10  вот такой отчет:
Место         Производитель               Тип работ          Объем(шт.)     Объем(п.м.)
Карьер 1    производитель работ А    тип работ 1       10                     100
Карьер 1    производитель работ А    тип работ 2       10                     50
                   Итого Производитель работ А                  20                    150
Карьер 1    производитель работ В    тип работ 1       5                       100
                   Итого Производитель работ В                  5                       100
Итого Карьер 1                                                              25                    250
Карьер 2    производитель работ А    тип работ 1       5                       50
                   Итого Производитель работ А                  5                       50
Карьер 2    производитель работ В    тип работ 2       10                     100
                   Итого Производитель работ В                  10                    100
Итого Карьер 2                                                              15                    150
Карьер 3    производитель работ А    тип работ 1       10                     50
Карьер 3    производитель работ А    тип работ 2       10                     50
                   Итого Производитель работ А                  20                    100
Карьер 3    производитель работ В    тип работ 1       20                     100
Карьер 3    производитель работ В    тип работ 2       20                     100
                   Итого Производитель работ В                  40                    200
Итого Карьер 3                                                              60                    300
Всего                                                                             100                   700
        В том числе производитель работ А                 45                     300
        В том числе производитель работ В                 55                     400

, т.е. имеем кроме секции Details группу по Производителю работ, с подсчетом сумм по объемам в Group Footer, вложенную в группу по Месту проведения работ, так же с подсчетом сумм по объемам. Ну и наконец, общий итог с суммой по объемам в секции Report Footer.
Вся проблема в строках ниже общих итогов, в тех которые представляют общие суммарные объемы по строкам сгруппированным по Производителю работ.(две последние, выделены курсивом) Кол-во мест проведения работ, производителей, типов работ величины переменные.
Сам смог додуматься только до следующего
1.    Сформировать sql-запросом нужный, в конце концов, набор строк т.е. со всеми агрегатными строками, а средствами Crystal Reports его просто отформатировать. Но по моему это какая то кривая идея.
2.    Наверное можно было бы добавить строки с общими итогами по Производителю работ(те последние, выделены курсивом) с помощью Subrepert. Но данный отчет уже сам Subrepot.
3.    Общие итоговые объемы по Производителям вычислить в Crystal Reports с помощью формул. В принципе это возможно т.к. на данный момент Производителей всего два. Но это то-же плохая идея т.к. через месяц их может стать три, через 3 месяца четыре и т.д.
Выручите, подскажите пожалуйста, хотя бы в каком направлении думать.

Автор: Staruha 10.1.2011, 23:58
Объявляешь переменную типа Shared.Она видна в отчетах и подотчетах.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)