Dynamics AX Blog - Seite 41

Zugriff auf die Zwischenablage per X++

In Dynamics AX kann man selbstverständlich auch auf die Zwischenablage zugreifen, ein kurzes Codebeispiel dazu im folgenden. Funktioniert übrigens zumindest seit Axpata 2.5.

static void useClipboard(Args _args)
{
    textBuffer  textBuffer = new textBuffer();
    ;    
    // Write to clipboard

    textBuffer.appendText('Hello world!');
    textBuffer.toClipboard();

    // Read from clipboard
    textBuffer.fromClipboard();
    info(textBuffer.getText());
}

 
 

Buchen von Lieferschein und Rechnung per Code

Mit Hilfe der salesFormLetter-Klasse(n) von Dynamics AX ist es möglich, Auftragsbestätigung, Lieferschein und/oder Rechnung für einen Auftrag mit nur wenigen Zeilen Code zu buchen. Nachstehend ein Beispiel, in dem für einen Auftrag alle drei auf einmal gebucht werden:

static void postSalesFormLetter(Args _args)
{
    SalesFormLetter salesFormLetter;
    salesTable      salesTable = salesTable::find('01234');
    ;    

    ttsBegin
;

    // Bestätigung buchen
    salesFormLetter = SalesFormLetter::construct(DocumentStatus::Confirmation); 
    salesFormLetter.update( salesTable,
                            systemDateGet(),
                            SalesUpdate::All,
                            AccountOrder::None,
                            NoYes::No,
                            NoYes::No); 

    // Lieferschein buchen
    salesFormLetter = SalesFormLetter::construct(DocumentStatus::PackingSlip);    
    salesFormLetter.update( salesTable,
                            systemDateGet(),
                            SalesUpdate::All,
                            AccountOrder::None,
                            NoYes::No,
                            NoYes::No);    

    // Rechnung buchen

    salesFormLetter = SalesFormLetter::construct(DocumentStatus::Invoice);    
    salesFormLetter.update( salesTable,
                            systemDateGet(),
                            SalesUpdate::All,
                            AccountOrder::None,
                            NoYes::No,
                            NoYes::No);

    ttsCommit;
}

Getestet in Dynamics AX 2009.


 
 

Notizen zur RecId

Die RecId ist die mehr oder weniger eindeutige Kennung eines Datensatzes in Dynamics AX. Mehr oder weniger deshalb, weil es auf die verwendete Version von Dynamics AX bzw. Axapta ankommt:

Version Bemerkung
3.0 RecId pro Mandant eindeutig (über alle Tabellen)
4.0 RecId pro Tabelle eindeutig (über alle Mandanten)
D.h. die selbe RecId kann in zwei oder mehreren Tabellen vorkommen, das ist auch der Grund, warum ein Feld einer Tabelle vom Typ RefRecId als EDT mit einer Relation abgebildet werden muss!
2009 Wie bei Version 4.0
2012 Wie bei Version 4.0

 
 

startUpCmd=compileAll

Mit Hilfe dieses Parameters von Dynamics AX ist es möglich, eine vollständige Kompilierung der Applikation zu initieren. Dabei sind folgende drei Varainten verfügbar:

1.) Kompiliert die Applikation und aktualisiert - soferne dies in den Benutzeroptionen so festgelegt ist - auch die Querverweise

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

2.) Kompilieren der Applikation inkl. Aktualisierung der Querverweise

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

3.) Kompiliert die Applikation ohne die Querverweise zu aktualisieren

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

In allen drei Fällen wird übrigens - zumindest in AX 2009 - eine Level 4-Kompilierung initiert, d.h. die Applikation wird auch hinsichtlich Best-Practice-Abweichungen geprüft.

Das Ergebnis der Kompilierung ist anschließend in der Datei AxCompileAll.html im Log-Verzeichnis lt. Client-Configuration zu finden.


 
 

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.


 
 
Seiten « 1 ... 38 39 40 41 42 43 44 ... 53 » 

 

 
 
 
Beiträge des aktuellen Monats
Juni 2025
MoDiMiDoFrSaSo
 1
2345678
9101112131415
16171819202122
23242526272829
30 
 
© 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