Stellt Basis Funktionalitäten zur Verfügung um ZPL Drucker anzusteuern.
Aktuelle Version: 1.0.3.0ab Business Central 20.
Handbuch
Erstellungsdatum: 2024/11/22 Die aktuelle Version dieses Handbuchs finden Sie unter:
☰ Inhaltsverzeichnis
Allgemein
App ZPL Printer Management Base Die App ZPL Printer Management Base stellt Tabellen und Seiten zur Verfügung, um Zebra Drucker sowie ZPL Layouts zu definieren. Zu einem bestimmten Layout kann über eine Auswahl (ähnlich der Druckerauswahl im BC Standard) ein Zebra Drucker definiert werden an welchem dieses Layout gedruckt werden kann...
Aufgaben
ZPL Drucker Hier sind die zu verwendenden Zebra Drucker, sowie deren Verbindungsdaten anzugeben...
ZPL Layouts Auf dieser Seite können die ZPL Layouts in einem Editor definiert und mit den Aktionen Test Ausdruck oder Herunterladen getestet werden...
ZPL Layout Editor Hier muss das gewünschte Layout im ZPL-Format definiert werden...
ZPL Druckerauswahl
Arbeiten mit der App Die Zebra Printer Management Base stellt nur Basis Funktionen und Tabellen zur Verfügung...
Informationen für Entwickler Diese App stellt nur grundlegende Entitäten und Funktionen sowie einige Interfaces bereit. Der Verbindungsaufbau zu einem Drucker, sowie die Konvertierung eines Bildes in ZPL muss über Subapps implementiert werden...
Anhang
Versionshinweise
Docs / NVXZPL ZPL Printer Management Base / Allgemein Allgemein
Die App ZPL Printer Management Base stellt Tabellen und Seiten zur Verfügung, um Zebra Drucker sowie ZPL Layouts zu definieren. Zu einem bestimmten Layout kann über eine Auswahl (ähnlich der Druckerauswahl im BC Standard) ein Zebra Drucker definiert werden an welchem dieses Layout gedruckt werden kann.
Des Weiteren stellt diese App Funktionen bereit, um die Verbindung zu einem definierten Drucker herzustellen, ein definiertes Layout auszulesen, etc.
Auf dieser Seite können die ZPL Layouts in einem Editor definiert und mit den Aktionen "Test Ausdruck" oder "Herunterladen" getestet werden.
Felder
Code
Gibt den Code dieses ZPL Layouts an.
Beschreibung
Gibt die Beschreibung dieses ZPL Layouts an.
Etikettenart
Gibt die Etikettenart an.
Aktionen
Layout bearbeiten
Es wird eine Seite (ZPL Layout Editor) geöffnet, auf welcher das Etikettenlayout bearbeitet werden kann.
Test Ausdruck
Sendet das gewählte ZPL Layout an einen ausgewählten ZPL Drucker.
Herunterladen
Lädt das definierte Etikettenlayout als .txt herunter.
Methoden
Folgende Methoden sind auf Instanzen eines ZPL Layout Records verfügbar:
Methodenname
Beschreibung
SetNoOfCopiesForLayout(Integer): Text
Fügt einen Parameter mit der angegebenen Anzahl der Kopien im ZPL Code des Layouts ein.
SetNoOfCopiesForLayout(Integer; Text): Text
Fügt einen Parameter mit der angegebenen Anzahl der Kopien im übergebenen ZPL Code ein.
GetLayoutAsText(): Text
Liest den ZPL Code des Layouts als Text aus.
GetLayoutAsStream(): InStream
Liest den ZPL Code des Layouts als Stream aus.
Print()
Druckt das aktuelle Layout am jeweiligen Zebra Drucker der durch die Zebra Druckerauswahl vorgegeben wird.
Print(Code[20])
Druckt das aktuelle layout am im Parameter definierten Zebra Drucker.
Print(Text)
Druckt den im Parameter angegebenen ZPL Code am jeweiligen Zebra Drucker der durch die Zebra Druckerauswahl vorgegeben wird.
GetNoOfPlaceholdersFromLayout(Text): Integer
Liest die Anzahl der verfügbaren Platzhalter des ZPL Codes aus.
ReplacePlaceholders(Text; List of [Text]): Text
Ersetzt die verfügbaren Platzhalter des ZPL Codes mit einer angegebenen Liste von Werten. Die Platzhalter müssen im folgenden Format definiert sein %1-n. Ein Platzhalter wird durch den Wert ersetzt, bei welchem die Position des Wertes in der Liste mit dem Bezeichner des Platzhalters übereinstimmt.
Hier muss das gewünschte Layout im ZPL-Format definiert werden.
Beispiellayout:
^XA
^FX
^CF0,60
^FO50,50^GB100,100,100^FS
^FO75,75^FR^GB100,100,100^FS
^FO93,93^GB40,40,40^FS
^FO220,50^FDLorem ipsum^FS
^CF0,30
^FO220,115^FDdolor sit amet^FS
^FO220,155^FDconsetetur sadipscing^FS
^FO220,195^FD elitr, sed diam nonumy^FS
^FO50,250^GB700,3,3^FS
^XZ
Um dynamische Inhalte im Layout während des Programmablaufs einzufügen, können an beliebigen Stellen innerhalb des ZPL-Layouts via %[1-n] definiert werden. Für eine detailierte Beschreibung zu Platzhaltern und deren Funktion lesen Sie bitte die Informationen für Entwickler.
^XA
^FX
^CF0,60
^FO50,50^GB100,100,100^FS
^FO75,75^FR^GB100,100,100^FS
^FO93,93^GB40,40,40^FS
^FO220,50^FDLorem ipsum%1^FS
^CF0,30
^FO220,115^FDdolor sit amet%2^FS
^FO220,155^FDconsetetur sadipscing%3^FS
^FO220,195^FD elitr, sed diam nonumy%4^FS
^FO50,250^GB700,3,3^FS
^XZ
Docs / NVXZPL ZPL Printer Management Base / Aufgaben Arbeiten mit der App
Die Zebra Printer Management Base stellt nur Basis Funktionen und Tabellen zur Verfügung.
Um die definierten ZPL Etiketten an einen Drucker zu senden, muss eine der folgenden Apps ebenso installiert werden, da diese die Implementierung zur Verfügung stellen um Dateien an einen ZPL Drucker zu senden:
Um Zebra Etiketten aus Business Central drucken zu können müssen zuerst ZPL Drucker und ZPL Layouts definiert werden.
In der Zebra Druckerauswahl kann, ähnlich der Druckerauswahl im BC Standard, zu einer Kombination aus Benutzername und Zebra Layout ein Standarddrucker hinterlegt werden.
Aufgrund dieser Auswahl würden für unterschiedliche User- und Layoutkombinationen folgende Drucker ausgewählt werden:
Ist der aktuelle Benutzer ungleich TEST und das zu druckende Layout ist ungleich TESTETIKETT, dann wird am Drucker ZEBRA das Etikett gedruckt.
Ist der aktuelle Benutzer ungleich TEST und das zu druckende Layout ist TESTETIKETT, dann wird am Drucker ZEBRA4 das Etikett gedruckt.
Ist der aktuelle Benutzer TEST und das zu druckende Layout ist ungleich TESTETIKETT, dann wird am Drucker ZEBRA2 das Etikett gedruckt.
Ist der aktuelle Benutzer TEST und das zu druckende Layout ist TESTETIKETT, dann wird am Drucker ZEBRA3 das Etikett gedruckt.
Docs / NVXZPL ZPL Printer Management Base / Aufgaben Informationen für Entwickler
Diese App stellt nur grundlegende Entitäten und Funktionen sowie einige Interfaces bereit. Der Verbindungsaufbau zu einem Drucker, sowie die Konvertierung eines Bildes in ZPL muss über Subapps implementiert werden.
Interfaces
Diese App stellt folgende Interfaces sowie die dazugehörigen Enums zur Verfügung:
ZPLIPrinterConnectorNVX
Enum: ZPLConnectionTypeNVX
Methoden
Methodenname
Beschreibung
Print(Text; Code[20])
Druckt den als Text übergebenen ZPL Code am angegebenen ZPL Drucker.
Konvertiert und rotiert ein Bild, übergeben als Stream, in ZPL Code.
Drucken eines Layouts
Auf der Tabelle ZPLPrinterNVX ist das Feld "Connection Type" definiert, welches das Interface ZPLIPrinterConnectorNVX implementiert. Dieses Enum kann in Subapps erweitert werden um unterschiedliche Verbindungsarten zum Drucker zu unterstützen.
procedure PrintLayout(LayoutCode: Code[20]; NoOfCopies: Integer)
var
ZPLLayout: Record ZPLLayoutNVX;
ZPLPrinter: Record ZPLPrinterNVX;
ZPLPrinterMgt: Codeunit ZPLPrinterMgtNVX;
PrinterCode: Code[20];
IZebraConnector: Interface ZPLIPrinterConnectorNVX;
Placeholders: List of [Text];
LabelLayout: Text;
begin
ZPLLayout.Get(LayoutCode);
ZPLPrinterMgt.GetPrinter(ZPLLayout.Code, PrinterCode); //ermittelt den Drucker anhand der ZPL Druckerauswahl
ZPLPrinter.Get(PrinterCode);
IZebraConnector := ZPLPrinter."Connection Type"; //Implementierung der Druckerverbindung wird über Subapps definiert.
Placeholders.Add('Test');
Placeholders.Add('Test2'); //Definition der Werte die die Platzhalter ersetzen sollen. Der Platzhalter %1 wird durch Test ersetzt und der Platzhalter %2 wird durch Test2 ersetzt.
LabelLayout := ZPLLayout.GetLayoutAsText();
ZPLLayout.SetNoOfCopiesForLayout(NoOfCopies, LabelLayout);
LabelLayout := ZPLLayout.ReplacePlaceholders(LabelLayout, Placeholders);
IZebraConnector.Print(LabelLayout, PrinterCode);
end;
Docs / NVXZPL ZPL Printer Management Base / Anhang Versionshinweise
Möchten Sie wissen, was sich in der Erweiterung geändert hat? Nachfolgend finden Sie eine Übersicht über die neuen Funktionen und Änderungen, die in den Updates vorgenommen wurden.
Build-Übersicht in DevOps
NVXZPL 1.0.3.0
ab Business Central 20 2023/11/06
Verbesserungen
Feld LabelType von der Tabelle ZPL Layout auf Obsolete gesetzt.
NVXZPL 1.0.2.0
ab Business Central 20 2023/11/06
Verbesserungen
Entfernen des Feldes LabelType von der Tabelle ZPL Layout, sowie von der Page ZPLLayouts.
NVXZPL 1.0.1.0
ab Business Central 20 2023/10/23
Verbesserungen
Verbesserung der Funktionalität von ReplacePlaceholders von der Tabelle ZPL Layout, sowie die Erweiterung um das Feld LabelLayoutType - Enum
von der Tabelle ZPL Layout.
NVXZPL 1.0.0.1
ab Business Central 20 2023/06/21
Verbesserungen
Verbesserung der Funktionalität, um Platzhalter im ZPL Layout zu ersetzen.