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

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

Unterschied zwischen update und doUpdate u.ä.

Mir persönlich dreht sich ja immer der Magen um, wenn ich in einer Produktivumgebung einen Stückchen Code mit doUpdate() oder Konsorten entdecke, trotzdem verwende ich solcherart Methoden auch gerne für den einen oder anderen Aktualisierungsjob. Wer den Unterschied zwischen dem Aufruf von update() und doUpdate() nicht kennt, kann diesen in der MSDN nachlesen...oder aber auch in der nachstehenden Tabelle.

Methode Bemerkung
insert vs. doInsert Bei Verwendung von doInsert wird die insert-Methode der Tabelle nicht aufgerufen
delete vs. doDelete Bei Verwendung von doDelete wird eine überschriebene delete-Methode der Tabelle nicht aufgerufen, sondern nur die delete-Methode des xRecord. D.h. DeleteActions werden dennoch ausgeführt
update vs. doUpdate Bei Verwendung von doUpdate wird die update-Methode der Tabelle nicht aufgerufen

 


 
 

Eintrag "Einstellungen" im Kontextmenü freischalten

Kontextmenü von AX2009Jeder Entwickler kennt ihn und die meisten benutzen ihn auch regelmässig: Den Eintrag "Einstellungen" im Kontextmenü eines Formulares.

Wie man diesen Eintrag über die Berechtigungsverwaltung von Dynamics AX entfernt oder hinzufügt, wusste ich allerdings bis dato nicht. Erst ein Request beim Hersteller, den ein Kollege abgesetzt hat, hat mich auf die richtige Spur gebracht:

Unter Sicherheit / Verwaltung / Sonstiges / Fomular "Personalisierung" muss man die Berechtigung auf mindestens "Bearbeiten" setzen, damit der Eintrag im Kontextmenü aufscheint.

Und jetzt erklär mir mal einer, wie man das selbst finden soll...


 
 

Versenden einer Mail an alle Online-Benutzer in Dynamics AX 4.0 und AX 2009

Folgende Schritte sind in Dynamics AX notwendig, um allen Online-Benutzern eine E-Mail zu senden:

  1. Eintragen des zu verwendenden SMTP-Servers unter Verwaltung / Einstellungen / E-Mail-Parameter
  2. Erstellen eines E-Mail-Vorlage vom Typ System unter Grundeinstellungen / Einstellungen /  E-Mail-Vorlage
    Hier kann der Betreff und der Text der zu versendenden Mail um den Platzhalter %username% erweitert werden.
  3. Versenden der Mail unter Verwaltung / Periodisch / E-Mail-Aussendung

Man kann auch an alle Benutzer einer Installation versenden.

Für technisch Interessierte: Die verantwortliche Klasse ist die SysEmailBroadCast.


 
 

startUpCmd=Autorun

Möchte man in Dynamics AX 2009 beim Start bestimmte Formulare oder Klassen automatisch ausführen, kann man sich des Kommandozeilen-Parameters Autorun von Dynamics AX bedienen, dieser erwartet als Parameter eine XML-Datei (im Beispiel startup.xml) in der die zu startenden Objekte eingetragen werden können:

"C:\Programme\Microsoft Dynamics AX\50\Client\Bin\Ax32.exe"
-startUpCmd=Autorun_startup.xml

Die dazugehörige XML-Datei startup.xml sieht wie folgt aus:





 

Update vom 15.06.2011

Unter Dynamics AX 4.0 funktioniert dies übrigens genauso, lediglich die Versionsnummer in der XML-Datei muss entsprechend angepasst werden.

Außerdem kann man in der XML-Datei über das Attribut exitWhenDone angeben, daß AX nach der Ausführung der entsprechenden Funktionen wieder beendet werden soll. Weiters kann man bei dem Attribut logFile natürlich auch einen kompletten Pfad angeben.


logFile="c:\temp\AXAutorun.log">
 

Mehr Infos dazu hält die MSDN bereit: http://msdn.microsoft.com/en-us/library/aa870082.aspx


 
 

Unterschied zwischen weekOfYear() und wkOfYr()

In Dynamixs AX stehen dem Entwickler zwei Methoden zur Verfügung, die zur Berechnung der Kalenderwoche dienen: weekOfYear und wkOfYr.

Der Unterschied zwischen den beiden ist, daß die Methode weekOfYear die Kalnderwoche nach amerikanischem Vorbild berechnet. Dieser Standard legt die erste Woche als jene fest, in die der 1. Januar fällt.

Für den deutschsprachigen Raum sollte die - der ISO 8601 entsprechenden - Methode wkOfYr verwendet werden. Nach dieser Norm ist die erste Woche jene, die den ersten Donnerstag des Jahres enthält.


 
 

Was man bei Base Enums beachten sollte

Schon einmal einen Base Enum in Dynamics AX erstellt? Oder einen bestehenden erweitert?

Ja?! Dabei auch auf das folgende geachtet?

.) Das erste Element eines Base Enums sollte den Wert 0 aufweisen und dieser sollte "Undefiniert", "Kein", "Unbekannt" oder ähnlichem entsprechen. Vor allem wenn man den Base Enum später in Tabellen verwenden möchte, die bereits Daten enthalten.
Selbst wenn man davon ausgehen kann, daß man einen solchen undefinierten Zustand nicht benötigt, sollte man die 0 reserviert halten, sprich der erste "echte" Wert des Base Enums sollte 1 entsprechen.


 
 

Beispiele für SQL-Statements aus AX heraus

Nachstehend Beispiele für den Zugriff auf die AX-Datenbank per SQL-Statement, diese Zugriffe müssen im übrigen immer serverseitig erfolgen (runOn-Property).

Beispiel für ein SELECT-Statement

public void run()
{
    Connection                      connection = new Connection();
    Statement                       stmt = connection.createStatement();
    sqlStatementExecutePermission   sqlStatementExecutePermission;
    str                             sqlStmt;
    resultSet                       resultSet;
    ;
    
    sqlStmt = "SELECT accountNum, name, creditMax FROM custTable;";
    
    sqlStatementExecutePermission = new SqlStatementExecutePermission(sqlStmt);
    sqlStatementExecutePermission.assert();     resultSet = stmt.executeQuery(sqlStmt);

    while (resultSet.next())
    {
        info(strFmt("%1 %2 %3", resultSet.getString(1), resultSet.getString(2), resultSet.getReal(3)));
    }
    CodeAccessPermission::revertAssert();
}

Übrigens: Wenn folgender Fehler beim Abfragen des resultSets auftritt, kann die Ursache ein ungültiges SQL-Statement sein!

Ein Datensatz in  () kann nicht ausgewählt werden.
Die SQL-Datenbank hat einen Fehler gemeldet.


 
 
Seiten « 1 ... 38 39 40 41 42 43 44 ... 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