24. April 2007 08:46
Moin,
>> Dieser Beitrag müsste in das Forum MBS 4.x, hab mich beim Posten vertan<<
ich habe einen ZEBRA 2884-Z runmliegen und möchte diesen zum Drucken von Labels über einen Report nutzen.
Beim Aufruf des Reports verschwindet der Druckjob im Nirvana, auch bei ausgeschaltetem Spooler.
Unter WIndows ist der Drucker "richtig" installiert und das Etikettenformat ist als Userdef. hinterlegt. Ein Druck z.B. aus Word funktioniert einwandfrei.
Mit einem anderen Drucker (Eltron 2442, UPS - Thermodrucker) funktioniert der Bericht.
Problem ist, daß man diese "UPS-Drucker" nicht mehr bekommt, und der 2844 liegt halt rum.
Über ein Feedback würde ich mich freuen.
Miljeno Martinac
[Beitrag aus dem Forum Dynamics NAV 1.xx - 2.xx nach Dynamics NAV 4.xx verschoben]
Gruß, Mikka
MSDynamics.de-Team
24. April 2007 18:10
Hallo Miljeno,
für mich hört sich das nach einem Treiberproblem an.
Versuch doch mal die neusten Treiber für den Drucker bei Dir zu installieren bzw. vielleicht gibt es auf der Herstellerseite alternative Treiber für Barcodes.
Gruß Hoschi Blume
27. April 2007 09:30
Hallo Miljeno,
wir haben für einen Kunden einmal einen Report mit Barcode-Druck (ebenfalls ein ZEBRA-Drucker - Modell weiß ich nicht mehr) gemacht.
Beim Druck der lesbaren Texte haben wir (wie immer) die Textboxen mit der entsprechenden SourceExpression gefüllt.
Den Barcode-Druck haben wir mit Textvariablen gelöst.
Dabei haben wir im Quellcode diese Textvariablen mit den Druckercodes gefüllt und diese Textvariablen dann ausgegeben (ebenfalls als SourceExpression von Textboxen).
Beispiel aus dem Source:
IF codeCharge <> '' THEN
txtBarcode1 := '${^FO600,750^BCN,100,N,N,N,N^FD(10)>5'+codeCharge+'^FS}$'
ELSE
txtBarcode1 := '';
IF NOT boolMischPalette THEN BEGIN
txtBarcode2 := '${^FO100,1000^BCN,200,Y,N,N,N^FD(02)>50'+recArtikel."EAN-Code";
txtBarcode2 := txtBarcode2+'>6(37)>5'+FORMAT(decEinheiten,0,'<Integer>');
txtBarcode2 := txtBarcode2+'>6(15)>5'+FORMAT(dateMHD,0,'<Year,2><Month,2><Day,2>');
txtBarcode2 := txtBarcode2+'>6(10)>5'+codeCharge+'^FS}$';
END ELSE
txtBarcode2 := '';
txtBarcode3 := '${^FO150,1300^BCN,200,Y,N,N,N^FD(00)>5'+codeNVE+'^FS}$';
Vielleicht hift dir das weiter.
Gruß
Jörg
27. April 2007 19:25
Wenn die Seitenbreite zu kurz ist, wird von der SourceExpr am Ende häufig etwas abgeschnitten. Dann druckt der Zebra nicht. Die Seitenbreite auf Querformat stellen und so breit wie nötig ziehen. Außerdem schlicht "Generic /Text" als Drucker und die richtige Codepage ( meist
850 od. 859 ( wegen € Zeichen )) für den Drucker wählen.
Um die Druckdatei zu kontrollieren , kann man diese beim Druckerfenster testweise in eine Datei umleiten und diese dann im Editor kontrollieren. Dann sieht man die gekappten SourceExpr.
Das Programmierhandbuch für die Druckersprache:
ZPL II.
29. April 2007 21:40
Danke für die Tips,
werde mich dann mal an die Arbeit machen. Die Treiber waren übrigens alle aktuell, hab sie mir bei Zebra heruntergeladen.
Melde mich mit Ergebnisen.
Miljenko
.... Man sollte seinen eigenen Namen richtig schreiben können. (hatte ein 'k' vergessen)
30. April 2007 14:04
So,
die Controls dürfen nicht über den Rand Hinausragen. Links war ein Rand deshalb war es wohl zuviel.
Das Eikett hat die Abmessungen 10,6 cm x 17,7 cm. Ich musste ein benutzerdefiniertes Etikett mit 10,16 x 18,00 cm einrichten, damit jedes Label die gleiche Startposition hat. Der Papiersensor scheint irgendwie nicht funktionieren, oder dier Etikettenträge ist zu dick. Im Report habe ich DeviceFontName:ZB:Zebra ZPL B gesetzt.
Die Papierformate können im Report nicht ausgewählt werden, sondern müssen im Printer zugewiesen sein.
Code39 (schriftart unter Win installiert) habe ich im Report erzeugt (*<Ausdruck>*), geht auch.
Gruss
Miljenko