Anzahl Kopien von außen vorbelegen.

4. März 2025 15:21

Hallo,
ein Kunde von uns nutzt eine Terminallösung, d.h., spezielle Reports werden gedruckt, wenn Belege auf einem Terminal bearbeitet werden.
Die Reports können einmal interaktiv aus BC als auch über das Terminal gedruckt werden. Beim Druck über Terminal werden die Reports aus einer Codeunit heraus aufgerufen. Beim Druck über Terminal sollen die Reports 2x gedruckt werden.
Vorzugsweise würde ich die Anzahl der Drucke über CopyLoop realisieren.
Da beim Druck über Terminal die Request Page geschlossen bleiben soll, müsste ich die Anzahl der Kopien von außen vorgeben. Dabei ergibt sich folgendes Problem: Wenn ich den Report als Variable deklariere, um auf diese Variable die Funktion zum Ermitteln der Anzahl der Kopien aufzurufen, kann ich die Ausgabe auf dem Standarddrucker nicht unterdrücken.
Arbeite ich mit REPORT.RUNMODAL(... habe ich wiederum nicht die Möglichkeit, vorher eine Funktion auf dem Report auszuführen, eine etwas verzwickte Situation.
Hat hier jemand eventuell einen Ansatz, wie man vorgehen könnte?

Re: Anzahl Kopien von außen vorbelegen.

4. März 2025 17:54

Wenn man die Art der Session erkennen kann dann kann man das im OnInitReport verwenden.

Re: Anzahl Kopien von außen vorbelegen.

4. März 2025 19:35

Erstmal danke für die Info, hört sich interessant an, aber was genau ist gemeint? Die SESSIONID? Ich habe, ehrlich gesagt, im Moment noch keine konkrete Vorstellung, wie das aussehen soll.

Re: Anzahl Kopien von außen vorbelegen.

5. März 2025 09:30

Guten Morgen,

wird auf dem Terminal BC im Webclient ausgeführt?
Falls da BC nicht mit einem Client ausgeführt wird, könntest du im Report ggf. auch GUIALLOWED abfragen.
guiallowed sollte bei der Ausführung von BC im Webclient true zurückbringen, wenn kein Client ausgeführt wird, müsste false zurückgegeben werden.

Re: Anzahl Kopien von außen vorbelegen.

5. März 2025 10:05

Hallo,

Grundsätzlich muss der Bericht das irgendwo abfragen können. Also z.B. aus einem Feld im Kundenstamm "No. Of Inv. Copies" oder von irgendwo anders, oder aus einer SingleInstande Codeunit.

Dieses Feld fragst du dann in deinem Bericht ab, und steuerst damit eine entsprechende CopyLoop.

Das sollte mit jedem Client funktionieren.

Gruß Fiddi