Przejdź do głównej zawartości

Posty

Wyświetlanie postów z 2007

UFL w Javie

CR XI umożliwia tworzenie własnych funkcji w Javie. Do wersji CR 10 było to tylko możliwe w Visual Basic lub C++. Polecam tutorial Java User-Defined Function Libraries (UFL) , który opisuje jak stworzyć taką funkcję ale w Javie! Swoją drogą ciekawe kiedy będzie możliwe stworzenie własnej crystalowej funkcji w .NET, bez potrzeby jej rejestracji jako COM.

Parametry opcjonalne

W CR 2008 wprowadzono parametry opcjonalne, ale również w poprzednich wersjach można stworzyć parametr opcjonalny. Trzeba jednak zastosować pewien trick: 1. Tworzymy normalny parametr, np. Country. 2. Następnie do wartości domyślnych (default values) dodajemy wartość np. "BRAK", która będzie oznaczała, że użytkownik nic nie wybrał. 3. Następnie w selection formula wpisujemy formułę: if @Country="BRAK" then true else Table1.Country=@Country Czyli w przypadku gdy użytkownik wybierze wartość specjalną wartość BRAK zawsze będziemy zwracać TRUE. W przeciwnym razie filtrujemy tak jak zwykle. Gotowe! Oczywiście to mniej wygodne niż rozwiązanie w CR 2008, ale działa :)

Nowości w Crystal Reports 2008

Polecam opis nowości CR 2008 na blogu (ang.): Crystal Reports Underground Jak można przeczytać, wreszcie są opcjonalne parametry. Dotychczas trzeba było stosować trick. Raporty są teraz bardziej dynamiczne, można zmieniać wartość parametru, sortowanie, bez potrzeby odświeżania. Intellisense w edytorze formuł - przyspieszy pisanie kodu i zmniejszy ilość błędów. I to nie wszystko... Według mnie BO poszedł w dobrym kierunku. Wysłuchał wreszcie opinii użytkowników i usunął największe bolączki. Jednak to za mało aby nazwać tą wersję rewolucyjną...

Crystal Reports 2008 wydany!

Niedawno ukazała się beta CR 2008, a już można pobrać wersję finalną. Można ją również kupić w Polsce za $639 albo, jeśli ktoś miał poprzednią wersję, dokonać upgrade'u za $389. Nie ma już podziału na wersję developer i professional. Cena więc jest gdzieś po środku. Czyli ci używali pro zapłacą teraz trochę więcej, a developer nieco mniej. Miejmy nadzieję, że warto. Lista (po angielsku) nowych funkcji jest tutaj .

Workflow Windows Foundation i MVC

Workflow można zastosować nie tylko do sterowania procesami biznesowymi, lecz również do sterowania interfejsem użytkownika. Polecam artykuł, który opisuje taki pomysł w oparciu o technologię Workflow Windows Foundation w aplikacji WPF'owej z użyciem patternu MVC: Orchestrating a WPF App using MVC and Windows Workflow Foundation Jako dowód, może posłużyć projekt Himalia , w którym można "rysować" przejścia pomiędzy ekranami. Co prawda Himalia nie wykorzystuje WWF lecz własny engine, ale to tylko kwestia implementacji. Swoją drogą, z uwagi na uśmiercenie projektu Acropolis przez Microsoft, Himalia jest bardzo ciekawą alternatywą.

Crystal Reports i Btrieve

Choć przez wielu zapomniana, baza plikowa Btrieve, jest ciągle używana, bo co jakiś czas dostaję maila z zapytaniem jak dostać się do Btrieve'a z poziomu Crystal Reports. Cały problem polega na tym, że pliki z danymi Btrieve'a nie zawierają opisu struktury danych. Dlatego trzeba wygenerować pliki ddf z opisem struktury. Ja robiłem to niegdyś za pomocą generatora aplikacji Magic, ale są również do tego specjalne narzędzia, np. DDF Maker. Musimy wówczas ręcznie zdefiniować nazwy kolumn, typy i na tej podstawie wygenerować plik DDF. Niestety przy dużej ilości tablic to sporo roboty :( Dlatego warto się zapytać dostawcy oprogramowania, czy może już posiada takie pliki. Jak już mamy pliki DDF to możemy się dostać do danych za pomocą sterownika ODBC i stworzyć raport.

Crystal Reports XI i deployment

Podczas integracji Crystal Reports z własną aplikacją nadchodzi taki czas, że trzeba zająć deploymentem, czyli zrobić instalkę itd. W CR nie jest to takie proste, choć z wersji na wersję jest to coraz łatwiejsze. Dlatego najlepiej zrobić to krok po kroku według instrukcji aby uniknąć problemów. Instrukcje dla .NET: CR XI deployment http://resources.businessobjects.com/support/communitycs/TechnicalPapers/crxi_net_deployment.pdf CR XI R2 deployment http://resources.businessobjects.com/support/communitycs/TechnicalPapers/crxi_r2_net_deployment.pdf Jednak w CR XI miałem kiedyś problemy po deploymencie, więc polecam upgrade do CR XI R2.

Crystal Reports Viewer XI

Wreszcie po wielu latach nieobecności pojawiła się darmowa przeglądarka do raportów Crystal Reports Viewer XI. Nie umożliwia odświeżania, więc służy tylko do przeglądania raportów z zapisanymi danymi. Jest w kilku wersjach językowych, ale niestety nie ma polskiej. Posiada również kilka ograniczeń. Można ją pobrać tutaj .

Słownie złotych

Czasami na raportach, na przykład na fakturach, zachodzi potrzeba zamiany liczby na słownie złotych. Crystal to umożliwia ale tylko na język ang. Dlatego napisałem funkcję UFL do CR, która to realizuje. Jest to funkcja typu Crystal Reports UFL (User Function Libraries) i korzysta sie z niej tak samo jak z wbudowanych funkcji Crystal Reports. Obecny zakres liczb od 0 do biliona. Opis instalacji 0. Pobierz 1. Rozpakować archiwum i skopiować plik CRUFLslw.dll do np. katalogu C:\WINDOWS\system32 2. Uruchomić linię poleceń: CMD 3. Przejść do katalogu z plikiem: CD C:\WINDOWS\system32 3. Uruchomić polecenie rejestracji biblioteki: regsvr32 CRUFLslw.dll Powinno wyświetlić się okno z informacją "DllRegisterServer in CRUFLslw.dll succeeded." 4. Uruchomić Crystal Reports 5. Utworzyć nową formułę i wpisać np. slownie(123.45) Przetestowałem również z Crystal Reports 2008 i działa.

Crystal Reports 2008 beta

Zainstalowałem betę CR 2008. Po uruchomieniu już widać zmianę - interfejs przypomina nowego Office'a 2007, czyli podobnie jak XI był wzorowany na Office 2003. Zrobiłem na początek prosty raport. Kreator bez zmian. Design raportu również. Ale wiele opcji zmieniło swoje miejsce. Zostały bardziej zgrupowane tematycznie, np. dotyczące sekcji, co powinno ułatwić pracę. Opcje dla sekcji zostały rozdzielone na kilka zakładek, bo poprzednio była długa lista opcji. Z ciekawych nowości to można wstawiać obiekty flasha do raportu. To ma głównie służyć integracji z Crystal XCelsius. Przetestowałem obsługę kodów kreskowych. Zaznacza się pole z bazy i włącza opcję change to barcode i odpowiednia funkcja (pod spodem) zamienia liczbę na obraz graficzny. Wcześniej trzeba było stosować dodatkową czionkę TrueType, albo specjalne płatne biblioteki. Raporty mogą być teraz bardziej interaktywne - na raporcie wstawiłem przycisk, który umożliwia zmianę sortowania w locie. CR 2008 potrafi otwierać raporty