Bodo's Dynamics NAV und Business Central Blog
Bodo ist ein Dynamics NAV Urgestein. Er programmiert Navision 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 Entwicklern ausgebildet. In diesem Blog veröffentlichen Bodo und andere Superhelden Interessantes aus der Welt von Dynamics 365 Business Central / Dynamics NAV und Microsoft Azure.NAV 2009 – Quellcode des Transformation Tools veröffentlicht
Tags: transformation tool, nav, 2009Microsoft 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:
{
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.