Dynamics AX Blog - Microsoft Dynamics AX (Axapta) - Seite 37

Momentan angezeigt werden nur Beiträge der Kategorie »Microsoft Dynamics AX (Axapta)« Filter entfernen

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

Druckeinstellungen und Filterkriterien eines Reports vorbelegen

In einem früheren Beitrag habe ich ja schon demonstriert, wie man einen Report in Dynamics AX per Code aufruft, und diesem dabei einen Query übergibt. Der folgende Code erweitert diesen Aufruf um die Druckeinstellungen (printJobSettings), sodaß es nun möglich ist, einen Report vollautomatisch mit vorgegebenen Filterkriterien und definierten Druckeinstellungen aus X++ heraus aufzurufen.


 
 

Stapelverarbeitung für einen Bericht/Report verhindern

Um bei einem Bericht/Report, der direkt über ein MenuItem (d.h. nicht über eine von RunBaseReport abgeleitete Klasse) aufgerufen wird, die Möglichkeit zu unterbinden, diesen im Stapel auszuführen, muss nur die Methode canGoBatch des Reports überschrieben werden.

Diese Methode scheint allerdings nicht in den überschreibbaren Methoden auf, also muss man einfach eine solche wie folgt anlegen:

public boolean canGoBatch()
{
    ;
    return false;
}

Wird der Report über eine Klasse aufgerufen, dann muss in dieser die gleichnamige Methode entsprechend überschrieben werden.

Getestet in Dynamics AX 2009


 
 

Tipp: Label eines Extended Datatypes (EDT) ermitteln

Manchmal braucht man einfach nur den Label eines Extended Datatypes (EDT), um diesen zum Beispiel als Bestandteil einer Info-/Fehlermeldung ausgeben zu können:

new SysDictType(extendedtypenum(costingversionid)).label()

 
 

Eingeblendete Dimensionen in Reports abfragen

In manchen Berichten ist es möglich, Lagerdimensionen über den Dialog ein- bzw. auszublenden. Um im Bericht selbst abzufragen, ob eine bestimmte Dimension eingeblendet wurde, kann man den unten stehenden Code verwenden, der eine Instanz der Klasse InventReport_OnHand voraussetzt. Dieser fragt zum Beispiel ab, ob die Palettennummer eingeblendet wurde,

if(InventReport_OnHand.parmInventDimParm().WMSPalletIdFlag))
   // ...do something

 


 
 

Whitepaper zum Globalen Adressbuch

Das Globale Adressbuch ist wohl eine der grossen Neuerungen in Dynamics AX 2009. Und vor allem Umsteiger von früheren Versionen haben dazu die eine oder andere Frage. So manche dieser Fragen beantwortet Microsoft im Whitepaper zum Globalen Adressbuch, mit Sicherheit aber nicht alle ;-)

Denoch sollte sich jeder Entwickler und Berater dieses Whitepaper einmal zu Gemüte führen, so findet man zum Beispiel zum Thema Importieren von Debitoren/Kreditoren bzw. Geschäftsbeziehungen via Excel eine ausführliche Beschreibung.

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=052e9dda-667b-42bd-bd13-f8c5aa1bc0f0


 
 

Shared Projects vergleichen

Vor kurzem stand ich wieder einmal vor der Thematik, den Inhalt zweier Projekte vergleichen zu müssen. Da ich bis dato keine Möglichkeit gefunden habe, dies mit Bordmitteln von Dynamics AX durchzuführen, habe ich mir einen Job geschrieben, der genau dies tut.

Der Job verwendet die temporäre Tabelle TmpAOTImport aus dem Standard, in die zuerst mit Hilfe der Klasse TreeNodeTraverser sämtliche AOT-Objekte der beiden Projekte in jeweils einer Tabelleninstanz geschrieben wird. Danach werden diese beiden Instanzen über einen simplen SELECT miteinander verglichen.

Über den Standard-Enum SysMergeDirection (einen besseren habe ich nicht gefunden) kann man definieren, was ausgegeben werden soll.

Beim Wert NONE werden Objekte beider Projekte ausgegeben, die im jeweils anderen nicht vorkommen.
Beim Wert TEXTA werden alle Objekte aufgelistet, die im Projekt1, nicht aber im Projekt2 vorkommen und vice versa beim Wert TEXTB.

Das Ergebnis des Jobs ist in allen Fällen ein einfaches Infolog.

Beispiel: Die folgenden beiden Projekte gilt es zu vergleichen

Projects


 
 

Tipp: Job in Klasse umwandeln

Wusstet Ihr eigentlich, daß man einen Job einfach dadurch in eine einfache Klasse umwandelt, in dem man den Job per Drag & Drop in den Knoten Classes des AOTs zieht?


 
 
Seiten « 1 ... 34 35 36 37 38 39 40 ... 52 » 

 

 
 
 
Beiträge des aktuellen Monats
April 2025
MoDiMiDoFrSaSo
 123456
78910111213
14151617181920
21222324252627
282930 
 
© 2006-2025 Heinz Schweda | Impressum | Kontakt | English version | Mobile Version
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.  Mehr dazu