CC Report mit Übergabeparameter im RTC

11. August 2010 09:48

Hallo,

beim Aufruf eines CC-Reports aus dem RTC werden zunächst einige Parameter übergeben. Dies führt zu folgender Fehlermeldung:

Microsoft Dynamics NAV
---------------------------
Die Berichtstatusinformationen können nicht vom rollenbasierten Client an den Bericht für den Microsoft Dynamics NAV Classic-Client übertragen werden. Vor dem Ausführen des Berichts wurde mindestens eine der öffentlichen Funktionen für den Bericht '50056' aufgerufen.
---------------------------
OK

Hier noch der Aufrufcode:

Code:
ProdOrder.RESET;
ProdOrder.SETRANGE( Status, Status );
ProdOrder.SETRANGE( "No.", "No." );
Etiketten.DefLanguageCode( "Final Language Code" );
Etiketten.SETTABLEVIEW( ProdOrder );
Etiketten.RUN;


Was kann man da tun?

Gruß

Michael

Re: CC Report mit Übergabeparameter im RTC

11. August 2010 11:04

Die Meldung kommt z.B. wenn das RDLC Layout noch fehlt.
http://msdn.microsoft.com/en-us/library/dd355037.aspx

Hatte ich aber auch schon mit Layout, aber das war vermutlich ein Aktualisierungsproblem.

Re: CC Report mit Übergabeparameter im RTC

15. September 2010 17:20

Ich stehe nun auch vor diesem Problem. Mein Report soll kein RTC-Layout erhalten, braucht aber eine Funktion, die vor dem RUN aufgerufen wird.

Ich habs versucht, mit einer Single-Instance-Codeunit zu lösen: Direkt vor dem Reportaufruf setze ich dort Variablen, um diese direkt im Report OnInit-Trigger wieder "abzuholen".
Im Classic Client funktioniert das.
Im RTC dagegen sind meine gefüllten Variablen bei Abruf leer (abgefragt mit MESSAGEs) :-(
Kennt jemand dieses Problem?

Re: CC Report mit Übergabeparameter im RTC

16. September 2010 09:53

Hallo zusammen,

da der CC-Report in einer eigenständigen Programm-Instanz (fin.exe/finsql.exe vs. Microsoft.Dynamics.Nav.Client.exe) läuft, funktioniert hier der Trick mit einer SingleInstance-Codeunit leider nicht.

Ich hätte folgende Idee:
  1. Vor dem Aufruf aus dem RTC werden die erforderlichen Parameter in einer Tabelle zwischengeparkt.
  2. Der CC-Report schaut direkt nach seinem Aufruf in der Tabelle nach, ob für ihn Parameter abgelegt wurden.
  3. Nach Auswertung der Parameter löscht der CC-Report die Daten aus der Tabelle

Die Tabelle könnte folgendermaßen aufgebaut sein:
Code:
User ID          Code[20]   // Alternativ: Session ID   Integer
Report ID        Integer
Parameter Code   Code[10]   // z. B. 'LANGUAGE'
Parameter Wert   Text[250]  // z. B. '1033' oder 'ENU'

Re: CC Report mit Übergabeparameter im RTC

16. September 2010 11:57

Danke für deine Hilfe.

Ich probierte es zunächst mit folgendem Workaround:
Meine Form/Page sollte statt meines Zielreports einen Dummy-Report aufrufen (ProcessingOnly = <False>).
Ziel: Dieser wird mangels RTC-Layout mit einer CC-Instanz geöffnet und kann seinerseits nun meinen Zielreport aufrufen und dabei wieder Übergabeparameter verwenden.

Diese Lösung ist leider gescheitert:

  • Wird dort mein Zielreport mittels RUN aufgerufen, wird er nicht ausgeführt. Grund: Der Dummy-Report wartet nicht auf meinen Zielreport und schließt bei dessen Beendung meinen Zielreport gleich mit, noch ehe letzterer zur Ausführung gekommen ist. Schalte ich zwischen Dummy-Report und Zielreport noch eine Dummy-Codeunit, so funktionierts im CC tadellos. Nur im RTC leider nicht, da es - laut Fehlermeldung - nicht möglich ist, im RTC einen Report im nicht-modalen Modus aufzurufen. Modal ginge aber auch nicht, denn:

  • Wird der Zielreport mittels RUNMODAL aufgerufen, wartet der Dummy-Report, sodass mein Zielreport tatsächlich ausgeführt wird. Dabei fällt zunächst das Druckfenster des Dummy-Reports auf, das die ganze Zeit über offen bleibt. Mein Zielreport funktioniert bisher richtig. Ich rufe die Seitenvorschau auf, alles OK. Wenn ich jedoch die Seitenansicht schließen möchte, erhalte ich eine Fehlermeldung "Seitenansicht für Zielreport kann nicht geschlossen werden, da sie von Zielreport (!) gesperrt wird. Bitte schließen Sie Zielreport.". Dagegen kommt leider nur noch der Task-Manager an. Dieses Problem besteht im CC und RTC.

Summa summarum: Ich nutze jetzt doch die "Dummy-Tabelle", ähnlich wie von Timo beschrieben.

Re: CC Report mit Übergabeparameter im RTC

16. September 2010 15:30

Ich erinnere da mal an einen damaligen Beitrag.

Ist also nun doch etwas dran das z. B. REPORT.RUN und REPORT.RUNMODAL lt. NAV2009 (wahrscheinlich bezüglich RTC) veraltet sind?
Wenn ja, gibt es dann eine von Microsoft vorgeschlagene Alternative?

http://www.msdynamics.de/viewtopic.php?f=40&t=9856#p52173

mfg,
winfy