Bodo's Dynamics NAV Blog

Bodo ist ein Dynamics NAV Urgestein. Er programmiert NAV seit DOS Zeiten und hat auch keine Scheu vor .NET und schon gar nicht vor Dynamics 365 oder Azure. Viele Neueinsteiger wurden von ihm in den letzten Jahren zu NAV Entwicklern ausgebildet.

In diesem Blog veröffentlichen Bodo und andere Superhelden Interessantes aus der Welt von Dynamics NAV, Dynamics 365 und Azure.

NAV 2009 – Quellcode des Transformation Tools veröffentlicht

Verfasst von Bodo am Freitag, 19. August 2011

Tags: transformation tool, nav, 2009

Microsoft hat bereits am 5. Juli den Quellcode des Transformation Tools veröffentlicht - nur hat es kaum einer bemerkt.

Man sieht es diesem Link http://www.microsoft.com/download/en/details.aspx?id=26681 und der Beschreibung auch wirklich nicht direkt an, aber hinter diesem Download verbirgt sich wirklich der Quellcode.

Anhand des Quellcodes lässt sich das eine oder andere Mysterium des Transformation Tools aufklären.

Ein Beispiel: Aufgrund welcher Information setzt das Transformation Tool das Group-Property „ShowAsTree“ einer Page auf „Yes“?

Die Antwort finden Sie, wenn Sie einen Blick in die Datei „PageControl.cs“ des Projektes „ObjectTransformation“ werfen. Dort finden Sie die folgende Funktion:

private static void SetTreeViewProperties()
{
  MetadataDocumentManagement metaDataDocMgt = MetadataDocumentManagement.Instance;
  XmlNode expansionControl = metaDataDocMgt.XmlCurrentFormNode.SelectSingleNode(
    @".//a:Group/a:Properties[../a:Control/a:Properties/a:BitmapList = '47,46']",
    metaDataDocMgt.XmlNamespaceMgt);
 
  if (expansionControl != null)
  {
    expansionControl.AppendChild(XmlUtility.CreateXmlElement("ShowAsTree", "Yes"));
  }
 
  RemoveThisNodeFromParent(metaDataDocMgt.XmlCurrentFormNode.SelectSingleNode(
    @".//a:Group//a:Control[./a:Properties/a:BitmapList = '47,46']",
    metaDataDocMgt.XmlNamespaceMgt));
}

Auch wenn Sie kein Experte für C# oder XPath-Ausdrücke sind, werden Sie feststellen, dass das Setzen der Properties von der BitmapList und den Bitmaps 47 und 46 abhängt. Das Plus-Icon und das Minus-Icon werden zum Aufklappen und Zusammenklappen verwendet. Zur Veranschaulichung, es handelt sich um die folgenden Bitmaps:

In die Falle stolpern Sie dann, wenn Sie eine Transformation einer NAV Installation der Version 4 durchführen. In der Version 4 wurden nämlich noch die Bitmaps 16 und 4 zum Aufklappen und Zusammenklappen verwendet:

Fazit: Ohne die Bitmaps zu ändern, werden Sie das Transformation Tool nicht dazu bewegen, das „ShowAsTree“-Property korrekt zu setzen.


Kontakt

Comporsys Hansa GmbH
Spitzerdorfstr. 3
22880 Wedel, Deutschland

Tel. +49 (0)4103 12117 - 0
Fax +49 (0)4103 12117 - 29
E-Mail: info@comporsys.de