Table of Contents

Einrichtung des Services

Je nachdem, um welches Business Central-System es sich handelt, müssen mehr oder weniger Einrichtungsschritte durchgeführt werden. Das hat den Grund, dass der Service nicht einfach so auf ein Business Central-System in der Cloud zugreifen kann. Hierzu sind Vorbereitungen vonnöten, wie etwa die Registrierung des Services im Azure Portal. Falls es sich um ein Cloud-System handelt, sind alle folgenden Einrichtungsschritte notwendig:

  1. ME-Anwendung im Azure Portal einrichten
  2. ME-Anwendung in Business Central freischalten
  3. Service on prem ablegen und konfigurieren

Im Fall eines on prem-Systems müssen Sie nur Schritt 3 durchführen.

ME-Anwendung im Azure Portal einrichten

Um den Service mit einem Business Central-System in einer Cloud zu nutzen, muss er vorher auf Azure registriert und eingerichtet werden.

Öffnen Sie dazu die Seite portal.azure.com und melden Sie sich mit dem richtigen Tenant an. Im Menü finden Sie den Punkt Microsoft Entra ID.

Hier können Sie im Bereich App registrations neue Apps registrieren. Erstellen Sie eine neue Appregistrierung mit New registration.

Geben Sie der App einen Namen, zum Beispiel SIEVERS Print Service. Stellen Sie außerdem sicher, dass im Abschnitt Supported account types die erste Option Accounts in this organizational directory only ausgewählt ist.

Nach der Registrierung werden einige wichtige Daten angezeigt. Speichern Sie sich die Application ID und die Directory/Tenant ID separat ab. Sie werden sie noch brauchen. Fügen sie anschließend ein Client Secret mit Add a certificate or secret hinzu. Das ist für die Erstellung von Credentials notwendig.

Klicken Sie auf Neuer geheimer Clientschlüssel

Bei der Description können Sie wieder einen beliebigen Namen eintragen. Fügen Sie anschließend noch ein Datum hinzu, an dem das Secret auslaufen soll.

Achtung

Nachdem Sie das Secret erstellt haben, müssen Sie unbedingt das Secret-Value sofort kopieren und separat abspeichern. Kopieren ist nur bei der ersten Anzeige des Wertes möglich.

Wechseln Sie anschließend in das Menü API Permissions.

In den API Permissions muss der Service nun berechtigt werden, Daten aus der Business Central-API zu erhalten. Fügen Sie hierzu mit Add a permission eine neue Berechtigung zu.

Anschließend müssen Sie auswählen, für welche API Sie die Berechtigung vergeben möchten.

Nun wird die Berechtigung konkretisiert. Es handelt sich um eine Anwendungsberechtigung. Außerdem soll der Service sowohl lesen als auch schreiben können. Setzen Sie daher die Berechtigungen wie im folgenden Screenshot.

Nachdem Sie die Berechtigung abgespeichert haben, muss der Berechtigung noch eine Admingenehmigung erteilt werden. Wählen Sie hierzu Grant admin consent for Contoso aus.

Nun muss nur noch die Authentifizierung des Services ermöglicht werden. Öffnen Sie dazu über das Menü die Seite Authentication.

Fügen sie über Add platform eine Mobile and desktop applications Konfiguration hinzu.

Richten sie in dieser Konfiguration die Redirect-URI

https://businesscentral.dynamics.com/OAuthLanding.htm

ein.

Setzen Sie die Option Allow public client flows auf Yes.

Der Business Central Tenant wurde nun fertig für die Nutzung des SIEVERS Print Services vorbereitet.

ME-Anwendung in Business Central freischalten

Öffnen Sie in Business Central die Page Microsoft Entra Applications und lege Sie einen neuen Client an.

An dieser Stelle kommt eine ID zum Tragen, die Sie beim Einrichten des Services in Azure erzeugt haben. Tragen Sie in das erste Feld die Client ID ein, fügen Sie eine Beschreibung hinzu und schalten Sie den State auf enabled.

Weisen Sie dem Service anschließend noch die User Permission Sets D365 FULL ACCESS und SIEVERS PRINT zu.

Jetzt ist SIEVERS Print im Azure Portal eingerichtet und in Business Central freigeschaltet. Nun muss der Service on-premise angelegt und konfiguriert werden.

Service on prem ablegen und konfigurieren

Um die Druckaufträge aus BC zum Drucker zu schicken, ist die Übergabe durch einen Rechner notwendig. Der Drucker muss entweder direkt mit dem Computer verbunden sein oder sich im selben Netzwerk befinden. Kurzgesagt: Der Computer muss den Drucker erreichen können. Auf diesem Computer wird der mitgelieferte SIEVERSPrintService laufen. In den nächsten Abschnitten wird beschrieben, wie Sie diesen einrichten.

Im letzten Schritt des Einrichtungsassistenten sollten Sie das Deliverable heruntergeladen haben. Hierbei handelt es sich um den zu installierenden Service - aktuell noch im .zip Format.

Entpacken Sie die .zip Datei. Im entpackten Ordner öffnen Sie die SetupWizard.exe. Hiermit wird der Einrichtungsassistent des Print-Dienstes gestartet.

Hier gibt es folgende Felder:

  • Appsettings: Definiert die Appsettings des Print-Dienstes. Diesen Pfad können Sie in der Regel so stehen lassen. Falls Sie mehrere Printservices nebeneinander laufen lassen möchten - beispielsweise, wenn Sie ein Testsystem neben dem normalen System haben - können Sie auch den Pfad wechseln oder einen neuen erstellen.
  • Einstellungen: Siehe Einstellungen
  • Zugangsdaten: Siehe Zugangsdaten
  • Drucker: Siehe Drucker
  • Unternehmen: Siehe Unternehmen
  • Dienste: Siehe Dienste

Einstellungen

Hierbei handelt es sich um Einstellungen zum Verhalten des SIEVERS Print Services.

Hier können Sie beispielsweise einstellen, wie oft neue Dokumente aus Business Central abgerufen werden sollen oder ob und wie häufig der Dispatcher das Absenden des Druckauftrags wiederholen soll.

Zugangsdaten

Das sind die Daten, mit denen sich der Dienst bei Business Central authentifiziert. Erstellen Sie neue Zugangsdaten mit Hinzufügen. Zentral ist hierbei der Authentifizierungstyp. Davon hängt ab, welche weiteren Angaben Sie brauchen. Im Fall von AAD brauchen Sie die Azure Application ID und das Client Secret. Beides haben Sie notiert, als Sie ME-Anwendung im Azure Portal einrichten durchgeführt haben. Für die Basic-Authentifizierung benötigen Sie einen Usernamen eines BC-Benutzers und den Web Service Access Key. Den finden Sie in der Benutzerkarte (siehe Screenshot unten)

Hier finden Sie den Webdienst-Zugriffsschlüssel

Drucker

Erstellen Sie hier einen neuen Drucker, indem Sie auf Hinzufügen klicken. Geben Sie dem Drucker einen Namen und wählen Sie im Feld UNC-Pfad einen mit Ihrem Computer verbundenen Drucker aus. Wählen Sie anschließend den Dispatcher aus. Das ist normalerweise SumatraPDF. Der Dispatcher ist dafür verantwortlich, die PDF-Dateien zum Drucker zu übertragen.

Das Verhalten lässt sich über die Felder Serielle Sync. und Warten auf Dispatch in drei Szenarien konfigurieren:

  • Szenario 1 – Serielle Sync.: aus / Warten auf Dispatch: aus: Druckaufträge werden direkt an den Drucker weitergeleitet.
  • Szenario 2 – Serielle Sync.: an / Warten auf Dispatch: aus: Druckaufträge werden in eine Warteschlange geschrieben und asynchron abgearbeitet. Die Reihenfolge der Erstellung wird dabei strikt eingehalten.
  • Szenario 3 – Serielle Sync.: an / Warten auf Dispatch: an: Druckaufträge werden in eine Warteschlange geschrieben und asynchron abgearbeitet. Das Dispatcher-Skript wartet dabei auf den physischen Beginn des Druckvorgangs (erste Seite), bevor der nächste Auftrag initialisiert wird. Warten auf Dispatch erzwingt dabei den Serial Sync Modus unabhängig von der individuellen Einstellung – es kann daher nicht aktiv sein, ohne dass Serielle Sync. aktiviert ist.
Warnung

Warten auf Dispatch kann nur mit UNC-Pfaden bzw. Druckernamen ohne Leerzeichen verwendet werden.

Wenn Warten auf Dispatch aktiv ist, dauert der Dispatch-Vorgang entsprechend länger. Erhöhen Sie in diesem Fall die Max. Dispatch-Dauer (unter Einstellungen) entsprechend, damit der Druckauftrag nicht vorzeitig mit einem Fehler abgebrochen wird. Orientieren Sie sich dabei an der normalen Dispatch-Dauer des jeweiligen Druckers.

Unternehmen

Hier tragen Sie die Verbindung zu Ihrem Business Central Mandanten ein. Diese haben Sie am Ende des Business Central-Einrichtungsassistenten bekommen.

  • Azure Tenant ID = Tentant ID
  • Unternehmen = Mandantenname
  • Zugangsdaten: Wählen Sie die eben angelegten Zugangsdaten aus
  • Basis-URL = Basis-URL

Hier finden Sie die Angaben für die Anlage des Unternehmens

Zugeordnete Drucker

Hier werden die in Business Central während der Einrichtung erstellten Drucker den soeben lokal im Service erstellten Druckern zugeordnet. Geben Sie dazu im Feld BC Drucker den Namen des in Business Central angelegten Druckers an und wählen Sie in der rechten Spalte den passenden lokalen Drucker aus.

Dienste

Im Bereich Dienste verwalten Sie die auf dem Computer installierten SIEVERS Print Windows-Hintergrunddienste. Die Liste zeigt alle registrierten Dienste mit Dienstname, Starttyp und aktuellem Status (z. B. Running oder Stopped).

Folgende Aktionen stehen zur Verfügung:

  • Neu...: Legt einen neuen Windows-Hintergrunddienst an. Dabei wird eine neue Appsettings-Datei ausgewählt und der Dienst unter dem Namen SIEVERS Print Service n+1 registriert.
  • Löschen: Entfernt den ausgewählten Dienst.
  • Start: Startet den ausgewählten Dienst.
  • Beenden: Beendet den ausgewählten Dienst.
  • Neustart: Startet den ausgewählten Dienst neu.
Hinweis

Um die Dienstverwaltung nutzen zu können, muss der SetupWizard als Administrator ausgeführt werden.

Testdruck

Haben Sie alle obigen Punkte ausgefüllt, können Sie die Verbindung testen. Öffnen Sie hierzu eine Kommandozeile im /bin/ Ordner des Deliverables und starten Sie die SIEVERSPrintService.exe. Tauchen dabei keine Fehlermeldungen auf, ist alles in Ordnung.

Sie können nun in Business Central einen Testdruck durchführen. Öffnen Sie dazu die SIEVERS Print Virtuelle Drucker-Seite und öffnen Sie den gewünschten Drucker. Über Aktionen -> Testauftrag drucken wird anschließend eine Testseite auf dem gewünschten Drucker gedruckt.

Windows Background-Service anlegen

Um den Service nicht bei jedem Windows-Neustart manuell starten zu müssen, können Sie einen Windows Background-Service anlegen. Dies geschieht bequem über den Bereich Dienste im SetupWizard. Klicken Sie dort auf Neu..., wählen die gewünschte Appsettings-Datei aus und der Dienst wird automatisch registriert.

Alternativ können Sie den Dienst per PowerShell mit folgendem Kommando anlegen, dabei werden die Zugangsdaten des Nutzers abgefragt, unter dessen Name der Dienst ausgeführt werden soll:

.\New-SIEVERSPrintService.ps1

Öffnen Sie anschließend Dienste auf Ihrem Windows System. Hier müssten Sie den eben erstellten Dienst unter dem Namen SIEVERS Print Service finden. Doppelklick öffnet den mit diesem Service assoziierten Dialog. Dort können Sie den Service starten.

Wenn alles funktioniert hat, Finden Sie die erfolgreiche Ausführung des Dienstes in der Windows Ereignisanzeige im Bereich Anwendungen bei den windows Protokollen.

War die Ausführung erfolgreich, können Sie im Dienst im Reiter Allgemein den Starttyp auf Automatisch stellen.