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

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

Datenquelle eines Formulares aus einer Klasse heraus aktualisieren

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.


 
 

#PreFixField und #PreFixFieldValue

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.');

Screenshot

 


 
 

Dynamics AX: Datumslookup um Anzeige der Kalenderwoche erweitern

LookupUm im Lookup von Datumsfelder zusätzlich die Kalenderwoche angezeigt zu bekommen, ist eine Anpassung der Form SysDataLookup notwendig.

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
Zuständig für die Berechnung der Kalenderwoche ist die Methode drawMonth() des Formulares. In dieser wird standardmässig die Funktion weekOfYear() verwendet. Diese Funktion sollte - zumindest für nicht amerikanische Unternehmen - durch wkOfYr() ersetzt werden. Erstere berechnet nämlich die Kalenderwoche nach amerikanischem Vorbild.


 
 

Dynamics AX 2009: Bestellung kann nicht gebucht werden

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
(PurchParmSubTable) kann nicht erstellt werden. Bestellung: 000375, Silver and Black Services.
Die SQL-Datenbank hat einen Fehler gemeldet.

bzw.

Cannot create a record in Purchase order header - Updating table (PurchParmSubTable). Purchase order: 000375, Silver and Black Services.
The SQL databse has issued an error.

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

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

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

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.
 
Leider gibt es standardmässig scheinbar keine Möglichkeit, solche Aufträge wiederherzustellen.


 
 
Seiten « 1 ... 42 43 44 45 46 47 48 ... 52 » 

 

 
 
 
Beiträge des aktuellen Monats
Mai 2024
MoDiMiDoFrSaSo
 12345
6789101112
13141516171819
20212223242526
2728293031 
 
© 2006-2024 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