Dynamics AX Blog - Dynamics AX 2012 - Microsoft Dynamics AX (Axapta) - Seite 28

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
Momentan angezeigt werden nur Beiträge, welche für die Dynamics AX-Version »Dynamics AX 2012« relevant sind. Filter entfernen

RSS-Feed dieser Version

AX 2012: SysOperation-Framework: Ein eigenes Attribut erstellen

Die Attribute des SysOperation-Frameworks sind über Klassen abgebildet, die von SysAttribute abgeleitet sind. Dadurch ist es relativ einfach möglich, sich eigene Attribute zu erstellen.
Im folgenden habe ich ein solches Attribute erstellt, mit Hilfe dessen ich die Hintergrundfarbe eines Controls im vom Framework generierten Dialog verändern kann.

Folgende Schritte sind dafür notwendig:

  1. Erstellen einer Klasse, welche von SysAttribute abgeleitet ist
    Dabei ist die Methode new() Dreh- und Angelpunkt der Logik, da man über die Parameter der new()-Methode die möglichen Parameter des Attributes festlegt. 
  2. Erweitern der Klasse SysOperationDataMemberInfo
    Hier wird vor allem die new()-Methode um den neuen Wert für die Hintergrundfarbe erweitert.
  3. Erweitern der Klasse SysOperationAttributedDataMemberInfo
    Hier wird das neue Attribut abgefragt und entsprechend berücksichtigt.
  4. Erweitern der Klasse SysOperationAutomaticUIBuilder
    In dieser Klasse wird das neue Attribut abgefragt und die Hintergrundfarbe dem Control zugewiesen.

 
 

AX 2012: SysOperation-Framework: Häufig verwendete Attribute

Attribute des Sysoperation-Frameworks werden in Dynamics AX 2012 über Klassen abgebildet, die von SysAttribute abgeleitet sind. Solche Klassen bestehen oft nur aus eine new()-Methode, über welche die Parameter des Attributes gesteuert werden können, sowie aus einer Accessor-Methode je Parameter.


 
 

AX 2012: Mailversand mit Attachements

In Dynamics AX 2012 gibt es - wie auch schon in früheren Versionen - mehrere Möglichkeiten E-Mails zu versenden.
Eine recht komfortable und bekannte Möglichkeit bietet die Tabelle SysOutgoingEmailTable und die dazugehörige Klasse SysEmailDistributor. Diese Tabelle ist über den Client unter Systemverwaltung > Periodisch > E-Mail-Verarbeitung > E-Mail-Sendestatus einsehbar.

Screenshot

Die Verarbeitung dieser Datensätze wird unter  Systemverwaltung > Periodisch > E-Mail-Verarbeitung > Stapel initiert und setzt voraus, daß die E-Mail-Parameter unter Systemverwaltung > Einstellungen > System entsprechend gepflegt sind.

Weniger bekannt ist, daß es über dieses Framework auch möglich ist, Mails mit Attachements zu verschicken. Dazu muss eine weitere Tabelle namens SysOutgoingEmailData entsprechend befüllt werden.

Im folgenden nun ein kurzer Job, der demonstriert, wie diese Tabellen per Code befüllt werden. 


 
 

Suche nach Menüeinträgen

Wer sich so wie ich schon häufig darüber geärgert hat, daß es in Dynamics AX keine Möglichkeit gibt, nach Menüeinträgen zu suchen, dem hilft vielleicht folgender Job.


 
 

Labels mit Zeilenumbrüchen korrekt ausgeben

Manche Labels enthalten Zeilenumbrüche (\n). Möchte man ein solches Label über das Infolog ausgeben, sollte man die Funktion strFmtLB wie folgt verwenden:

// Wrong
info(strFmt("@SYS322576", "AccountsPayableServices", "Allgemeiner Fehler"));

// Correct
info(strFmtLB(strFmt("@SYS322576", "AccountsPayableServices", "Allgemeiner Fehler")));

 
 

Word-Dokument per Code erstellen

Microsoft WordAnbei ein einfach gehaltener Job, der ein einfaches, mehrzeiliges Word-Dokument per Code erstellt. Voraussetzung ist ein lokal installiertes Microsoft Word.

static void CreateWordFile(Args _args)
{
    COM wordApplication;
    COM wordDocuments;
    COM wordDocument;
    COM wordSelection;
    Filename fileName = @"c:\temp\HelloWorld.doc";
    int i;

    try
    {
        wordApplication = new COM("word.application");
        wordApplication.visible(false);
        wordDocuments = wordApplication.Documents();
        wordDocument = wordDocuments.add();
        wordDocument.saveas(fileName);
        wordDocument.activate();

        for (i=1; i<=5; i++)
        {
            wordSelection = wordApplication.selection();
            wordSelection.TypeText(int2str(i) + " Hello World!");
            wordSelection.TypeParagraph();
        }

        wordDocument.save();
        wordDocument.close();
        wordApplication.quit();                           
       
        info(strFmt("Datei %1 wurde erstellt.", fileName));
    }
    catch
    {
        if(wordDocument)
        {
            wordDocument.close();
            wordApplication.quit();
        }           
        error("Fehler");               
    }
}

 
 

AX 2012: Lookup auf das Globale Adressbuch erstellen

Szenario: Auf einer Tabelle wurde ein neues Feld vom EDT DirPartyRecId eingefügt. In der Tabelle selbst dürfen aber nur Parteien mit bestimmten Rollen eingetragen werden (im konkreten Fall nur Debitoren). Dennoch soll der Standard-Lookup der DirPartyTable verwendet werden.

Screenshot

Lösung: In der DataSource des betroffenen Formulares - im Beispiel ist dies die Tabelle SMAServiceObjectTable - auf dem neuen Feld die Methode lookupReference überschreiben


 
 
Seiten « 1 ... 25 26 27 28 29 30 31 ... 38 » 

 

 
 
 
Beiträge des aktuellen Monats
Mai 2025
MoDiMiDoFrSaSo
 1234
567891011
12131415161718
19202122232425
262728293031 
 
© 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