Importieren und Exportieren von NAV Objekten mit C/Front

Dieser Beitrag behandelt das Thema wie man Dynamics NAV Objekte mit C/Front automatisiert importieren und exportieren kann.

Wir haben in dem vorhergegangenen Beitrag "Zugriff auf NAV mit einem .Net C# Projekt mit Hilfe von C/Front" die Grundlagen eines .NET Projektes mit C/Front besprochen.

Die in diesem Beitrag beschriebenen Code Beispiele basieren auf dem vorhergegangen Demo-Projekt. Ich werde daher nur auf die Code-Änderungen in diesem Beitrag eingehen.

 

Exportieren von Objekten:

Die nun folgende Zeile exportiert Tabellen Objekte von 1..10. Speicherort ist "C:\x\ExportFob.fob":

 CFrontDotNet.Instance.ExportFOB("C:\\x\\ExportFob.fob", "WHERE(Type=CONST(Table),ID=FILTER(1..10))");

Der Filter für den Aufruf muss genau in der gleichen Form angewendet werden, wir wir Ihn aus dem "DataItemView" aus dem Reports in NAV kennen.

Der einfachste Weg um diesen Filter zu erstellen ist ein neuen Report in NAV zu erstellen, basierend auf den Object Table und von dort aus in den DataItem Properties sich einen Filter zu erstellen.Diesen Filter können Sie dann bequem nach Visual Studio übernehmen und in dem C/Front Code übernehmen.

 

Die exportierte Datei besitzt das Format .fob und kann über die bekannten Wege z.B. über den Client, wieder in NAV eingelesen werden (Datei -> Importieren aus dem Objekt Designer).

Eine weitere Möglichkeit .fob Dateien zu importieren werden wir uns nun anschauen. Sie können natürlich die Objekte auch mit Hilfe von C/Front wieder importieren.

 

Importieren von Objekten:

C/Front bietet einen speziellen Datentyp "NavisionImportMode". Dieser Datentyp kontrolliert den Import-Vorgang und reagiert z.B. auf Konflikte die beim Einlesen auftreten können. Mit diesem Datentyp können Sie festlegen, wie mit den zu importierenden Objekten umgegangen werden soll. Die möglichen Einstellungen sind Überschreiben(Overwrite), Überspringen(Skip) oder einen Fehler ausgeben(ThrowError).

Der folgende Code importiert die soeben exportierten Objekte und überschreibt diese:

 NavisionImportMode ImportMode;

  
 ImportMode = NavisionImportMode.Overwrite;
  
 CFrontDotNet.Instance.ImportFOB("C:\\x\\ExportFob.fob", ImportMode);

Kommentar:

Sie können die Objekte nur als binärer FOB Datei exportieren. Das Abspeichern als TXT Format ist nicht möglich.

Eine Neuerung im Service Pack 1 für NAV 5.0 ist das nicht mehr Lizenz beim Import von Objekten geprüft wird. Der Import funktioniert nun wie als würden Sie die Objekte manuell einlesen.

 

Dieser Artikel wurde zuerst veröffentlicht unter "Importing and exporting NAV objects with C/Front"

These postings are provided "AS IS" with no warranties and confer no rights. You assume all risk for your use.

Mit freundlichen Grüßen

Sebastian Röttel

Microsoft Dynamics Germany

Microsoft Customer Service and Support (CSS) EMEA