Zugriff auf NAV mit einem .Net C# Projekt mit Hilfe von C/Front

Einleitung:

Dieser Beitrag soll einen ersten Einblick in die Programmierung von C/Front zeigen.

Wir zeigen hier den einfachsten Zugriff aus einem Visual Studio .NET C# Projekt mit den C/Front Komponenten auf eine NAV Datenbank.

Das Beispiel basiert auf den Demo-Beispiel von der Produkt CD. Sie finden das Beispiel nach der Installation unter C:\Program Files\Microsoft Dynamics NAV SDK\CFRONT\DotNetSampleApplication.

Dieses Beispiel wurde in Microsoft Visual Studio 2008 erstellt. Sie können aber auch ohne Probleme Microsoft Visual Studio 2005 dafür verwenden. Die NAV Datenbank in diesem Beispiel läuft auf dem nativen Datenbank Server. Um einen Zugriff auf einen SQL Server vorzunehmen müssen Sie nur den NetType und DriverType ändern.

Beispiel:

C/Front ist ein Teil des SDK (Software Developers Kit). Das SDK beinhaltet noch weitere Komponenten wie z.B. die NAV Communication Components. Wenn Sie das SDK noch nicht installiert haben sollten Sie das an dieser Stelle tun.

Danach können wir mit dem Beispiel beginnen:

1) Öffnen Sie Microsoft Visual Studio 2005/2008

2) Erstellen Sie ein neues Projekt (Datei -> Neu -> Projekt). Wählen Sie „Visual C#“ und „Windows-Anwendung“ aus. Wählen Sie einen geeigneten Namen für das Projekt aus.

3) Binden Sie C/Front in Ihr Projekt ein. Auf der rechten Seite im Projektmappen-Explorer können Sie mit einem Rechtsklick einen Verweis hinzufügen. Fügen Sie eine Referenz auf die Microsoft.Navision.CFront.CFrontDotNet.dll. Nach einer Standard-Installation sollten Sie die Datei in dem Verzeichnis C:\Program Files\Microsoft Dynamics NAV\SDK\CFRONT\. finden.

4) Fügen Sie nun noch schnell einen Button und ein Text Feld in die Windows-Form (Ansicht -> Toolbox). Das Textfeld benötigen wir, um Daten aus NAV anzuzeigen. Jetzt nur noch ein Doppelklick auf den Button und wir können den C# Code schreiben.

5) Fügen Sie die Zeile

 using Microsoft.Navision.CFront;

 

in dem oberen Bereich des Code-Fensters ein, wo Microsoft Visual Studio bereits ähnliche Zeilen erzeugt hat.

6) Nun sind alle Vorbereitungen abgeschlossen und wir können beginnen den C# Code zu programmieren. Gehen Sie nun zur Funktion

 private void button1_Click

 

und kopieren den folgenden Code in die Funktion. Bitte passen Sie die Werte NavisionPath, ServerName und CompanyName an Ihre Installation an.

 // Deklarieren der spezifischen C/Front Variablen
  
 NavisionNetType NetType;
  
 NavisionDriverType DriverType;
  
 NavisionValue Data;
  
 // Setzten Sie den richtigen Datenbank Typen(SQL oder Native)
  
 DriverType = NavisionDriverType.Native;
  
 NetType = NavisionNetType.NativeTcp;
  
 CFrontDotNet.DriverType = DriverType;
  
 int CT; // Aktuelle Tabelle.
  
 int CR; // Aktueller Datensatz.
  
 CFrontDotNet.NavisionPath = "C:\\Program Files\\Microsoft Dynamics NAV\\CSIDE Client";
  
 CFrontDotNet.Instance.ConnectServerAndOpenDatabase("srttel1", NetType, "", 2000, true, true, "", "");
  
 CFrontDotNet.Instance.OpenCompany("CRONUS AG");
  
 CT = CFrontDotNet.Instance.OpenTable(18);
  
 CR = CFrontDotNet.Instance.AllocRecord(CT);
  
 CFrontDotNet.Instance.FindFirstRecord(CT, CR);
  
 Data = CFrontDotNet.Instance.GetFieldData(CT, CR, 2);
  
 NavisionText NAVText;
  
 NAVText = Data;
  
 textBox1.Text = NAVText.ToString();
  
 // Wichtig: Beenden Sie NAV Session wenn Sie Abfrage erfolgt ist.
  
 CFrontDotNet.Instance.FreeRecord(CR);
  
 CFrontDotNet.Instance.CloseTable(CT);
  
 CFrontDotNet.Instance.CloseCompany();
  
 CFrontDotNet.Instance.CloseDatabase();
  
 CFrontDotNet.Instance.DisconnectServer();
  
 CFrontDotNet.Instance.Dispose();

7) Speichern Sie das Projekt an dieser Stelle ab. Der Standard-Speicherort sollte folgendermaßen aussehen: C:\Users\[UserName]\Documents\Visual Studio 2008\Projects\CFrontSampleVS2008\[ProjectName]

8) Abschließend müssen Sie nur noch die Dateien CFront.dll und CFrontSQL.dll aus dem C/Front Ordner (Standard-Pfad: C:\Program Files\Microsoft Dynamics NAV\SDK\CFRONT) in Ihr Project Unter-Order bin\Debug kopieren.

Jetzt können Sie das Programm starten. Als erstes sollten Sie die Projektmappe erstellen (Erstellen –> Projektmappe erstellen). Wenn das fehlerfrei durchlief, können Sie das Programm nun starten (Debuggen -> Debuggen starten F5). Wenn nun alles einwandfrei funktioniert sollte Ihnen nach dem drücken des Buttons der Debitorenname des ersten Datensatzes angezeigt werden.

Kommentar:

Achten Sie bitte immer darauf, den Parameter NavisionPath vollständig und richtig zusetzten, so das der Wert dem NAV Client Ordner entspricht. Das ist der Ort an dem C/Front wichtige Dateien wie DLLs FLF und STX bezieht. Wenn Sie den Pfad nicht setzten laufe Sie Gefahr den Fehler 2 in Modul 1 ("The system cannot find the file specified.") zu bekommen.

C/Front benötigt das Granul 1,000 C/Front. C/Front verbindet sich nit der Datenbank wie ein gewöhnlicher Client und besetzt daher eine freie Session während der Verbindung.

Dieser Artikel wurde zuerst veröffentlicht unter "Beginners guide: How connect to NAV from a .net project, using 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