[gelöst] Echte Verbindung zwischen NAV 2009 und .NET

8. März 2009 15:51

Hi,

ich entwickle nun schon seit vielen Jahren mi .NET und ich arbeite zur Zeit mit NAV 5 und NAV 2009. Ich kann ein wenig C/Side und nun möchte ich anfangen erste Dinge mit .NET in NAV direkt zu machen. Ich habe auch shcon viel geschafft, aber nun gehts erstmal nicht weiter.

Was habe ich bisher:
- Ich habe mit mit der CFront-Api von aussen mit NAV 2009 (Classic Client) verbunden und konnte Werte aus den Datenbanktabellen lesen. Schreiben habe ich zwar noch nicht gemacht, aber ich denke auch das ist mit der neuen CFront-Assembly nicht das größte Problem.
- Für NAV 5 habe ich nach Anleitung eine COM-Visible-Assembly in .NET gebaut und diese von NAV 5 aus aufgerufen. Ich konnte eine in .NET geschriebene MSG-Box anzeigen lassen von NAV heraus und auch einen String an NAV zurückgeben und diesen mittels MESSAGE anzeigen. eingebunden hab ich es in NAV als Automation-Control.

Mein nächstes Ziel wäre es, in NAV eine kleine Form anzuzeigen und wenn ich auf irgendeinen Button drücke dann sehe ich meinetwegen die Kontakte-Übersicht, so wie man es auch von der Kontakte-Maske erwarten würde. Kann mir jemand den nächsten Schritt sagen? Also der nächste kleine Meilenstein wäre eine Form oder ein Control in Visual Studio zu designen und dieses dann in NAV zu starten und anzuzeigen.
Zuletzt geändert von Dosihris am 17. März 2009 09:35, insgesamt 1-mal geändert.

Re: Echte Verbindung zwischen NAV 2009 und .NET

8. März 2009 21:07

Hast Du hier schon mal gelesen http://msdn.microsoft.com/en-us/library/dd448638.aspx. Ansonsten glaub ich, dass die meisten NAVler hier eher Deine Lösungsansätze ablehnen und erstmal versuchen soweit als möglich eine Lösung nur mit den NAV-Mitteln und C/Side zu finden bevor externe Programmteile ingesetzt werden. Eine Kontaktliste ist halt mit NAV-Mitteln in kleinstem Aufwand hergestellt, das gleiche in eine .NET-Form zu bringen ist vergleichsweise viel Aufwand - und ggf. erheblich fehleranfälliger und instabiler.

Bevor jetzt alle über mich herfallen: Ich wollte auch erst alles mit .NET lösen, war im ersten Gang für mich einfacher, leistungsfähiger und logischer (.NET ist für mich halt klarer strukturiert und im Editor sehe ich den ganzen Code eines Formulars). Aber nach einiger Zeit ist es jetzt leichter. Ist aber nur meine persönliche Erfahrung.

Volker

Re: Echte Verbindung zwischen NAV 2009 und .NET

9. März 2009 11:09

Hallo Dosihris,

ich Volker da nur zustimmen.
Wenn du mit C/Front-API arbeitest, musst du sehr vorsichtig sein, wie du deine Programme schreibst, wenn du schreibend auf die Datenbank zugreifen willst. Es ist zwar sehr einfach etwas in eine NAV-Tabelle zu schreiben, leider ruft C/Front nicht die Business-Logik in des Triggern von NAV auf, sodass das Einfügen einer Artikelnummer in der Salesline bei C/Front zwar bewirkt, das die Artikelnummer eingetragen wird, nicht aber das Beschreibung und Preise gefüllt werden.

Außerdem musst du bei einer geänderten Business- Logik bzw. Tabellen in NAV auch deine .NET-Programme ändern.

Da ich selbst C/front einsetze kann ich dir nur empfehlen C/FRONT nur zum Lesen einzusetzen, bzw. nur in Übergabetabellen zu schreiben, die keine eigene Business-Logik enthalten, sonst gibt es meistens Ärger. Wenn du .NET-Programme benötigst, würde ich diese heute mit WEB-Services bzw. in NAV 5 mit einer Socket-Verbindung über den NAS lösen, die die entsprechenden Parameter übergeben bekomt.

Gruß, Fiddi

Re: Echte Verbindung zwischen NAV 2009 und .NET

17. März 2009 09:35

Hallo Leute,

danke für die Antworten. Ich muss zugeben, dass ich es mittlerweile eingesehen habe, dass die Verbindung zwischen NAV ud .NET noch sehr zu wünschen übrig lässt. Noch ist .NET einfach keine gute Wahl. Allerdings hab ich auf der Cebit bei einem NAV-Vortrag erfahren, dass es im Sommer ein Service Pack geben soll, in dem auch die Anbindung an .NET einen großen Schritt nach vorn gemacht haben soll... Wir dürfen also gespannt sein.

Nico