Installation
Installation der Lösung
EASY for Dynamics 365 FO ergänzt ihre Microsoft Dynamics 365 for Finance & Operations Applikation um ein "EasyArchiveIntegration_SF"-Paket. Das Paket enthält alle Integrationskomponenten, die zur direkten Archivierung von Dokumenten aus dem Dynamics Web-Client heraus benötigt werden.
Sie können entweder das "Deployable Package" oder den Quellcode installieren.
Das Deployable Package enthält ausschließlich Binärdateien und ist als Standarddeploymentmethode gedacht. Eine Implementierung des Quellcodes via Visual Studio kann nützlich sein, wenn Sie Ihre eigenen Erweiterungen entwickeln oder etwas debuggen wollen.
Unabhängig davon, für welche Option Sie sich entscheiden, empfehlen wir, die Lösung in Ihr Azure Dev Ops Repository zu integrieren. So können Sie das dox42-Paket als Teil Ihres regulären Build- und Release-Prozesses einsetzen.
Weitere Informationen finden Sie auf https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/deployment/apply-deployable-package-system sowie auf https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/dev-tools/manage-runtime-packages.
Einrichten eines Archivskripts für eingehende Belege
Um eingehende Dokumente vom Archiv nach Dynamics 365 FO zu übertragen, müssen in den Systemtasks des EASY Archives die Skripte "D365" und "D365_Params" implementiert werden.
Das Skript " D365 " führt folgende Funktionen aus:
-
Die Authentifizierung zum ERP-System wird initialisiert
-
Übertragung der Dokumente
-
Es wird eine Trefferliste aller Dokumente ausgewählter Stores erstellt, die noch nicht nach Dynamics 365 FO übergeben wurden (Das Metadatenfeld "sent" ist leer oder "0").
-
Der Access token für Dynamics 365 FO wird erneuert, damit das Archiv die Verbindung zum System aufrechterhalten kann
-
Die Trefferliste wird abgearbeitet:
-
Die Metadatenwerte "barcode" und "document id" (Dokumentereferenz) via rest call nach Dynamics 365 FO übertragen
-
Das Archivdokument wird aktualisiert, indem das Feld "sent" auf "1" gesetzt wird, wenn das Dokument übertragen werden konnte.
-
-
Folgende Parameter müssen im D365_Params Skript eingerichtet werden:
Parameter |
Beschreibung |
D365 Authentifizierung |
|
tokenurl |
Hier wird die URL hinterlegt, wo der Token für die OAuth 2 Authentifizierung zur Verbindung mit Dynamics 365 FO angefragt wird. Beispiel: var tokenurl= "https://login.microsoftonline.com/ac952504-14b1-49a0-acac-7aa8260fec9e/oauth2/token/"; |
client |
Die Client-ID gilt als öffentliche Information und wird zum Aufbau von Anmelde-URLs verwendet, Beispiel: var client="e0f50971-046d-4731-8422-81cf3f96cb37"; |
secret |
Hier wird das Client Secret hinterlegt. Der Client verwendet dieses Secret zur Unterzeichnung einer Anfrage. So kann Dynamics 365 FO verifizieren, dass die Anfrage tatsächlich von der betreffenden Anwendung kommt. Beispiel:
var secret ="e7gpFpw25TmdI~sY7-3tu0k-6BAZ-_2I78" |
resource |
Hier wird die URL des Dynamics 365 FO Webclients eingetragen. Beispiel: var resource = "https://v1810devxyz.cloudax.dynamics.com" |
D365 URL |
|
sendurl |
Hier wird der Endpunkt (rest call) von EASY for Dynamics 365 FO angegeben, an dem das Dokument entgegengenommen wird. Beispiel: var sendurl= "https://v1810devxyz.cloudax.dynamics.com/api/services/EASYDocumentHandling_SF/EASYDocumentHandlingService_SF/createDocument"; |
Archiv Parameters |
|
poolPath |
Hier wird der Poolpfad des zu durchsuchenden Pools angegeben. Es können mehrere Pools durchsucht werden. Dazu werden die einzelnen Pfade durch Komma getrennt. Beispiel: var poolPath = "/Adaptive/Adaptive01, /Adaptive/Adaptive02"; Wenn mehrere Ablagen nach eingehenden Dokumenten gescannt werden sollen, müssen die Felder "poolpath" und "view" entsprechend konfiguriert sein.
|
view |
Hier werden ein oder mehrere Views eingetragen, die nach eingehenden Dokumenten durchsucht werden sollen. Beispiel: var view="Store0 1, Store02 "; Wenn mehrere Ablagen nach eingehenden Dokumenten gescannt werden sollen, müssen die Felder "poolpath" und "view" entsprechend konfiguriert sein.
|
schema |
Hier wird das Ablageschema eingetragen, welches für die Stores verwendet wird. Aktuell unterstützt die EASY for Dynamics 365 FO Schnittstelle ausschließlich das adaptive Schema. Beispiel: var schema = "ADAPTIVE"; |
unit |
Hier können Easy Archive Units eingetragen. dieser Parameter ist nur im Sonderfall zu ändern. Beispiel: var unit= "Unit=Default"; |
Instance |
Hier wird der Easy Archive Instanzname eingetragen. Beispiel: var Instance="Default"; |
queryfield |
Hier wird die Feldbezeichung für das Metadatenfeld eingetragen, das verwendet wird um anzuzeigen, ob ein Dokument erfolgreich übermittelt werden konnte. Beispiel: var queryfield="sent"; |
Key Field |
|
barcodeFieldname |
Der Inhalt dieses Metadatenfelds wird als Barcode nach Dynamics 365 FO übergeben. Der Name kann ggfs. geändert werden. Beispiel: var barcodeFieldname="BARCODE" |
Query expression to find new documents |
|
query |
Dieses Feld enthält die Query, die angewendet wird, um neue Dokumente zu finden. Die Query darf nur von erfahrenen Consultants angepasst werden. Beispiel: var query="( not "+ schema +"."+ queryfield +" contains '1') and "+ schema +"."+ barcodeFieldname +" IS not NULL"; Dies Kommando wird dadurch ausgeführt: |
Internals |
|
dbug |
Schaltet den internen Debug-Modus ein bzw. aus. Damit werden mehr Logeinträge in das Archivlog geschrieben. Dient der Fehleranalyse und ist nur im Supportfall zu aktivieren. Beispiel: var dbug=false; |
Logfile |
|
logfile |
Ist dieser Parameter gesetzt, wird ein Logfile in das angegebene Serververzeichnis geschrieben. Beispiel: var logfile="C:\\eex\\temp\\EASY_D365_Import.log"; |
CSV File |
|
csvfilename |
Ist dieser Parameter gesetzt, wird in diesen Pfad eine csv-Datei erstellt, die die Zuordnungen von Barcodes und Dokumentreferenzen enthält. Beispiel: var csvfilename="C:\\eex\\temp\\EASY_D365_Import.txt"; |
Einbeziehen zusätzlicher Dokumenttypen/Berichte in den Archivierungsprozess
Durch Erweiterung des Codes der EASY for Dynamics 365 FO-Schnittstelle ist es möglich, zusätzliche Dokumenttypen / Berichte in den Archivierungsprozess einzubinden. Bitte beachten Sie, dass alle Code-Änderungen in einem separaten Paket programmiert werden müssen und dass das originale EASY-Paket unverändert bleibt. Andernfalls würden die Änderungen mit dem nächsten Release von EASY for Dynamics 365 FO überschrieben werden und gehen verloren.
Die folgenden Schritte müssen durchgeführt werden:
-
Basis-Enum EASYDocumentType_SF muss um einen neuen Wert erweitert werden:
-
Es muss eine neue Erweiterung der Standardklasse SrsPrintMgmtController mit einer Befehlskette zur Methode runReport programmiert werden. Vor dem Aufruf der Methode 'next' ist zu prüfen, ob der rdpContract zum neuen Report gehört und der neue Dokumenttyp aktiv ist. Falls ja, ist "Drucken ins Archiv" zu aktivieren; der Code sollte ähnlich dem untenstehenden Beispiel (Archivierung von Freitextrechnungen) sein:
-
Eine neue Erweiterung der Standardklasse SrsReportRunPrinter muss mit einer Befehlskette zur Methode saveReportArchive programmiert werden. Vor dem Aufruf der Methode 'next' ist zu prüfen, ob der rdpContract zum neuen Report gehört und der neue Dokumenttyp aktiv ist. Falls ja, sollte eine Singleton-Klasse EASYDocumentTypeSingleton_SF mit dem aktuellen Journaldatensatz und Dokumenttyp gefüllt werden; der Code sollte ähnlich wie im Beispiel unten (Archivierung von Freitextrechnungen) sein: