Przejdź do głównej zawartości

Kody kreskowe w Crystal Reports 2008

Crystal Reports 2008 posiada wbudowaną obsługę kodów kreskowych. Niestety w standardzie otrzymujemy tylko Code 39. Jeśli chcemy skorzystać z innych kodów, np. Code 128 narzędzie kieruje nas na stronę firmy Azalea, gdzie możemy dokupić pakiet innych kodów. Czy to jedyne rozwiązanie? Na szczęście nie.

Znalazłem stronę francuską poświęconą kodom kreskowych:
http://grandzebu.net/index.php?page=/informatique/codbar-en/ean13.htm

Strasznie stary wygląd strony, ale zawiera wiele cennych linków:

Code 128 w postaci darmowej czcionki TTF:
http://grandzebu.net/informatique/codbar/code128.ttf

Code 128 w postaci darmowej funkcji UFL do Crystal Reports:
http://grandzebu.net/informatique/codbar/code128_Crystal%20reports.zip

Co więcej, tych rozwiązań można również użyć w starszych wersjach Crystal Reports.

Komentarze

Anonimowy pisze…
Czy w wersji 11 tez działa? Pytam ponieważ jakoś nie mogę tego podłączyć.
Marcin Sulecki pisze…
Jeśli chodzi o rozwiązanie z czcionkami TTF to z pewnością. Jeśli korzystasz z biblioteki DLL to również nie powinno być problemu.

Czy zarejestrowałeś tą bibliotekę za pomocą regsvr32?
Anonimowy pisze…
Biblioteki z katalogu dll podrzuciłem do system32 oraz na wszelaki wypadek do katalogu bibliotek CRYSTALA, CRUFL128.dll zarejestrowalem, czcionka poszła do FONTS i nadal w Additional Funcions nic nie widze, no poza azalea ktora i tak nie dziala bez swoich czcionek (z tego co wyczytalem i testowalem) hmm
Marcin Sulecki pisze…
Jeśli posługujesz się czionkami, nie musisz stosować dll'ki. Po prostu zaznaczasz tekst (zwykle liczba) i zmieniasz font na kreskowy.
Unknown pisze…
No tak, tylko taki kod nie będzie czytany przez czytnik. Poza danymi musi posiadać marker start, stop a sama czcionka tego nie załatwia (z tego co testowałem) :( Chyba, że wiesz jak, wtedy bardzo bym prosił o uchylenie rąbka.
Unknown pisze…
ok, wystarczający okazał się kod39 co do stosowania samych czcionek to faktycznie można ale trzeba mieć jeszcze kod formuły 128, dzięki nie mam więcej pytań
Anonimowy pisze…
witam,
w CR2008 próbuję użyć funkcji (additional functions->COM and .NET UFLs(u212com.dll).
Stosuję oo kolei funkcje Code128a, Code128b, Code128c i EAN128. Dla utworzonego ciągu znaków stosuję czcionkę Code128. Wykonałem kilka prób dla czcionek z różnych źródeł. CR ciągle drukuje coś czego skaner nie może odczytać. Jakiej funkcji i jakiej czcionki mam użyć?
Janek
Anonimowy pisze…
I'm looking for a formula to create 2 of 5 barcodes in Crystal for a report, any info for this? email me at sol at finelinesettings dot com

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