Dynamics AX Blog - Dynamics AX 4.0 - Microsoft Dynamics AX (Axapta) - Seite 5

In den letzten Jahren, in denen ich mich fast hauptsächlich mit der Entwicklung im Umfeld von Microsoft Dynamics AX (vormals Axapta) beschäftigt habe, ist das eine oder andere Code-Fragment entstanden, von dem ich mir vorstellen könnte, daß es auch für andere AX-Entwickler ganz nützlich sein könnte. Aber auch Tips und Tricks zu dem mächtigen ERP-System werde ich in dieser Kategorie präsentieren.
RSS-Feed dieser Kategorie
RSS-Feed dieser Version
Dynamics AX: Datumslookup um Anzeige der Kalenderwoche erweitern
12.03.2009Microsoft Dynamics AX (Axapta)
Es muss lediglich die Eigenschaft ShowRowlabels des Table-Controls DaysTable auf YES geändert werden. Warum diese Eigenschaft nicht standardmässig auf YES gesetzt ist, wundert mich zwar, da ja die dahinterliegende Logik komplett vorhanden ist, aber das darf jemand anderer mit Microsoft diskutieren :-) Nachtrag vom 19.11.2009 |
Dynamics AX: Die Debug-Klasse
15.12.2008Microsoft Dynamics AX (Axapta)
Mit der Debug-Klasse stellt Microsoft dem Dynamics AX-Entwickler eine Klasse zur Seite, mit deren Hilfe man während des Debuggen von Code sich Informationen anzeigen lassen kann, ohne die Infolog-Klasse missbrauchen zu müssen. |
Dynamics AX: Die Aktualisierung muss im Rahmen einer Buchung ausgeführt werden
12.11.2008Microsoft Dynamics AX (Axapta)
...heisst nichts anderes, als daß man beim Entwickeln ttsbegin/ttscommit vergessen hat. Eine nicht ganz glücklich ins Deutsche übersetzte Fehlermeldung ;-) |
Dynamics AX: Illegal property valueWenn man in Dynamics AX versucht die Eigenschaft AllowDuplicates eines Tabellen-Indexes von No auf Yes zu ändern, kann folgende Fehlermeldung auftreten: Illegal property value In diesem Fall ist vermutlich der betroffene Index als PrimaryIndex oder ClusteredIndex der Tabelle eingetragen. Eigentlich auch logisch :-) |
Dynamics AX: Container Quicktipp
24.07.2008Microsoft Dynamics AX (Axapta)
Container sind ja was feines, und aus diesem Grund verwende ich sie immer wieder gerne beim Programmieren unter Dynamics AX. Durch einen Blog-Beitrag bei SysDictCoder bin ich auf einen kleinen Trick gestossen, der mir in Zukunft etwas Tipp-Arbeit ersparen wird. Und zwar habe ich bisher Container immer ähnlich wie im folgenden befüllt: container fieldCon = conNull();
; fieldCon = conIns(fieldCon, conLen(fieldCon)+1, "accountNum"); fieldCon = conIns(fieldCon, conLen(fieldCon)+1, "name"); fieldCon = conIns(fieldCon, conLen(fieldCon)+1, "zipcode"); fieldCon = conIns(fieldCon, conLen(fieldCon)+1, "countryregionid"); fieldCon = conIns(fieldCon, conLen(fieldCon)+1, "county"); Wesentlich rascher ist die folgende Schreibweise: container fieldConFast = conNull();
; fieldConFast += "accountNum"; fieldConFast += "name"; fieldConFast += "zipcode"; fieldConFast += "countryregionid"; fieldConFast += "county"; SysDictCoder geht in seinem Artikel etwas mehr ins Detail, deshalb meine Empfehlung dort mal vorbeizuschauen. |
Dynamics AX: SalesTable2LineField
22.06.2008Microsoft Dynamics AX (Axapta)
In der Auftragserfassung gibt es im Auftragskopf Felder, die, wenn sie aktualisiert werden, entweder vollautomatisch bzw. nach Rückfrage beim Benutzer in den Auftragszeilen ebenfalls aktualisiert werden. Welche Felder das sind kann in den Debitorenparametern, Register Aktualisierungen über die Schaltfläche Auftragspositionen aktualisieren eingesehen werden. Dort kann auch parametriert werden, wie sich Dynamics AX bei der Aktualisierung dieser Felder verhalten soll. Um nun ein weiteres Feld in diese Logik mitaufzunehmen bedarf es einiger Schritte. Im folgenden demonstriere ich die notwendigen Änderungen anhand des neuen Feldes DevReceiptDateRequested (abgeleitet vom EDT DevSalesReceiptDateRequested):
Übrigens, die gleiche Logik gibt es natürlich auch einkaufsseitig. Die obige Abfolge und die Codebeispiele wurden unter AX3 entwickelt. Update vom 28.07.2010: In Dynamics AX 2009 funktioniert die beschriebene Lösung genauso. Lediglich beim auszuführenden Job hat sich der Datentyp des Feldes table2LineUpdate geändert. |
|
|
|
|
|
|
Im Standard-Code werden in Verbindung mit dem Befehl setPrefix des öfteren die Makros PreFixField und PreFixFieldValue verwendet. Was die Verwendung dieser Makros für eine Auswirkung auf die Darstellung des Infologs hat, möchte ich im folgenden anhand einfacher Beispiele demonstrieren.
Beispiel für PreFixField
select firstonly salesTable;
setPrefix(#PreFixField(salesTable, salesId));
info('Datensatz in Tabelle "Auftrag" gefunden.');