D365FO-Upgrade. Anhänge von AX2012 übertragen

Ein Migrationsverfahren für Anhänge ist einer der kniffligen Teile, mit denen Sie möglicherweise während des Upgrades des AX2012-D365FO-Projekts konfrontiert werden. In diesem Beitrag beschreibe ich eine Anhang Export-/Importjournal Lösung für eine solche Migration.


D365FO-Anlagentypen

Da es sich bei D365FO um ein Cloud-basiertes System handelt, können sich die Speichertypen für Anhänge von denen unterscheiden, an die sich Benutzer bisher gewöhnt haben. Lassen Sie uns also die D365FO-Anhangstypen und die Vor- und Nachteile von jedem von ihnen besprechen:

  • Datenbank: Anhänge werden in der Datenbank in einem Blob-Feld gespeichert. Dies ist perfekt für Textanhänge wie Notizen. Sie können den Anhangsinhalt bearbeiten, jedoch nur über die D365FO-Benutzeroberfläche. Es erhöht die Größe der D365FO-Datenbank.
  • Azure-Speicher: Anhänge werden in einem internen Azure-Speicher gespeichert, der von Microsoft verwaltet wird. Benutzer können Anhänge nicht direkt bearbeiten (nur Dateien herunterladen und hochladen), da auf dieses Speicherkonto nur über die D365FO-Benutzeroberfläche zugegriffen werden kann. Dieser Ansatz verbraucht keinen Datenbankspeicherplatz, Microsoft berechnet den Speicherplatz separat.
  • SharePoint: Anhänge werden auf der SharePoint-Site gespeichert und von Clients verwaltet. Benutzer können Anhänge bearbeiten, und Dokumente sind außerhalb der D365FO-Oberfläche verfügbar (z. B. können Sie eine Gruppe in Teams verwenden und einen SharePoint-Ordner damit verknüpfen). Aber in diesem Fall muss der Kunde die SharePoint-Site pflegen.

Beschreibung des Anbaumoduls übertragen

Es gibt bereits mehrere Möglichkeiten, Anhänge während eines Migrationsprojekts von AX2012 zu D365FO zu übertragen, aber in diesem Beitrag werde ich die zusätzliche Methode beschreiben, und wahrscheinlich kann sie als “noch eine andere Möglichkeit, Anhänge von AX2012 zu übertragen” bezeichnet werden.

Einige der sofort einsatzbereiten Methoden für die Migration von Anhängen sind:

  • MoveDocumentsToDatabase-Auftrag vom FastTrack-Team. Es verschiebt alle Anhänge in die AX2012-Datenbank, die im Upgrade-Prozess verwendet werden können.

  • Standardentitäten für die Erstellung von Anhängen (z. B. CustomerAttachmentsV2Entity). Im Fall der Entitätsnutzung müssen Sie ein ZIP-Datenpaket erstellen, das alle Dateien und Entitätsdaten enthält.

Der Grund für die Modulentwicklung besteht darin, mehr Flexibilität und Kontrolle über die Übertragung von AX2012-Anhängen zu bieten. Lassen Sie uns überprüfen, wie es funktioniert.

Das Modul besteht aus AX2012- und D365FO-Teilen.

AX2012-Funktionalität

Es ist ein XPO-Projekt, das in eine AX2012-Live-Anwendung importiert werden muss. Nach dem Import müssen Sie die DEVDocuExport Menüpunkt.

Es wird das folgende Fenster angezeigt:


Exportdialog

In diesem Dialog können Sie eine Tabelle angeben und einige Filter dafür einrichten (z. B. Anhänge nur für nicht gesperrte Kunden exportieren).

Als Ergebnis dieses Laufs exportiert das System alle Anhänge für die ausgewählte Tabelle in das Verzeichnis und erstellt eine Deskriptordatei die den primären Tabellenschlüssel mit einer Anhangsdatei verknüpft.


Ax2012-Ergebnis exportieren

Das Deskriptordatei gibt Ihnen große Flexibilität, zB können Sie Tabellenschlüssel umbenennen oder die Zuordnung von Dokumenttypen ändern.

Im nächsten Schritt kopieren Sie das erstellte Verzeichnis mit AX2012-Anhängen in den Azure-Speicher. Dies kann mit dem folgenden Power Shell-Befehl erfolgen.

cmd.exe /C "cmdkey /add:`"aaavmstorage.file.core.windows.net`" /user:`"localhostaaavmstorage`" /pass:`"BQubgv1NlZE+LtbbL8jKLrkVSwBlLHGuygbu9fy6gDv+UiRTiw63cpmVlAEVhSLCup1XRbbVajt6ww==`""
#Mount the drive
New-PSDrive -Name Z -PSProvider FileSystem -Root \aaavmstorage.file.core.windows.netaaavmfileshare

Copy-Item "C:Attachments" -Destination "Z:Attachments" -Recurse

D365FO-Teil

Zu diesem Zeitpunkt haben wir unsere Anhänge in der Cloud und es ist an der Zeit, sie in D365FO zu importieren.

Öffnen Sie nach der Installation der erforderlichen X++-Objekte den folgenden Link

https://mycompany.operations.dynamics.com/?cmp=CMP&mi=DEVDocuExpImpJournalTable

Das Formular zum Importieren von Anhängen wird geöffnet.


Leeres Journalformular

Der erste Schritt ist, zu gehen Zeitschriftenname Feld (Details anzeigen) und erstellen Sie ein neues Zeitschriftentyp. EIN Zeitschriftentyp definiert einen Verweis auf die Azure-Dateifreigabe (eine Verbindungszeichenfolge und einen Freigabeverweis).


Einrichtung des Zeitschriftennamens

Dann müssen Sie den Azure-Speicherort (Ordner mit Dateien) für unseren Import angeben und die drücken Testverbindung Schaltfläche, um die Einstellungen zu bestätigen.


Journal einrichten

Nach der Journalerstellung besteht der nächste Schritt darin, Zeilen aus Excel zu importieren Deskriptordatei zuvor während des AX2012-Exports generiert (Zeilen aus Excel importieren Taste).


Funktion „Linien importieren“.

Es erstellt Journalzeilen (eine Zeile pro Datei).


Zeilenansicht

Der letzte Schritt besteht darin, Anhänge in D365FO zu laden. Sie können dies nur für eine Zeile (um den Prozess zu testen) oder für das gesamte Journal tun. Es wird das Standardverfahren “Dokument anhängen” verwendet, das Anhänge gemäß den Dokumenttypeinstellungen erstellt.


Zeitschriftenstatus

Und als Ergebnis erhalten Sie einen Zieltabellensatz mit Anlagen (z. B. Anlagen für den Kunden)


Benutzerdefinierte Anhänge

Zusammenfassung

Die beschriebene Lösung bietet hervorragende Flexibilität für das Verschieben von Anbaugeräten vom AX2012 zum D365FO. Den gesamten in diesem Beitrag verwendeten Code finden Sie im folgenden Ordner (AX2012-Projekt als Ressource gespeichert): https://github.com/TrudAX/XppTools/tree/master/DEVTutorial/DEVDocuExpImp.

Ich hoffe, Sie finden diese Informationen nützlich. Wenn Sie Verbesserungen, Vorschläge oder Fragen zu dieser Arbeit haben, zögern Sie wie immer nicht, mich zu kontaktieren.

Author: admin

Leave a Reply

Your email address will not be published.