Willkommen auf schweda.net | EN | DE
 
 
 
 
 

Das folgende Code-Schnipsel zeigt, wie man per Code Wellen und Arbeiten für eine oder mehrere Lieferungen erzeugen kann. Dies wird normalerweise auch aufgerufen, wenn man die Funktion "Für Lagerort freigeben" ausführt.

WHSWaveTable::buildWaveFromShipments(['USMF-000006','USMF-000007']);

Vor kurzem habe ich mein lokal installiertes AX 2012 R3 CU8 auf einen aktuelleren Programmstand bringen wollen. Dazu wird folgendes benötigt:

  • Zugang zu den Lifecycle Services (LCS)
  • Zumindest ein paar Stunden Zeit

Nachstehend findet Ihr einige Screenshots sowie Anmerkungen die ich während der Aktualisierung gemacht habe.

Anmeldung in LCS und Downloaden des Installers

Screenshot


Häufig wird eine Funktion, die über das SysOperation-Framework abgebildet wurde, aus einem Formular heraus über eine Schaltfläche aufgerufen. Dabei hat man meist die Anforderung, daß die angezeigten Daten im Formular nach der Ausführung aktualisiert werden sollen.

Ich benutze dafür gerne die folgende Logik. Diese geht davon aus, daß der Aufruf der Funktion über eine Schalfläche erfolgt ist und dadurch die main()-Methode getriggert wird.

Die eigentliche Aktualisierug erfolgt über eine Sub-Methode und könnte wie folgt aussehen:

private void refreshCallingForm(args _args)
{
    FormRun callerFormRun;
    #Task

    if(_args && _args.caller() && _args.caller() is formRun)
    {
        callerFormRun = _args.caller();
        callerFormRun.task(#taskF5);
    }
}

Das folgende Code-Snippet führt die Funktion "Für Lagerort freigeben" einer Ladung aus, allerdings ohne die Wellen/Arbeiten zu generieren. 

static void Job1(Args _args)
{
    ttsBegin;
    WHSLoadPostEngine::post(whsLoadTable::find('USMF-000004', true));
    ttsCommit;
}

 


Mit Hilfe des folgenden Code, kann man eine Welle verarbeiten. Dies wird abhängig von den WHS-Parametern bei Aufruf der Funktion "Für Lagerort freigeben" ausgeführt.

WHSPostEngine::post(WaveTable::find('USMF-000000003'));

In diesem Beitrag möchte ich zeigen, wie man alle Positionen eines Auftrages bzw. auch nur einzelne Auftragspositionen per Code zu einer bestehenden Ladung hinzufügen kann.


Eine häufige Anforderung ist es, daß zu einem bestimmten Zeitpunkt ein Bericht/Report vollautomatisch ausgedruckt werden soll.

Dabei gilt es meist, dem auszudruckenden Bericht bestimmte Parameter mitgeben zu können und je nachdem wie der Bericht entwicklungsseitig aufgebaut ist, kann dies mehr oder weniger aufwendig sein.

Der folgende Code ruft einen relativ einfachen Dataprovider-basierten Bericht auf:

TutorialMyReportDataContract dataContract;
SrsReportDataContract srsReportDataContract;

controller = new SrsReportRunController();
controller.parmReportName(ssrsReportStr(TutorialMyReport, MyDesign)); 
controller.parmShowDialog(false);    
controller.parmLoadFromSysLastValue(false);  

srsReportDataContract =
controller.parmReportContract();

dataContract = srsReportDataContract.parmRdpContract();

dataContract.parmSalesId("S1000"); 

Das nächste Beispiel ruft den Standardbericht Buchungen (Debitorenkonten > Berichte > Buchungen > Debitor) auf. Die Besonderheit dieses Berichtes ist es, daß hier ein Query innerhalb des Dataproviders verwendet wird. Auf diesen zuzugreifen war die Herausforderung:


Seiten 1 2 3 4 ... 50 » 

 

 
Kategorien / Themen
Feeds
RSS RSS-Feed
 
 
Beiträge des aktuellen Monats
April 2018
MoDiMiDoFrSaSo
 1
2345678
9101112131415
16171819202122
23242526272829
30 
 
 
© 2006-2018 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