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

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 KategorieDatenquelle eines Formulares aus einer Klasse heraus aktualisieren
23.04.2009Microsoft Dynamics AX (Axapta)
|
#PreFixField und #PreFixFieldValue
26.03.2009Microsoft Dynamics AX (Axapta)
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 setPrefix('Beispiel fuer #PreFixField');
select firstonly salesTable; setPrefix(#PreFixField(salesTable, salesId)); info('Datensatz in Tabelle "Auftrag" gefunden.');
|
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 2009: Bestellung kann nicht gebucht werden
03.03.2009Microsoft Dynamics AX (Axapta)
Unter AX 2009 SP1 ist mir vor kurzem beim Versuch eine Bestellung zu buchen, folgende Fehlermeldung über den Weg gelaufen Ein Datensatz in Bestellkopfdaten - Tabelle aktualisieren bzw. Cannot create a record in Purchase order header - Updating table (PurchParmSubTable). Purchase order: 000375, Silver and Black Services. Eine Suche nach dieser Fehlermeldung im Internet ergab, daß wenn für die Tabelle PurchParmTable (Achtung, kein Tippfehler, eine andere Tabelle als in der Fehlermeldung) das Datenbankprotokoll aktiviert wäre, es zu dieser Fehlermeldung kommen kann. |
Dynamics AX: Einfache isNumeric-Prüfung
27.02.2009Microsoft Dynamics AX (Axapta)
Vor kurzem bin ich in der Klasse TaxVATNumValidate von Dynamics AX 2009 über eine Methode gestolpert, die einen String dahingehend überprüft, ob er einen rein numerischen Wert enthält. boolean isNumeric(str _input) { ; return (strlen(_input) == strlen(strkeep(_input,'1234567890'))); } Dies geht natürlich mit der Funkton isInteger wesentlich einfacher, aber die gefundene Methode bietet einen netten Gedankensansatz, wie man Strings auf deren darin enthaltener Zeichen prüfen kann. In den Sinn kamen mir hierbei z.B. eine sehr einfache Validierung von E-Mail-Adressen, Telefonnummern u.ä. |
Dynamics AX: QueryBuildRange für Arrays
09.02.2009Microsoft Dynamics AX (Axapta)
Nachstehend ein Stück Code, wie man in der init-Methode einer FormDataSource einen QueryBuildRange für ein mehrdimensionales Feld aufbaut (z.b. vom EDT Dimension). Das ganze ist mehr eine Notiz für mich selbst, weil ich mir das einfach nicht merke :-) queryBuildRange = SysQuery::findOrCreateRange(
this.query().dataSourceTable(tableNum(inventTransPosting)), FieldId2Ext(fieldNum(inventTransPosting, dimension), 3));
|
Dynamics AX: Ungültige/Stornierte Aufträge
06.02.2009Microsoft Dynamics AX (Axapta)
In den Debitoren-Parametern gibt es ein Kennzeichen namens "Aufträge als ungültig markieren". Ist dieses Kennzeichen gesetzt, werden gelöschte Aufträge in den Tabellen SalesTableDelete und SalesTableLine gespeichert. Derartige Aufträge können unter Debitoren / Abfragen / Historie / Ungültige Aufträge eingesehen werden. |
|
|
|
|
|
|
Ich weiß nicht, wie es anderen Entwicklern geht, aber ich habe immer wieder das selbe Thema:
In einem Formular soll eine Schaltfläche eingebunden werden, die einen oder mehrere der gerade angezeigten Datensätze über eine Klasse aktualisiert.
So ein MenuItemButton ist schnell eingebunden, allerdings sorgt dieser in der Regel nicht dafür, daß die angezeigten Daten nach dem Betätigen dieses Buttons (und dem Ausführen der dahinterliegenden Programmlogik) auch aktualisiert werden.