CrystalReports: Barcode-Etikett für Artikel/Geräte
Hier beschrieben, wie man ein Formular für ein Artikel-Etikett erstellt oder ändert.
1 Voraussetzungen:
Sie benötigen:
- Crystal-Reports: Mit diesem Programm wird das Formular bearbeitet.
- Einen Etikettendrucker: Im Normalfall handelt es sich dabei um einen speziellen Drucker, der (nur) Etiketten bedrucken kann, z.B. einen Thermotransfer-Drucker mit Kunststoffetiketten.
- Den Treiber für den Etikettendrucker: Auch wenn der Etikettendrucker nicht direkt an Ihrem PC angeschlossen ist, müssen Sie den Treiber für den Etikettendrucker auf Ihrem PC installieren. Nur dann können Sie in CrystalReports das Format des Etiketts auswählen/einstellen!
- Eine Barcode-Schriftart für die Inventarnummer: Wenn Ihr Etikettendrucker eingebaute Barcodes hat, können Sie diese ggf. verwenden. Einzelheiten dazu entnehmen Sie der Beschreibung des Druckers. Alternativ dazu können Sie auch eine True-Type-Schriftart verwenden. Die Schriftart für den Barcode-Typ "2of5i" können Sie von unserem Support erhalten. In diesem Fall benötigen Sie auch noch eine CrystalReports-Formel, die die benötigten Zeichen für den 2of5i-Barcode und ggf. eine Prüfziffer errechnet. Ein entsprechendes Muster-Formular können Sie auch von unserem Support erhalten.
2 Vorgehensweise:
An einem Beispiel sollen die einzelnen Schritte erläutert werden. So soll das Etikett aussehen:
Dies entspricht dem Standard-Etikett von GEVITAS. Sie können dieses als Basis für Ihr eigenes Etikett benutzen.
2.1 Drucker einrichten in CrystalReports:
Öffnen Sie CrystalReports und das Musteretikett. Klicken Sie dann auf "Datei->Drucker einrichten". Wählen Sie Ihren Etikettendrucker und das Etikettenformat aus. Beispiel:
Erst danach können Sie im CrystalReports-Editor sehen, welche Dimensionen das Etikett hat.
Es empfiehlt sich, mit "Datei->Seite einrichten" die Seitenränder auf 0 zu stellen:
In der Entwurfsansicht sieht das ganze dann z.B. so aus:
Wenn die Inventarnummer bei Ihnen nicht als Barcode erscheint sondern im Klartext, so haben Sie vergessen, die Schriftart "i2of5Gevitas.ttf" zu installieren!
Einfügen der Formel für den 2/5i-Barcode: Wenn Sie das GEVITAS-Standardformular benutzen, ist eine Formel für den Barcode 2/5i schon vorhanden. Wenn nicht, müssen Sie diese selbst erstellen. Sie müssen keine Formel verwenden, wenn… … Sie einen anderen Barcode verwenden … Sie einen eingebauten Barcode des Etikettendruckers verwenden Tipp F05: Formular für Artikel-Etiketten 3 Die Formel lautet: // Formel für Berechnung der Inventarnummer für Schriftart "Code 2/5 IL" // Diese Formel kann zusätzlich eine Prüfziffer generieren. // Bei nicht korrekter Anzahl der Stellen wird eine "0" vorangestellt WhilePrintingRecords; NumberVar iMitPruefZiff := 1; // Bei 1 wird die Prüfziffer mit generiert StringVar sInv; // Inventarnummer StringVar sBar; // Barcode- Nummer NumberVar i; NumberVar k; NumberVar iq1; // Quersumme aus den ungeraden Positionen NumberVar iq2; // Quersumme aus den geraden Positionen sInv := {MARTEINZ.InventarNr}; // Inventarnummer aus DB holen // Überprüfen, ob überhaupt gültige werte in der Inventarnummer sind For i := 1 To Len(sInv) Do // Alle Zeichen einzeln überprüfen ( k := Asc(Mid(sInv, i, 1)); If (k < Asc("0")) Or (k > Asc("9")) Then sInv := ""; // Inventarnummer ungültig > löschen ); sBar := ""; // Ausgabestring leeren If (sInv <> "") Then // Inventarnummer ist ein gültiger String > Berechnung starten ( // Prüfziffer errechnen, wenn oben eingeschaltet und Inventarnummer vorhanden If (iMitPruefZiff = 1) Then ( If (Len(sInv) Mod 2) = 0 Then // Eine Inventarnummer mit Prüfziffer sInv := "0" + sInv; // muss eine ungerade Anzahl von Stellen haben iq1 := 0; // Quersummenzähler leeren iq2 := 0; For i := 1 To Len(sInv) Do // Quersumme errechnen ( If (i Mod 2) = 1 Then iq1 := iq1 + (Asc(Mid(sInv, i, 1)) - Asc("0")) // Quersumme aus den ungeraden Positionen Else iq2 := iq2 + (Asc(Mid(sInv, i, 1)) - Asc("0")); // Quersumme aus den geraden Positionen ); k := (3 * iq1) + iq2; // Summe errechnen i := Round((k + 4) / 10, 0) * 10; // Nächster 10ner- Schritt errechnen sInv := sInv + Chr(Asc("0") + (i - k)); // zu Inventarnummer die Prüfziffer anhängen ); // Inventarnummer zu 2of5i- String wandeln If (Len(sInv) Mod 2) = 1 Then // Eine Inventarnummer muss eine sInv := "0" + sInv; // gerade Anzahl von Stellen haben For i := 1 To Len(sInv) Step 2 Do // Inventarnummer- String in zweier-Schritten durchlaufen ( k := ToNumber(Mid(sInv, i, 2)); // Zahlenwert aus 2 Stellen der Inventarnummer ermitteln If k = 94 Then sBar := sBar + "ü" // Spezielle Wandlung bei Zahl "94" Else sBar := sBar + Chr(k + 33); // Anderen Zahlen werden als Zeichen gewandelt ); If sBar <> "" Then sBar := "Ä" + sBar + "ä"; // Inventarnummer mit Start und Stop- Zeichen versehen ); sBar // Ausgeben der Zeichenfolge als Text für Schriftart "Code 2/5 IL" Beachten Sie, dass Kommentare in CrystalReports mit // beginnen! Fügen Sie die Formel in Ihr Formular ein. Wenn Sie das Ergebnis der Formel lesen wollen, stellen Sie z.B. die Schriftart „Arial“ ein. Wenn der Barcode angezeigt werden soll, stellen Sie die Schriftart „Code 2/5i“ ein! Einfügen der Formel für den Code39-Barcode: Diese Barcode verwendet als Start- und Stopp-Zeichen das Sternchen ( * ). Um einen korrekten Barcode zu erhalten, müssen Sie diese Formel erstellen… "*" + {MARTEINZ.INVENTARNR} + "'*" …und in Ihr Formular ziehen. Hierfür benötigen Sie dann eine spezielle Schriftart, die man z.B. im Internet beziehen kann. Tipp F05: Formular für Artikel-Etiketten 4 Formatieren des Detail-Bereichs: Da ja jedes Etikett eine Seite (wenn auch eine kleine!) darstellt, müssen Sie den Detail-Bereich noch folgendrmaßen formatieren: - Klicken Sie mit der rechten Maustaste auf den Detail-Bereich und wählen „Bereich formatieren“ aus. - Stellen Sie folgendes ein: Danach fügen Sie die gewünschten weiteren Felder in das Formular ein, z.B. Artikelbezeichnung {MART.BEZEICHNUNG} Artikeltyp {MART.TYP} Einzelartikel-Ser.Nr. {MARTEINZ.IDENTNR} usw.