Przejdź do głównej zawartości

Ukrywanie sekcji z pustym podraportem

W jaki sposób ukryć sekcję, w której jest pusty podraport? Poniżej przedstawiam proste rozwiązanie:

1. Zaznacz podraport, wybierz opcję Format Subreport -> Subreport i zaznacz opcję Suppress Blank Subreport

Podraport powinien być niewidoczny jeśli jest pusty. Ale to jeszcze nie wszystko, bo pozostaje pusta sekcja.

2. Zaznacz sekcję w której znajduje się podraport, wybierz opcję Section Expert i zaznacz opcję Suppress Blank Section


Gotowe! Teraz sekcja będzie ukryta wraz z podraportem.

Przyjemności w tworzeniu raportów życzę :)

Komentarze

Unknown pisze…
Witaj!
A jak zrobić w CR2008 (gdzie umieścić) 2 podraporty tak aby drukowały się każdy na odrębnej całej stronie A4?
Marcin pisze…
Należy każdy podraport umieścić w osobnej sekcji (opcja Insert Section Below) i zaznaczyć opcję New Page After
Unknown pisze…
Niestety ciągle mi drukuje PH i PF
Marcin pisze…
Oczywiście, że tak, gdyż generowana jest nowa strona. Możesz ukryć PH i PF (opcja Suppress). W razie czego warunkowo.
Unknown pisze…
Raport jest wydrukiem z SAP BO. W pewnych warunkach są do niego dwa załączniki które należy drukować na A4. Aby łatwiej było: raport landscape, podraporty portret.
Jak to "oszukać"? Masz jakiś pomysł?
Marcin pisze…
Od wersji CR 2008 możesz ustawić dla każdej sekcji inną orientację (landscape, portrait).

Popularne posty z tego bloga

Konwersja daty w CDN Optima

Crystal Reports jest bardzo często zintegrowany z popularnymi aplikacjami. Przykładem jest system CDN Optima . Początkujących użytkownikom sprawiają kolumny z datą, bo data nie jest zapisana jako datetime lecz jako liczba. Otóż data w CDN Optima zapisana jest w formacie Clarion, czyli liczba dni, które upłynęły od daty 1800-12-28 . (Czy ktoś wie co to za data w historii?) Dlatego jeśli chcemy użyć takiego pola na raporcie, pierwsze co powinniśmy zrobić to dokonać konwersji liczby na datę. W innym przypadku Crystal Reports nie będzie wiedział, że jest to data i żadne formatowanie dat, grupowanie po okresach nie będzie działać. Formuła do konwersji formatu Clarion na datę : Jeśli mamy wiele takich pól to najlepiej utworzyć własną funkcję:

Zamiana daty i czasu na data-czas

Kolejne szkolenie u klienta i kolejne wyzwanie za mną... Chodziło o wygenerowanie raportu czasu pracy z uwzględnieniem, że zmiana następuje o godz. 6:00 a nie o północy. To znaczy, że godziny do 6:00 powinny być jeszcze zaliczane do dnia poprzedniego. Dodatkowym utrudnieniem u klienta był fakt, że data w bazie danych była rozbita na 2 pola: data w formacie: yyyy-mm-dd 00:00:00 godzina w formacie: 1900-01-01 HH:mm W takim razie do dzieła! Załóżmy, że mamy następującą tabelę: 1. Tworzymy formułę która zamieni 2 osobne pola z datą i czasem w jedno pole typu datetime: W ten sposób otrzymamy jedną wartość w formacie yyyy-mm-dd HH:mm 2. Następnie od tak utworzonej daty odejmujemy 6 godzin: Otrzymamy w rezultacie coś takiego: Kolumna WorkDate wyświetla datę do której została zakwalifikowana pozycja. Na podstawie tak utworzonej formuły można utworzyć grupowanie na raporcie.

Koszmar z limitem

Witajcie po dłuższej przerwie. Jakiś czas temu prowadziłem szkolenie w firmie i z jakiegoś powodu nie chciały nam się wyświetlać się wszystkie tabele z ich bazy danych. Na początku myślałem, że to kwestia uprawnień ale okazało się, że użytkownicy mają prawa do odczytu wszystkich tabel a problem wynika z czegoś innego... Okazało się, że winowajcą jest sam Crystal Reports, który ma ustawiony limit(!) na ilość obiektów pobieranych elementów ze struktury bazy danych, czyli tabel, widoków i procedur składowanych razem wziętych. Domyślnie jest to  8000 . Większość baz danych nie przekracza tego limitu, więc możecie spać spokojnie, ale przy większym systemie może nadejść koszmar, który zerwie Was na równe nogi. Pamiętajcie wówczas o moim blogu -  ten limit można zmienić (w praktyce podwyższyć). Niestety nie ma do tego opcji w Crystal Reports, trzeba pogrzebać w rejestrach windows: Zamykamy Crystal Reports Uruchamiamy aplikację Edytor rejestru , z linii poleceń: ...