[gelöst] Report mit saveashtml speichern + Reqfilterfields

7. November 2006 16:31

Hallo,

ich möchte per Code - mit saveashtml Reports als HTML speichern.
Jedoch möchte ich bei vielen Reports als zusätzliche Parameter die Reqfilterfields und einige Felder aus den Requestform übergeben - wie kann ich da vorgehen?

-> Würde dann diesen in den Objektaufrufplaner integrieren und in Kombination mit blat(Mail-Versand) mit automatischen Berichts-Versender basteln.

Danke
Jürgen
Zuletzt geändert von Juergen_G am 9. November 2006 13:51, insgesamt 1-mal geändert.

7. November 2006 17:50

Hi,

wir haben hierfuer ein zusaetzliches Modul namens "BatchJob" in Verwendung. Es besteht aus 3 Tabellen und einigen Codeunits. Pro Batchjob koennen beliebig viele Reports eingetragen werden. Pro Report koennen bis zu 9 Filter als Parameter definiert werden, die beim Aufruf des Jobs dann beruecksichtigt werden (muss im Report ausprogrammiert werden).

Moeglicherweise wuerde dir bereits eine vereinfachte Version mit nur 1-2 Tabellen genuegen, die du dann recht schnell umsetzen koenntest.

gruesse
feri

8. November 2006 09:51

Hallo Feri,

dass hört sich sehr gut an - kannst du die Objekte hochladen oder mir verraten wie ich einen Report mit Parameter starten kann und als HTML oder PDF speichern kann?

Danke Jürgen

8. November 2006 12:59

Hier mal ein Beispiel wie ich die Lagerregulierung per Code ausführe:

LagerRegFaktEP = Report Adjust Cost - Item Entries
LagerRegBuch = Report Post Inventory Cost to G/L

Code:
// Buchungsdatum setzen über Funktion
LagerRegFaktEP.SetPostingDate(WORKDATE);
// Request Form unterdrücken
LagerRegFaktEP.USEREQUESTFORM := FALSE;
// Report ausführen.
LagerRegFaktEP.RUN;

LagerRegBuch.InitializeRequest(1, WORKDATE,'',TRUE);
LagerRegBuch.USEREQUESTFORM := FALSE;

IF LagerRegBuch.SAVEASHTML('\\172.xxx.xxx.xx\_database\Lagerregulierungen\lagerreg_'+FORMAT(WORKDATE)+'.html') THEN BEGIN
END ELSE BEGIN
 END;

8. November 2006 17:52

Juergen_G hat geschrieben:Hallo Feri,

dass hört sich sehr gut an - kannst du die Objekte hochladen oder mir verraten wie ich einen Report mit Parameter starten kann und als HTML oder PDF speichern kann?

Danke Jürgen


Hi Juergen,

hochladen kann ich es leider nicht, da wir das Modul zugekauft und nicht selbst programmiert haben.

Einen Report kannst du so starten

Code:
REPORT.RUNMODAL(Number [, ReqWindow] [, SystemPrinter] [, Record]);


In der oben erwaehnten Tabelle verwaltest du die Reportnummern, die Parameter und sonstige Informationen, die du noch brauchen koenntest.

Im Report musst du dann eine Funktion einbauen, die sich diese Tabelle schnappt und die richtige Zeile rausfiltert (fuer den gerade aktiven Report). Diese Funktion musst du dann ganz am Anfang des Reports aufrufen, damit du die Filter entsprechend setzen kannst.

Das waere dann sehr einfach aufgebaut. Wenn du den gleichen Report mit verschiedenen Parametern mehrmals starten willst, dann wird es schon aufwaendiger. In unserer Loesung wird beim Start des Batchjobs der aktuelle Eintrag in die erste leere Zeile kopiert, beim Verarbeiten des Reports wird dann immer darauf zugegriffen.

gruesse
feri

8. November 2006 17:58

erstmal Danke - ich werde mir das in Ruhe ansehen

8. November 2006 18:00

feri hat geschrieben:hochladen kann ich es leider nicht, da wir das Modul zugekauft und nicht selbst programmiert haben.


Ich bin an diesem Modul interessiert. Kannst du mir sagen, wo man das beziehen kann?

9. November 2006 09:13

rotsch hat geschrieben:Ich bin an diesem Modul interessiert. Kannst du mir sagen, wo man das beziehen kann?


Hi Rotsch,
in der Dokumentation steht etwas von "Keßler & Schubert GmbH", allerdings konnte ich auf die Schnelle auch keinen vernuenftigen Webauftritt von ihnen finden. Bitte frage "BeniHoch", er ist Mitarbeiter unseres NSCs, er kann dir bestimmt genauere Auskunft geben.

gruesse
feri

9. November 2006 09:16

Besten Dank. Ich werde BeniHoch kontaktieren.

9. November 2006 13:50

Hallo elTorito,

Besten Dank für Deine Vorlage - funktioniert prima