Dynamics AX Blog - Dynamics AX 2009 - Seite 16

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 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. |
Temporäre Tabelle in einem Report verwenden
26.01.2009Microsoft Dynamics AX (Axapta)
Um eine temporäre Tabelle in einem Report zu verwenden, kann diese in der fetch-Methode mit Daten befüllt werden. public boolean fetch() { boolean ret = true; QueryRun localQuery = new QueryRun(this); ; localQuery.setRecord(TmpCustVendTrans::custTransBalanceCurrency("200030", true, "EUR")); // Befüllt die Tabelle mit den Salden eines Debitors while (localQuery.next()) { TmpCustVendTrans = localQuery.get(TableNum(TmpCustVendTrans)); element.send(TmpCustVendTrans); } return ret; } Die Variable TmpCustVendTrans ist dabei in der classDeclaration des Reports deklariert. |
|
|
|
|
|
|
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.');