Squeeze4NAV Installation & Administration
- Voraussetzungen
- Unterstütze Dynamics NAV / BC Versionen
- Dynamics NAV AddIns
- Dynamics NAV Instanz für den Web Service Zugriff
- Dynamics NAV Objekte
- Einspielen / Anpassen der Dynamics NAV Objekte
- Einrichtung
- DEXPRO Squeeze Einrichtung
- Squeeze Stammdatenmapping
- Export Mapping
- Dynamics NAV Add-ins
- Web Service für Squeeze
- Hintergrundjobs
- Einrichtungen auf der Squeeze Seite
- Übernahme in ein anderes NAV System
Voraussetzungen
Unterstütze Dynamics NAV / BC Versionen
Die Microsoft Dynamics NAV Integration ist auf Grund von technischen Mindestvoraussetzungen nur bei den folgenden Versionen möglich:
- Microsoft Dynamics NAV 2018
- Microsoft Business Central 14 on prem
Voraussetzung hierbei ist, dass die jeweilige Microsoft Dynamics NAV Version sich noch im regulären Support befindet. Der erweiterte Support (extended Support) wird ausgeschlossen.
Bei der aktuellen Lösung wird ausschließlich der Role Tailored Client (RTC) für die Integration unterstützt.
Die Integration ist nicht mit dem Web Client kompatibel.
Ältere Versionen sind auf Grund der in Dynamics NAV eingesetzten TLS Version nicht mehr möglich!
Dynamics NAV AddIns
Es werden folgende AddIns mit ausgeliefert:
- DEXPRO_Solutions.dll
- SOAPWebServiceConnector.dll
Die DEXPRO_Solutions.dll muss sowohl Client-seitig als auch Server-seitig in das Add-Ins Verzeichnis von der installierten Dynamics NAV Version kopiert werden. Die andere muss lediglich server-seitig abgelegt werden.
Dynamics NAV Instanz für den Web Service Zugriff
Damit Squeeze an Dynamics NAV angeschlossen werden kann, muss eine Dynamics NAV Instanz hierfür vorbereitet werden.
Die Schritte hierfür werden in den Kapiteln "Dynamics NAV Instanz Einrichtung" und "SOAP" der Web Services beschrieben: Web Service Kapitel
Dynamics NAV Objekte
Es werden folgende Dynamics NAV Objekte mit ausgeliefert. Diese müssen über den Dynamics NAV Partner zusätzlich lizensiert werden. Die Standard Objekte werden lediglich um Felder erweitert.
Type | ID | Name | Änderung |
Table | 23 | Vendor | Neue/s Feld(er) |
Table | 288 | Vendor Bank Account | Neue/s Feld(er) |
Table | 9054 | Finance Cue | Neue/s Feld(er) |
Table | 80650 | DEXPRO Validation Header | Neues Objekt |
Table | 80651 | DEXPRO Validation Position | Neues Objekt |
Table | 80652 | Squeeze MasterData | Neues Objekt |
Table | 80653 | Squeeze MD Field Mapping | Neues Objekt |
Table | 80654 | DEX Table Link | Neues Objekt |
Table | 80655 | DEXPRO Line Comparison Head | Neues Objekt |
Table | 80656 | Blob File Management | Neues Objekt |
Table | 80657 | Invoice Fields Alternatives | Neues Objekt |
Table | 80658 | DEXPRO Line Comparison Pos | Neues Objekt |
Table | 80659 | Export File | Neues Objekt |
Table | 80660 | Export File Field Mapping | Neues Objekt |
Table | 80661 | File Pos Grid | Neues Objekt |
Table | 80662 | Custom Field Translation | Neues Objekt |
Table | 80670 | DEXPRO Setup | Neues Objekt |
Report | 80650 | DEXPRO Background Job | Neues Objekt |
Report | 80651 | Squeeze Master Data Job | Neues Objekt |
Codeunit | 80650 | DEXPRO Squeeze Invoice Mgt. | Neues Objekt |
Codeunit | 80651 | Squeeze Management | Neues Objekt |
Codeunit | 80652 | File Handling Management | Neues Objekt |
Codeunit | 80653 | DEXPRO Mapping Management | Neues Objekt |
Codeunit | 80654 | DEXPRO Inv Master Data Sync | Neues Objekt |
XMLPort | 80650 | DEXPRO Invoice Structure | Neues Objekt |
Page | 9030 | Account Manager Activities | Einbindung neuer Felder |
Page | 9036 | Bookkeeper Activities | Einbindung neuer Felder |
Page | 80650 | DEXPRO Validation List | Neues Objekt |
Page | 80651 | DEXPRO Validation Header | Neues Objekt |
Page | 80652 | DEXPRO Validation Positions | Neues Objekt |
Page | 80653 | DEX Line Comparison Header | Neues Objekt |
Page | 80654 | Squeeze Master Data Mapping | Neues Objekt |
Page | 80655 | Squeeze MD Field Mapping | Neues Objekt |
Page | 80656 | Squeeze Master Data Overview | Neues Objekt |
Page | 80657 | DEX Table Link | Neues Objekt |
Page | 80658 | DEX Line Comparison SQZ Pos | Neues Objekt |
Page | 80659 | BrowserControl | Neues Objekt |
Page | 80660 | DEX Line Comparison Positions | Neues Objekt |
Page | 80661 | DEX Line Comparison Overview | Neues Objekt |
Page | 80662 | Export File Overview | Neues Objekt |
Page | 80663 | Export File Card | Neues Objekt |
Page | 80664 | Export Mapping Fields | Neues Objekt |
Page | 80665 | Export Position Grid | Neues Objekt |
Page | 80666 | Alternative Values List | Neues Objekt |
Page | 80667 | DEX Table Overview | Neues Objekt |
Page | 80668 | DEX Field Overview | Neues Objekt |
Page | 80669 | Custom Field Translations | Neues Objekt |
Page | 80670 | DEXPRO Setup | Neues Objekt |
Anmeldung
Für das Einspielen und Bearbeiten der Objekte wird eine Anmeldung benötigt. Dieser User benötigt eine CRUD Berechtigung (Erstellen, Lesen, Modifizieren & Löschen) in Dynamics NAV und der dazugehörigen SQL Datenbank.
Einspielen / Anpassen der Dynamics NAV Objekte
Das Einspielen und Anpassen der Dynamics NAV Objekte erfordert einen Zugang zum Entwicklungssystem (Development Environment) und der genutze Account benötigt ausreichend Rechte um CRUD Funktionen auszuführen. Diese müssen sowohl SQL-seitig für die NAV Datanbank eingerichtet sein, als auch Software-seitig innerhalb Dynamics NAV.
Einspielen der Squeeze4NAV Objekte
In der Entwicklungsumgebung wird die FOB-Datei mit den Squeeze4NAV Objekten über den Object Designer eingespielt. Bei der Auswahl der zu importierenden Objekte betrachten wir in diesem Abschnitt nur die neuen Squeeze4NAV Objekte (IDs zwischen 80650 - 80670) und nicht die Änderungen an den Standard Objekten.
Beim Import Worksheet werden alle Objekte aus der FOB-Datei aufgelistet. In der Spalte "Action" steht die vorgeschlagene Aktion für den Import. Dies muss bei den Squeeze4NAV Objekten (80650 - 80670) "Create" sein. Sollte dies nicht der Fall sein und dieser Objektbereich schon anderweitig belegt sein, so muss dies durch den NAV Partner des Kunden geklärt werden.
Im ersten Schritt muss entweder die Action bei den NAV Standard Objekten manuell auf "Skip" oder ein Filter auf die Squeeze4NAV Objekte gesetzt werden. So wird sichergestellt, dass auch nur diese importiert werden.
Mit einem Klick auf "OK" wird der Importvorgang durchgeführt.
Anpassen der Dynamics NAV Standard Objekte
Diese müssen von einem Dynamics NAV Entwickler, vorzugsweise von dem Dynamics NAV Partner des Kunden, eingespielt werden.
Die Änderungen im Überblick:
Type | ID | Name | Änderung | optional |
Table | 23 | Vendor | neues Feld 80700 "Squeeze ID" vom Typ Integer | nein |
Table | 288 | Vendor Bank Account | neues Feld 80700 "Squeeze ID" vom Typ Integer | nein |
Table | 9054 | Finance Cue | neues Feld 80650 "Actual Docs for Validation" vom Typ Integer | ja |
Page | 9030 | Account Manager Activities | neue CueGroup "Squeeze" + einbinden des neuen Feldes | ja |
Page | 9036 | Bookkeeper Activities | neue CueGroup "Squeeze" + einbinden des neuen Feldes | ja |
Diese Änderungen können über das Import Worksheet mit "Merge: Existing -> new" importiert werden. Hierbei werden allerdings die Versionsliste und der Dokumentationsbereich dieser Objekte ebenfalls überschrieben. Dieses darf bei vorhandenen kundenspezifischen Änderungen oder Branchenlösungen nicht durchgeführt werden!
Besser ist ein manueller Merge der aufgelisteten Anpassungen. Dies darf aber nur von Fachpersonal ausgeführt werden.
Einrichtung
Um die Einrichtung des Squeeze4NAV Moduls vorzunehmen wird ein Dynamics NAV Client mit berechtigtem User benötigt.
DEXPRO Squeeze Einrichtung
- Die DEXPRO Einrichtung (Page 80670) ausführen und auf "Neu" klicken, um einen neuen Datensatz anzulegen.
- "Squeeze verwenden" anklicken um die weiteren Felder einzublenden und das Modul grundsätzlich zu aktivieren.
- Squeeze Host eintragen
- Squeeze Benutzer und Passwort hinterlegen
- Über die Schaltfläche "Verbindung testen" die Verbindung zum Squeeze System prüfen. Hierdurch wird auch die verwendete Squeeze Version ins Feld eingetragen.
- Einen API Namen eintragen und auf die Schaltfläche "Squeeze Schlüssel holen" klicken. Hierdurch wird ein API Key generiert. Im Anschluss können die Felder "Squeeze Benutzer" und "Squeeze Passwort" geleert werden.
- Schaltfläche "Squeeze Stammdaten Mapping" ausführen und einrichten. Dies wird hier beschrieben.
- Schaltfläche "Export Mapping" ausführen und einrichten. Dies wird hier beschrieben.
- Feld "Stammdaten synchronisieren" anhaken.
- Schaltfläche "Kreditoren zu Squeeze übertragen" anklicken, um das erste mal die Kreditoren zu Squeeze zu übertragen. Diese Funktion darf nur am Anfang einmalig ausgeführt werden.
Weitere Funktionen
- "Aktive Squeeze Mandanten auslesen": Hier werden alle Mandanten angezeigt, welche derzeit an Squeeze angeschlossen sind.
- "Einrichtung kopieren": Hiermit kann die DEXPRO Einrichtung, das Squeeze Stammdaten Mapping und das Export Mapping in einen anderen Mandanten kopiert werden.
Weitere Felder
- "Zusammengefasste Ansicht verwenden": Dies aktiviert eine zusammengefasste Validierungsansicht.
- "Dokumente per Job aufräumen": Hierdurch wird das Aufräumen älterer gelöschter Belege aktiviert.
- "Entferne Dokumente älter als Monat(e)": Hier wird in Monaten angegeben wie alt ein Beleg sein muss, damit er automatisiert endgültig gelöscht werden darf.
Squeeze Stammdatenmapping
Das Squeeze Stammdaten Mapping wird über die DEXPRO Einrichtung aufgerufen.
Beim initialien Öffnen ist die Liste leer. Diese wird beim Klick auf die Schaltfläche "Stammdatenstruktur holen" gefüllt. Die Daten werden bei der Funktion direkt aus Squeeze ausgelesen und aufgelistet. Dies muss manuell erneut ausgeführt werden, sobald in Squeeze neue Stammdaten Tabellen angelegt worden sind.
Um Squeeze korrekt verwenden zu können, werden die Kreditoren aus NAV benötigt. Hierfür muss das Mapping für den Eintrag "creditors" bearbeitet werden.
Standard Einrichtung
Die Felder sind im Standard wie folgt zu befüllen:
Referenz Tabelle 23 (Vendor)
Felder
id | leer lassen. Dies wird im Hintergrund von Squeeze vergeben. |
CompanyId | Hier wird der Dynamics NAV Mandant in der Spalte "Fester Wert" eingetragen. |
CreditorId | Feld 1 "Nr." |
Name1 | Feld 2 "Name" |
Name2 | Feld 4 "Name 2" |
Street | Feld 5 "Adresse" |
Zip | Feld 91 "PLZ-Code" |
City | Feld 7 "Ort" |
CountryCode | Feld 35 "Länder-/Regionscode" |
Phone | Feld 9 "Telefonnr." |
Fax | Feld 84 "Faxnr." |
Feld 102 "E-Mail" | |
Webpage | Feld 103 "Homepage" |
IBAN | leer lassen. Dies wird im Hintergrund mit übertragen. |
NationalTaxId | Feld 11000 "Steuernummer". Dieses Feld gibt es nur bei deutschen NAV Installationen |
EUTaxId | Feld 86 "USt-IdNr." |
Currency | Feld 22 "Währungscode" |
PaymentTerm | Feld 27 "Zlg.-Bedingungscode" |
BankCode | leer lassen. Dies wird im Hintergrund mit übertragen. |
BankAccount | leer lassen. Dies wird im Hintergrund mit übertragen. |
Synchronisation
Sobald in der DEXPRO Einrichtung der Haken im Feld "Stammdaten synchronisieren" gesetzt wurde, werden die Kreditoren und die Kreditoren Bankkonten im Hintergrund überwacht. Änderungen an Einträgen werden direkt an Squeeze über das Mapping übertragen.
Diese Überwachung ist ausschließlich für die Kreditoren und die Kreditoren Bankkonten vorgesehen.
Andere Stammdaten Tabellen können über den Hintergrundjob "Squeeze Master Data Job" (Report 80651) übertragen werden. Hierfür muss ein Haken im Feld "Automatisierte Synchronisierung" beim jeweiligen Eintrag gesetzt werden.
Export Mapping
Das Export Mapping wird über die DEXPRO Einrichtung aufgerufen.
Im oberen Bereich wird das Ziel über die Mappenart festgelegt. Die Referenz Tabelle und Positions Tabelle entsprechen dabei den Objekten Nummern der Squeeze4NAV Validierungstabellen.
Im mittleren Bereich werden die Kopffelder festgelegt, welche aus der Validierung in das Ziel übertragen werden sollen.
Im unteren Bereich werden die Positionsfelder festgelegt. Sollen keine Positionsfelder verwendet werden, so muss der Haken im oberen Bereich im Feld "Positions Grid nutzen" entfernt werden.
Standard Einrichtung
- Klick auf "Neu" um ein neues Export Mapping anzulegen
- Über die Mappenart wird festgelegt wohin die Ergebnisse der Validierung exportiert werden sollen. Documents (Workflow) oder Einkaufsdokument (ungebuchter EK-Beleg in NAV). Durch die Auswahl wird ein Standard-Set an Feldern automatisiert gesetzt. Dieses kann bei Bedarf erweitert werden.
- Mit Klick auf "OK" wird das Mapping dann geschlossen.
Dynamics NAV Add-ins
Damit die Client-seitigen Squeeze4NAV Add-Ins genutzt werden können, müssen diese in der Steuerlement-Add-In Einrichtung in Dynamics NAV hinzugefügt werden.
Dies übernimmt im Standard schon die Anlage einer neuen DEXPRO Einrichtung im Hintergrund.
Angelegt werden:
Add-In-Name | Token für öffentlichen Schlüssel | Kategorie | Beschreibung |
DEXPRO_Solutions.BrowserAddIn.BrowserClass | 12c785ea6c2f6d36 | Add-In für DotNet-Steuerelemente | DEXPRO Solutions Browser |
DEXPRO_Solutions.ControlAddIn.Popup | 12c785ea6c2f6d36 | Add-In für DotNet-Steuerelemente | Squeeze Functions |
Web Service für Squeeze
Damit Squeeze die Ausleseergebnisse an Dynamics NAV übergeben kann, muss zuvor ein Web Service hierfür angelegt werden.
Hierfür wird die Codeunit 80650 "DEXPRO Invoice Mgt." in der Web Service Einrichtung veröffentlicht.
Objektart | Objekt-ID | Objektname | Servicename |
---|---|---|---|
Codeunit | 80650 | DEXPRO Invoice Mgt. | DEXPROInvoiceService |
Informationen zur Anlage und Nutzung von Web Service finden sie hier.
Hintergrundjobs
Für die automatisierte Verarbeitung stehen zwei Hintergrundjobs zur Verfügung. Diese müssen als Aufgabenwarteschlangenposten hinterlegt werden. Dies wird meist vom Kunden selber oder vom Dynamics NAV Partner übernommen, da diese die automatisierten Jobs verwalten.
Report 80650 "DEXPRO Background Job"
Dieser Job bereitet die von Squeeze übertragenen Ausleseergebnisse auf und führt neben einer Dublettenprüfung auch bei bestellbezogenen Belegen ein Abgleich gegen die Bestellungen und den bereits gelieferten Daten durch. Zudem werden je nach Einrichtung auch die zum Löschen markierten Einträge auf ihr Alter geprüft und endgültig gelöscht, wenn die Parameter stimmen. Solange dieser Job nicht gelaufen ist, werden neu übertragene Informationen dem Anwender auch nicht angezeigt.
Es wird empfohlen, dass dieser Job täglich sehr oft läuft, z.B. je Minute oder alle 5 Minuten.
Report 80651 "Squeeze Master Data Job"
Diser Job überträgt alle Stammdaten, welche im Squeeze Stammdatenmapping mit dem Kennzeichen "Automatische Synchronisierung" eingerichtet worden sind.
Es wird empfohlen, dass dieser Job nur 1-2 mal täglich läuft, je nachdem wie viele Daten in den zu übertragenden Tabellen vorhanden sind, da diese die Systemperformance unter umständen beeinflussen könnten.
Einrichtungen auf der Squeeze Seite
Export Interface
In Squeeze muss definiert werden wohin die Ausleseergebnisse übergeben werden sollen. Dies wird über die Export Interface gesteuert.
In der Dokumentenklasse unter "Export" werden diese angelegt:
Als aktives Export Interface wird dann "Navision SOAP Interface" ausgewählt.
Im Anschluss wird das Interface eingerichtet:
Hier wird der in Dynamics NAV veröffentliche Web Service für die Codeunit 80650 genommen und die SOAP URL in ihre Einzelparts aufgeteilt.
http://10.10.10.6:9147/DynamicsNAV2018DEMO/WS/DEXPRO/Codeunit/DEXPROInvoiceService
Protocol // Host : Port / Instance ...
Da Squeeze eine Mandantenerkennung hat, wird der NAv Mandant über das Feld "Mandant" gefüllt. Um den Aufruf zu testen wird der Mandant, in diesem Beispiel "DEXPRO", in das Feld "Client Test Value" eingetragen. Der Benuter sollte ein Dynamics NAV Web Service User mit ausreichend Rechten sein.
Beim Klick auf "Speichern" wird der Zugriff mit dem eingetragenen User sofort getestet. Bei Fehlern empfiehlt sich ein genereller Test des NAV Web Services mit einem externen Tool, z.B. Postman. Weitere Punkte gibt es im DEXPRO Forum oder im FAQ.
Export Felder
In der Dokumentenklasse wird in den Feldern über den "Namen (Zielsystem)" festgelegt welche exportiert werden sollen und wie das Feld in der Übergabe heißt.
Hier ist die Grundeinrichtung für die Anbindung an Dynamics NAV. Die Zielsystem-Namen entsprechen den XML Nodes des XMLPorts 80650 "DEXPRO Invoice Structure"
Stapelklassen Eigenschaften
In der Stapelklasse "Invoices" müssen zwei Eigenschaften gesetzt werden, damit eine automatisierte Übertragung durchgeführt wird.
Eigenschaft | Wert | Funktion |
IgnoreMandatoryFieldCheckForExport | 1 | Squeeze-Pflichtfeldprüfung deaktivieren |
ExportAfterExtraction |
1 | Automatisierter Export nach der Extraktion |
Übernahme in ein anderes NAV System
Hier wird beschrieben, welche Tätigkeiten bei einer Übernahme von einem in ein anderes NAV System anstehen.
NAV Seite
SQUEEZE Seite
Auf der SQUEEZE Seite sind folgende Tätigkeiten zu beachten:
- Wenn das SQUEEZE System das selbe bleibt, dann muss der Dokumentenklassen Export auf den Web Service des neuen NAV Systems eingerichtet werden.
- Wenn das SQUEEZE System wechselt muss der Dokumentenklassenexport an den WebService des neuen NAV Systems angelegt werden.
- Prüfen ob in dem SQUEEZE System die Dokumentenklassenfelder korrekt eingerichtet sind. (z.B. Name (Zielsystem) ).
- Emailabruf auf das neue Postfach umstellen (z.B. vom Testpostfach auf das Produktivpostfach).
- Sollte das SQUEEZE System das Selbe bleiben, so muss dies aufgeräumt werden (alte Belege löschen, etc.)
Documents Seite
Auf der Documentsseite müssen folgende Tätigkeiten beachtet werden:
Sollte das Documents System das Selbe bleiben: