Mein Problem besteht darin, einige Dimensionswerte aus einer externen Quelle zu lesen.
Angesichts der AX 2009-Erklärung:
%Vor%Was ist der gleiche Weg wie in AX 2012?
Dies wird von Grund auf die Existenz einer Dimension "Abteilung" als erste Dimension annehmen.
Zunächst einmal wurden die Legacy-Dimensionen in AX 2009 in AX 2012 komplett überarbeitet und ersetzt . Die neue LedgerDimension ist eine Kombination aus dem Account und den alten Dimensionswerten, die auf der Basis von Kontostruktur und erweiterte Regelstrukturen. Um mehr über das neue Dimension Framework in AX 2012 zu erfahren, lesen Sie das Whitepaper zum neuen Dimensionsrahmen.
Wenn wir davon ausgehen, dass die Abteilung die erste Dimension ist und beide Dimensionen das LedgerDimensionAccount EDT verwenden, vereinfacht sich dieses Szenario ziemlich, aber das neue Dimensions-Framework ist sehr flexibel, so dass diese Annahme möglicherweise nicht korrekt ist. Selbst wenn dies der Fall ist, erfordert die Angabe eines neuen Werts für Department möglicherweise, dass sich die Struktur der Kombination aufgrund erweiterter Regelstrukturen, die eingerichtet werden können, drastisch ändern muss.
Ehrlich gesagt würde ich den folgenden Code nur als eine Demonstration ansehen, wie einige der Grundlagen funktionieren, nicht etwas, das in der Produktion verwendet werden sollte. Damit sollte dieser Code erreichen, was Sie wollen , wenn das Feld Dimension in LedgerTable durch das LedgerDimensionAccount EDT ersetzt wurde, das eine vollständige Kombination speichert.
%Vor%Mein Fall war das Szenario "Standarddimensionen", also musste ich mich etwas anpassen. Dies ist die Methode, die ich schließlich verwendet habe:
Fügen Sie in der Tabelle DimensionAttribute
einen neuen Feldnamen Number
hinzu und fügen Sie diese Methode hinzu:
Dies identifiziert die Dimension explizit mit einer entsprechenden Nummer.
Fügen Sie in der Klasse DimensionAttributeValueSetStorage
die Methode hinzu:
Der DimensionAttributeValueSetStorage
behandelt "Standarddimensionen" wie im White Paper @dlannoye erwähnt.
Dann liest sich der entsprechende Code wie folgt:
%Vor%Tags und Links axapta dynamics-ax-2012