Przejdź do głównej zawartości

Posty

Wyświetlanie postów z 2011

Znikające obrazki

Ostatnio spotkała mnie niemiła niespodzianka w Crystal Reports.

Postanowiłem wykorzystać to narzędzie do drukowania certyfikatów dla uczestników moich szkoleń.
Umieściłem na raporcie obrazek przygotowany przez grafika i dodałem kilka pól dynamicznie pobieranych z bazy danych (imię, nazwisko, nazwa szkolenia itp). Certyfikat był gotowy!

Jakież było moje zaskoczenie gdy po ponownym otwarciu tego raportu, obrazek zniknął! Nie było go widać ani na podglądzie ani na projekcie. Nieco podłamany przeszukałem sieć, czy ktoś również spotkał się z takim problemem.

Okazało się, że nie jestem sam na świecie, gdyż w Crystal Reports jest od dawna bug, który objawia się tym, że  obrazki o dużych rozmiarach znikają. Korzystam z CR 2008 SP4 i jak widać nie został on poprawiony.

Nie poddałem się jednak i znalazłem rozwiązanie:

1. Obrazek umieściłem na publicznym serwerze http
2. Wstawiłem zastępczą, małą grafikę na raporcie (Insert | Picture) 
3. Wybrałem Format Graphic oraz zakładkę Picture
3. W opcji Grap…

Zagubiony Field Explorer

Podczas pracy z Crystal Reports zdarza się, że przez przypadek zamkniemy sobie podstawowe narzędzie pracy czyli Field Explorer. Wystarczy wówczas wybrać z menu View | Field Explorer i pracujemy dalej.

Zdarzyło mi się jednak dzisiaj całkowicie zagubić Field Explorer i powyższa opcja nie dawała żadnego skutku. Rozgorączkowany tym faktem i wizją utraty możliwości wytwórczych przeszukałem sieć.

Okazało się, że trzeba zaznaczyć Toolbox i wybrać opcję Reset all toolbars and explorers on next restart, a następnie uruchomić Crystal Reports ponownie. Uff, Field Explorer powrócił na swoje miejsce. Mogę znów tworzyć raporty...

Funkcje warunkowe

W większości raportów w formułach stosujemy funkcje warunkowe.
Okazuje się, że Crystal Reports posiada wiele różnych konstrukcji warunkowych, które warto znać i dobierać do konkretnego przypadku.


Funkcja if-else-then

To podstawowa i najczęściej stosowana funkcja warunkowa w Crystal Reports.

Przykład:
if {Orders Detail.Quantity} <> 1 then "wiele wartości" else "wartość pojedyncza" 

Pamiętajcie, że typ formuły jest określany na podstawie pierwszej zwracanej wartości. W związku z tym nie możemy mieszać typów w jednej formule.

Przykład niepoprawny:
if {Orders Detail.Quantity} <> 0 then {Orders Detail.Quantity} else "nothing" 

Taka formuła wyświetli błąd, gdyż Crystal spodziewa się wartości numerycznej na podstawie pierwszej pierwszej wartości. Zatem musimy dokonać jawnej konwersji typu.

Przykład poprawny:
If {Orders Detail.Quantity} <> 0 Then ToText({Orders Detail.Quantity}) Else "nothing" 



Funkcje if-then-else można zagnie…

Dynamiczna zmiana rozmiaru i położenia

Podczas jednego z moich szkoleń, spotkałem się z pytaniem, w jaki sposób przesuwać pola zależnie od wartości. Otóż na każdym obiekcie (pole, grafika, itd.) pod prawym przyciskiem jest opcja Size and Position, która wyświetli okno: Jak widzicie, można tutaj wpisać dokładne położenie oraz rozmiar obiektu z ręki, ale co więcej, przy atrybutach X i Width można wpisać formułę. I tutaj napotykamy problem...
Wpisując tam przykładowe wartości rzędu 10, 20 wydaje się, że to w ogóle nie działa. Obiekt ani drgnie... Myślałem swego czasu, że to bug, i że poprawią to w kolejnym Service Packu, aż wreszcie uważnie wczytałem się w dokumentację... Okazuje się, że wszystko jest OK. Po prostu wartość wpisana za pomocą formuły, przesuwa w prawo (X) lub poszerza pole (Width) względem położenia obiektu, a nie raportu. Ale to nie wszystko... Wartości tych nie podajemy w centymetrach ani pikselach, lecz w ... twipsach! Cóż to takiego??? Twip to taka specjalna jednostka miary, używana w druku: 1440 t…

Crystal Reports 2008 Service Pack 4

Właśnie zainstalowałem najnowszy Service Pack 4 do Crystal Reports 2008 oznaczony jako 12.4.0.966. Niestety nigdzie nie udało mi się znaleźć informacji co zostało poprawione. Mam tylko nadzieję, że będzie się mniej wieszał i wykresy będą sprawiały mniej problemów. Co ciekawe, automatyczne sprawdzanie aktualizacji nie wykryło tego nowego Service Packa. Musiałem osobiście (na szczęście zdalnie) odwiedzić witrynę SAP'a i pobrać odpowiedni plik. W razie czego podaję linka.

Żegnajcie stare wersje

Mam do przekazania niezbyt przyjemną informację dla użytkowników starych wersji Crystal Reports. SAP wycofał nagle ze sprzedaży Crystal Reports 10/9/8.5, które jeszcze do niedawna można było kupić w sklepie online lub u dostawców. SAP tłumaczy to tym, że świat się rozwija i trzeba iść do przodu. Niestety wiele aplikacji ma zintegrowany Crystal Reports Viewer w starej wersji i mogą się pojawić problemy z wyświetlaniem raportów jeśli bedą tworzone w nowszych wersjach. CR XI jest nadal w sprzedaży, ale podejrzewam, że za jakiś czas również zostanie wycofany ze sprzedaży, dlatego warto pomyśleć o migracji do nowszych wersji. Cóż, z sentymentem odkurzę stare płytki z trialami Crystal Reports 7/8.5/9.0/10 ....

Crystal Reports REST API

Jakiś czas temu na SAP Idea Place umieściłem kilka propozycji, a przede wszystkim stworzenia przeglądarki raportów dla Silverlight oraz wsparcie dla protokołu OData jako źródła danych.

Dla niewtajemniczonych SAP Idea Place to takie miejsce gdzie zarejestrowani użytkownicy mogą zgłaszać swoje pomysły do kolejnych wersji Crystal Reports i głosować na inne.

Ku mojemu zaskoczeniu otrzymałem odpowiedź z SAP'a, że pracują nad nowym API do Crystal Reports opartym o REST i JavaScript. Częścią nowego API będzie też kilka nowych natywnych przeglądarek do raportów. Jedna z nich będzie przeznaczona dla Silverlight.

Nowe API umożliwi również tworzenie raportów na podstawie źródła danych OData.

Niestety nie podali daty wypuszczonego nowego API, ale czekam z niecierpliwościa zwłaszcza na Viewera.

Linki do pomysłów:
Crystal Reports Viewer for SilverLight
Open Data Protocol (OData)

Zapraszam do komentowania, głosowania oraz zgłaszania własnych pomysłów.
Widać, że ktoś z SAP'a to czyta i wycią…

Wsparcie CR 2008 do marca 2013

W związku z wypuszczeniem nowej wersji Crystal Reports 2011, SAP zapowiedział do kiedy będzie wspierał poprzednią wersję produktu. Otóż wsparcie techniczne i aktualizacje dla Crystal Reports 2008 będą dostępne do marca 2013 roku. Źródło informacji: SAP

Crystal Reports 2011 opinia

Bohaterem dzisiejszego postu jest Crystal Reports 2011 - trial.

Pobrałem, zainstalowałem, uruchomiłem i ... nic nowego.

Jedynie nowy nagłówek okna SAP Crystal Reports, reszta bez zmian. Nawet sprawdzałem, czy się nie pomyliłem i nie uruchomiłem poprzedniej wersji 2008 (można mieć obydwie wersji równolegle).

Znalazłem tak reklamowany eksport do Excela 2007 oraz do pliku RPTR, czyli plik RPT tylko do odczytu. Ale to wszystko czego się doszukałem.

Formatowanie tabel cross-tab, wykresów bez zmian. Przenoszenia kolumn nie ma, chociaż widziałem na jakimś video SAP'a dla wersji serwerowej. Nie przybyło żadnej, nawet drobnej, opcji w formatowaniu.

Generalnie doznałem wielkiego rozczarowania. Jeszcze nigdy w historii Crystala pomiędzy wersjami nie było tak mało nowych funkcji.

CR 2011 powinien nazywać się co najwyżej CR 2008 SP 4.

Podobno wraz z tą wersją powstał connector do SAP'a, więc może nad tym pracowali te ostatnia 3 lata... Dla użytkowników SAP'a to może być istotny argument d…

Crystal Reports 2011 wydany!

SAP Crystal Reports 2011 został właśnie wypuszczony na rynek!

Nowe funkcje:
- eksport raportów do formatu XLSX (Excel 2007/2010)
- nowy format raportów RPTR tylko do odczytu, czyli bez możliwości modyfikacji

To tyle z oficjalnych materiałów. To bardzo niewiele jak na 3 lata od poprzedniej wersji i według mnie ciężko będzie przekonać użytkowników do upgrade'u za 295$ (pełna wersja 495$).

Mam małą nadzieję, że jest wiele innych drobnych funkcji pominiętych przez marketing, które usprawnią projektowanie raportów (np. przenoszenie kolumn) i dla których warto przenieść się do nowej wersji.

Na razie ze strony SAP nie można pobrać triala nowej wersji (wciąż jest link do demo CR 2008).

Ale jak tylko obejrzę z bliska nowego Crystala to podzielę się z wami moimi wrażeniami.

Jak używać SQL Expression?

SQL Expression to taka formuła, której treścią jest zapytanie SQL do bazy danych.

Niestety, bezpośrednie wklejenie zapytania SQL kończy się najczęściej błędem"Error in compiling SQL Expression : Failed to retrieve data from the database".

Większość użytkowników w tym momencie kończy przygodę z SQL Expression, gdyż podręcznik użytkownika niewiele mówi na ich temat i nie przytacza żadnego przykładu.

Rozwiązanie jest na wyciągnięcie ręki...

Treść zapytania SQL musi być otoczone nawiasem! - to taki pomysł twórców Crystala.

Zapytania musi zwracać wartość skalarną! - czyli musi zwracać pojedynczą wartość, a nie zestaw rekordów. Najczęściej jakąś funkcję agregującą np. sumę

Oto przykład:

Gotowe! Taką formułę można umieścić na raporcie lub wykorzystać do dalszego przetwarzania.


To również bardzo dobry sposób na optymalizację raportu, zwłaszcza w przypadku gdy posiadamy w raporcie podraporty, które służą tylko pobieraniu pojedynczej wartości. Niestety trzeba znać chociażby podstawy jęz…

Szkicowanie raportów w Balsamiq

Zanim zabierzecie się za tworzenie raportu w Crystal Reports, warto naszkicować sobie jego projekt na kartce, zanim jeszcze uruchomicie środowisko. Na szkicu powinny znaleźć się kolumny, grupowania, parametry i podsumowania.

To bardzo ułatwia późniejsze tworzenie raportu w Crystalu.

Tworzenie raportu na kartce jest bardzo szybkie, ale trudniej go przesłać komuś mailem. Oczywiście można zeskanować nasze bazgroły, ale mogą być one nieczytelne dla odbiorcy.

Z pomocą przychodzi program Balsamiq, który służy do szkicowania interfejsów użytkownika aplikacji i aplikacji webowych. Pomyślałem, że może się on przydać również do projektowania raportów. Efekt takiej próby widzicie na obrazku.

Program "nie blokuje" przekazywania myśli i po pewnym czasie rysuje prawie jak na papierze. Bardzo ciekawie jest rozwiązane wprowadzanie przykładowych danych. Projekt można wyeksportować do PDF lub PNG.

Program co prawda nie jest darmowy, ale kosztuje tylko 75$.
Na początek można pobrać 7-dniową wersję …

Crystal Reports .NET 2010 Support Pack 1

Niedawno, bo w grudniu zeszłego roku pojawił się pakiet Crystal Reports for Visual Studio 2010, a już SAP opublikował zbiór poprawek Crystal Reports for Visual Studio .NET 2010 - Support Pack 1. Nie mylić z Service Packiem!

Tradycyjne cały komplet:
- Support Pack 1
- Redist Install 32bit
- Redist Install 64bit
- Merge Modules
- ClickOnce

Oficjalna strona znajduje się tutaj

Lista poprawek: Fixed Issues

Porównanie wersji

Czasami podczas moich szkoleń pada pytanie, czy dana opcja jest dostępna w starszej wersji Crystala. Mimo, że pracuję z Crystalem od wersji 7, to niestety nie pamiętam historii zmian... Wówczas z pomocą przychodzi dokument
Crystal Reports XI Feature Comparison by Version and Edition.

Niestety nie znalazłem takiego dokumentu do CR 2008.
Jeśli ktoś znajdzie to proszę o linka :)

Nowości Crystal Reports for VS 2010

Crystal Reports Viewer for Silverlight

Wraz z nową wersją Crystal Reports for Visual Studio 2010 pojawiła się nowa kontrolka Crystal Reports Viewer for WPF. Niestety nadal nie ma wsparcia dla technologii Silverlight, która zyskuje coraz większą popularność, zwłaszcza po wydaniu 4 wersji.

Po opublikowaniu mojego posta na forum SAP'a rozgorzała gorąca dyskusja dotycząca Crystal Reports Viewer for Silverlight.

Zachęcam do lektury i dyskusji:
http://forums.sdn.sap.com/thread.jspa?messageID=9882574&#9882574