Przejdź do głównej zawartości

Crystal Reports for Visual Studio 2012

Dzisiaj post skierowany dla programistów .NET, którzy korzystają z Crystal Reports przy tworzeniu raportów dla swoich aplikacji.

Pewnie część z Was przesiadła się do nowego Visual Studio 2012 lub planuje to zrobić w najbliższym czasie.

Dlatego chcę Was uprzedzić, że w chwili obecnej Visual Studio 2012 nie obsługuje raportów Crystal Reports. Brakuje osadzonego designera do projektowania raportów oraz szablonów do tworzenia aplikacji Crystal Reports. Zatem jeśli w bieżącym projekcie korzystacie z raportów Crystalowych to wstrzymajcie się z migracją do najnowszej wersji.

Można co prawda sobie z tym poradzić dodając ręcznie referencje do potrzebnych bibliotek i w ten sposób użyć silnika raportów Crystal Reports, ale nie będziecie mieli możliwości projektowania raportów. No chyba, że dysponujecie pełną wersją Crystal Reports, którą polecam :)

Jeśli chcecie iść z duchem czasu i tworzyć aplikacje typu Windows Store z zastosowaniem raportów Crystal Reports to spotka Was wielkie rozczarowanie.

Kontrolka WPF Crystal Reports Viewer nie jest dostępna dla projektów Windows Store. Zatem nie da się wyświetlić raportu w tego typu aplikacjach.

Na szczęście SAP zapowiedział wydanie aktualizacji Crystal Reports dla Visual Studio 2012.
Dzięki niej otrzymamy z powrotem projektanta raportów oraz nową kontrolkę Crystal Reports Viewer typu Windows Store.

Niestety trzeba będzie jeszcze poczekać na tą aktualizację...
Według informacji podanej na stronie SAP'a należy jej oczekiwać pod koniec I kw. 2013 roku.

SAP wydał właśnie SAP Cystal Reports for Visual Studio 2012, który można pobrać tutaj.

Szkoda, że SAP nie zrobił tego równocześnie wraz z premierą Visual Studio 2012.

Przy okazji pytanie: czy faktycznie zamierzacie tworzyć aplikacje Windows Store z raportami Crystal Reports?


Komentarze

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ę:

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ń: ...

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.