Wie man ein single-dimension-Wert in AX 2012 ein?
Mein problem ist die Einstellung einiger dimension Werte Lesen aus einer externen Quelle.
Angesichts der AX 2009 Erklärung:
ledgerJournalTrans.Dimension = ledgerTable.Dimension;
ledgerJournalTrans.Dimension[1] = "abc";
Was ist das äquivalent Weise AX 2012?
Dies wird Ursache vermuten die Existenz eines "Department" - dimension als die erste dimension.
- Ich war vor kurzem gesagt, dass die finanziellen Dimensionen sind in einer separaten Tabelle gespeichert, in 2012, und Sie sind auch unbegrenzt. Ich hatte noch nicht eine chance zu sehen, aber meine Vermutung wäre, dass es ähnlich wie InventDim, wo Sie tun ::FindOrCreate() und Sie haben eine inventDimId. Nicht sicher, ob dies kann helfen, zeigen Sie in die richtige Richtung.
- Sie sind richtig, aber es gibt keine einfache findOrCreate(), werden alle Referenzen RecId, erinnern 🙂
- Ich hatte noch keine Zeit, um zu sehen, AX 2012 noch voll leider. Ich habe einen Microsoft premier support-rep hinter mir tun die Arbeit, aber wir sind auf 2009, und ich bin sicher, er wäre verwirrt, wenn ich ihn fragte, ein 2012 Programmierung Frage. Ich wünschte, ich könnte mehr helfen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersten Dinge, die ersten, die legacy-Abmessungen in AX 2009 wurden komplett erneuert und ersetzt in AX 2012. Die neue LedgerDimension sind eine Kombination aus Konto und die alte dimension, die Werte, die erforderlich sind, basierend auf der account-Struktur und erweiterte regelstrukturen. Erfahren Sie mehr über die neue Dimension-Framework in AX 2012 Lesen Sie die whitepaper über das neue dimension-framework.
Unter der Annahme, dass Abteilung ist die erste dimension, und beide Dimensionen sind mit dem LedgerDimensionAccount EDT vereinfacht dieses Szenario noch ein wenig, aber das neue dimension-framework ist sehr flexibel, sodass diese Annahme kann nicht richtig sein. Auch wenn es ist, einfach nur die Angabe eines neuen Wertes für die Abteilung kann verlangen, dass die Struktur der Kombination muss sich drastisch ändern, weil der erweiterte Regel-Strukturen, eingerichtet werden.
Ehrlich, würde ich nur in Erwägung ziehen, den code weiter unten einfach als eine demonstration, wie einige der Grundlagen der Arbeit, nicht etwas, das sollte in der Produktion eingesetzt werden. Mit dieser sagte, sollte dieser code erreichen, was Sie wollen, wenn Sie, dass eine Dimension-Feld auf LedgerTable hat, ersetzt werden, mit einem LedgerDimension Feld mit der LedgerDimensionAccount EDT-speichert eine vollständige Kombination.
Meinem Fall war der "Standard-Dimensionen" - Szenario, also musste ich ein bisschen anpassen.
Dies ist die Methode, die ich nutzte:
Auf die
DimensionAttribute
Tabelle ein neues Feld hinzufügen nameNumber
dann fügen Sie diese Methode:Diese explizit identifiziert die dimension mit einer entsprechenden Nummer.
Auf die
DimensionAttributeValueSetStorage
Klasse fügen Sie die folgende Methode:Den
DimensionAttributeValueSetStorage
mit "Standard-Abmessungen", wie beschrieben im Weißbuch @dlannoye erwähnt.Dann den entsprechenden code Lesen wie diese:
Erhalten Sie 2 Methoden, um dieses hier:
http://daxldsoft.blogspot.it/2012/11/ax-2012-financial-dimension-update.html