Rash thoughts about .NET, C#, F# and Dynamics NAV.


"Every solution will only lead to new problems."

Monday, 18. September 2006


Navision: Report in bestimmten Druckerfach ausgeben

Filed under: C#,msu solutions GmbH,Navision — Steffen Forkmann at 14:28 Uhr

Oftmals steht man im Navision vor dem Problem einen Report in einem bestimmten Druckerfach auszugeben. Dafür muss man jedoch die RawKind-Property des Druckerfachs wissen und im Report als PaperSourceFirstPage bzw. PaperSourceOtherPages oder über CurrReport.PaperSource einstellen. Leider gibt es im Navision keine einfache Möglichkeit diese Property auszulesen. Mit dem folgenden Stück C#-Code kann man sich jedoch alle installierten Drucker samt unterstützten Druckerfächern anziegen lassen:  

using System.Drawing.Printing; .. PrinterSettings ps = new PrinterSettings(); foreach (string name in PrinterSettings.InstalledPrinters) { listBox1.Items.Add(name); ps.PrinterName = name; foreach (PaperSource paperSource in ps.PaperSources) listBox1.Items.Add(ps); }
Download: FindPrinter-Tool (benötigt: .NET Framework 2.0)
Tags: , ,

Saturday, 2. September 2006


Navision ist beliebtestes ERP-System

Filed under: Navision — Steffen Forkmann at 19:08 Uhr

Wenn man nach dem Rating-Portal Benchpark geht, ist Navision (bzw. Microsoft Dynamics .NAV) momentan das beliebteste ERP-System überhaupt und liegt damit deutlich vor Axapta, SAP und SSA Global.

Bei den CRM Systemen ist Microsoft momentan nur auf Rang 4 – aber immerhin vor Siebel…

Tags: , , , , , ,

Sunday, 26. March 2006


Visual SourceSafe (VSS) Integration in Microsoft Dynamics Nav

Filed under: C#,Navision,Tools — Steffen Forkmann at 19:09 Uhr

Da es keine native Möglichkeit gibt ein Quellcode-Versionsverwaltungsprogramm in Microsoft Navision einzubinden, haben wir bei der msu solutions GmbH eine eigene Lösung zum Zugriff auf Visual Source Safe oder Subversion (SVN) implementiert. Die entstandene Lösung ist ein Hybrid aus C# 2.0 COM-Objekten und nativen Navision-Objekten.

ObjectList

Der allgemeine Arbeitsablauf gestaltet sich nun folgendermaßen:

  1. Eine Aufgabe aus dem internen Bug & Task Tracker ziehen.
  2. Statt dem klassischen “Design” im Object Designer einfach im internen Object Designer auf “Auschecken” klicken. Dadurch wird das Objekt im VSS ausgecheckt und die aktuelle Version neu ins Navision importiert und im Designer geöffnet.
  3. Nun kann man im Navision Quelltext Editor Änderungen vornehmen und evtl. weitere Objekte auschecken.
  4. Vor dem Einchecken auf “Compare” klicken. Dadurch wird ein Diff zwischen der bearbeiteten Version und der Version im VSS angezeigt. (Das Diff-Programm kann frei gewählt werden. Standardmäßig ist WinMerge eingestellt.)
  5. Im internen Object Designer auf die ausgecheckten Objekte filtern und die Objekte durch Klick auf “Einchecken” mit dem aus dem Bug & Task Tracker vorgegebenen Checkin-Kommentar ins VSS einchecken.

Als weiteres besonderes Feature ist die Versionsgeschichte zu nennen. Im internen Object Designer kann man einfach auf ein Objekt gehen und durch Druck auf “History” die Versionsgeschichte des Objektes aus dem Visual SourceSafe abrufen. Dort kann man die Checkin-Kommentare ansehen, Version-Pins versetzen und sich Diffs zwischen den verschiedenen Versionen anzeigen lassen.

Versionsgeschichte

Interessant ist auch die interne Suchen nach Objekten (und deren Versionen bzw. Differenz dazwischen) die mit einer bestimmten Aufgabe geändert wurden. So fällt das Portieren von Features zwischen verschiedenen Entwicklungszweigen wesentlich leichter.

Suche in den Versionen

So macht das Programmieren in Navision gleich viel mehr Spaß und die Versionsverwaltung ist damit fast so einfach wie im Visual Studio – da bleiben dann ja nur noch die beiden größten Navision Schwächen: Editor und Debugger 🙂

Tags: , , , , , , , , , , ,

Tuesday, 16. August 2005


Navision: Granules finden

Filed under: English posts,Navision — Steffen Forkmann at 14:00 Uhr

“This form lists the granules and their associated objects for MBS-Navision 3.60, 3.70 & 4.00. Now you can determine which Granules you need to buy in order to gain access to a certain Object or feature.”

Ein wirklich nettes Tool.

Tags: , ,

Monday, 27. June 2005


Navision: Multiline-LookUp

Filed under: Navision — Steffen Forkmann at 8:46 Uhr

Im Navision ist es ganz einfach möglich ein einfaches LookUp zu machen. Will man jedoch mehrere Datensätze selektieren, muss man einige Anstregungen unternehmen. Am LookUp-Formular muss folgende Funktion hinterlegt werden:

PROCEDURE SetSelection(myRec : Record) 
BEGIN 
  CurrForm.SETSELECTIONFILTER(myRec); 
END;

Der aufrufende Code könnte dann so aussehen:

myRec.RESET; 
myRec.DELETEALL; 
myForm.SETTABLEVIEW(myRec); 
myForm.LOOKUPMODE(TRUE); 

IF myForm.RUNMODAL = ACTION::LookupOK THEN BEGIN 
  myForm.SetSelection(myRec); 
  myRec.MARKEDONLY := TRUE; 

  // Do something with the marked Records 
END; 
Tags: , ,