25. Januar 2019 22:16
Hallo Kollegen!
Ich habe ein ziemlich zähes Problem worauf hoffentlich jemand einen Tip hat:
Folgender Block wird in ca. 2 Sek ausgeführt, vom Run bis zur Regung am Drucker:
- Code:
SalesInvHeader.GET('DD-RG14+00036');
SalesInvHeader.SETRECFILTER;
ReportSelection.SETRANGE(Usage,ReportSelection.Usage::"S.Invoice");
ReportSelection.SETFILTER("Report ID",'<>0');
IF ReportSelection.FINDSET THEN
REPORT.RUNMODAL(ReportSelection."Report ID", FALSE, FALSE, SalesInvHeader);
Folgendes Szenario:
Über einen SOAP-Webservice wird der Warenausgang (aus einem externen Lagerverwaltungssystem) gefüllt mit den tatsächlich gelieferten Mengen (XMLPort).
In der WebService Codeunit wird anschließend der Warenausgang gebucht (Liefern und fakturieren). Zeitaufwand bis hierhin: ca 2 Sek.
Anschließend hole ich mir die gebuchte Rechnung und übergebe diese zum Druck (gleiche Vorgehensweise wie oben).
Die Verarbeitungszeit würde ich also auf ca 4-6 Sek schätzen, 2-3 fürs Buchen, 2-3 fürs Drucken.
Allerdings hängt der Prozess im Gesamtprozess (also WebService-Request -> Buchen -> Drucken) ganze 20 Sekunden an dieser Stelle:
- Code:
REPORT.RUNMODAL(ReportSelection."Report ID", FALSE, FALSE, SalesInvHeader);
Hat jemand eine Idee, warum der exakt gleiche Druck separat ausgeführt 2 Sek, als Folgeprozess einer vorgelagerten Buchung aber 20 Sek dauert?
Viele Grüße und vielen Dank im Voraus!