[Gelöst] RTC Probleme mit der Druckreihenfolge

3. Januar 2012 17:19

Hallo miteinander,
ich habe folgendes Problem mit dem Druck aus Nav2009 R2 RTC und hoffe dass ich dies irgendwie verständlich erklären kann
Habe einen Kopf und mehrere Zeilen dazu.
Am Anfang soll nach einer, in der Einrichtung definierten Reihenfolge verschiedene Berichte gedruckt werden.
Es wird einmal pro Kopf gedruckt:
• 1x Fahrertagesbericht
• 1x Gefahrgutdeckblatt
• 1x Rollkarte
• Für jede der folgenden Zeilen ein eigener Lieferschein
Von Navision sieht alles gut aus, auch mit dem Debugger ist alles in der Richtigen Sortierreihenfolge.
Tournr und Abladefolge (das es die gleiche Abladefolge ist, hat keine Auswirkung)

Aus dem Classic funktioniert dies alles hervorragend, aber der Kunde arbeitet leider mit dem RTC.

Nun habe ich schon versucht, mit einem SLEEP Befehl das ganze zu verlangsamen, da es aussah, wie wenn der Drucker die Verarbeitung nicht schafft, aber nur unter RTC Bediengung.

Beim RTC sieht es so aus, als ob das ganze ca. 2 Minuten wartet und dann alles auf einen Schlag raus haut.
Der SLEEP Befehl steht momentan bei 10 Sekunden.
Der RUNMODAL Befehl wird doch normalerweise gleich abgearbeitet, oder nicht?
Kann das der RTC eventuell nicht?
Wie kann dies gelöst werden?

Bitte um Tips.
Ach ja, so eine Tour kann auch einmal ohne weiteres 100 bis 200 Lieferscheine umfassen.
Codefeld der Lieferscheinnummer ist ja 20.

Bild

Meine Programmierung sieht so aus

Code:
WITH PostedTourPlanningEntry DO BEGIN
  GetTourSetup;
  FOR i := 1 TO TourSetup.GetMaxPrintingValue DO
    CASE i OF
      TourSetup."Printing Order - Shipment Doc.": //Liefer- und Abholscheine
        BEGIN
          RESET;
          SETCURRENTKEY("Posted Tour Document No.","Tour - Unloading Sequence");
          SETRANGE("Posted Tour Document No.",PostedTourHeader."Document No.");
          PostedTourPlanningEntry.SETRANGE("Transfer Without Posting",FALSE);
          IF PrintLineNo <> 0 THEN
            SETRANGE("Line No.",PrintLineNo);
          IF FINDSET THEN
            REPEAT
              CASE "Source Document Type" OF
                "Source Document Type"::"Sales Order":
                  BEGIN
                    //Lieferschein drucken
                    IF "Shipment No." <> '' THEN
                      IF SalesShptHeader.GET("Shipment No.") THEN BEGIN
                        SalesShptHeader.SETRECFILTER;
                        SalesShptHeader.DefCommunicationType(0);
                        SalesShptHeader.PrintRecords(PrintLineNo <> 0);
                      END ELSE
                        PrintDeletedDocument(PrintLineNo <> 0);
                   
                   
              SLEEP(TourSetup."Queue time");
            UNTIL NEXT = 0;
        END;

      TourSetup."Printing Order - DG Sheet":  //Gefahrgutdeckblatt
        BEGIN
          PostedTourHeader.PrintDGSheet(PrintLineNo <> 0);
          SLEEP(TourSetup."Queue time");
        END;

      TourSetup."Printing Order - Daily Report":  //Fahrertagesbericht
        BEGIN
          PostedTourHeader.PrintDailyReport(PrintLineNo <> 0);
          SLEEP(TourSetup."Queue time");
        END;

      TourSetup."Printing Order - Cartage Note":  //Rollkarte
        BEGIN
          PostedTourHeader.PrintCartageNote(PrintLineNo <> 0);
          SLEEP(TourSetup."Queue time");
        END;
    END;
END;
Zuletzt geändert von Harley666 am 4. Januar 2012 13:57, insgesamt 2-mal geändert.

Re: RTC Probleme mit der Druckreihenfolge

3. Januar 2012 17:25

Harley666 hat geschrieben:Aus dem Classic funktioniert dies alles hervorragend, aber der Kunde arbeitet leider mit dem RTC.

Die Reports haben kein Layout, kann das sein? Das dürfte dann das Problem sein.
Stellt der RTC fest, dass es Reports ohne Layout gibt, wartet er mit dem Ausdruck bis zum Ende der Transaktion (!) und übergibt dann erst die Reports dem Classic Client.

Re: RTC Probleme mit der Druckreihenfolge

3. Januar 2012 17:35

Stellt der RTC fest, dass es Reports ohne Layout gibt, wartet er mit dem Ausdruck bis zum Ende der Transaktion (!) und übergibt dann erst die Reports dem Classic Client.


Auch muss man beachten, das man bei Aufruf von CC- Reports durch den RTC keine Daten außer Filterwerten übergeben kann, da es sich hier um getrennte Programme handelt. (Report.SetIrgenwas('12345') funktioniert in diesem Fall nicht)

Gruß, Fiddi

Re: RTC Probleme mit der Druckreihenfolge

3. Januar 2012 17:57

Hallo Natalie,
hallo Fiddi,

nein die Reports haben kein RTC-Layout.
Werden alle über den Classic gedruckt.

Heisst das nun, dass ich in diesem Fall dieses RTC-Layout einbauen muss, damit das funktioniert?

Re: RTC Probleme mit der Druckreihenfolge

3. Januar 2012 18:11

Heisst das nun, dass ich in diesem Fall dieses RTC-Layout einbauen muss, damit das funktioniert?


Kommt drauf an. :wink:

Du musst bedenken, das es sich bei RTC und CC um zwei getrennte Programme handelt, zwischen denen man keine Variablen austauschen kann. Wenn du den Report per Report.Run(REPORT::NAME,true,false,"Gefilterter Record") aufrufen kannst, und die Reports nicht voneinander abhängen, geht das auch ohne RTC- Layout.

Gruß, Fiddi

Re: RTC Probleme mit der Druckreihenfolge

3. Januar 2012 18:22

Hi Fiddi,

leider verstehe ich deine Antwort nicht so ganz. :roll:

Was meinst Du mit Variable austauschen?

Eigentlich findet das Programm ja alle 9 Reports zum Ausdrucken und macht die ja auch richtig, eben nur nicht in der Reihenfolge wie sie gefunden wurden.

Dann dauert es im RTC ewig lang (2 MInuten :lol: ) und dann wird der Classic (Report) glaube 9 mal schlagartig geöffnet und gedruckt.
Halt nicht einzeln nacheinander wie ich/Wir es gerne hätten.

Wir brauchen hier den Classic da die in einem weiteren Programm mitunter verarbeitet werden.
Wie schon geschrieben, wenn man das alles aus dem Classic-Client startet, funktioniert das super.

Ist mir schon klar das dies nun mehr oder weniger 2 Programme sind

Re: RTC Probleme mit der Druckreihenfolge

3. Januar 2012 18:40

Ist mir schon klar das dies nun mehr oder weniger 2 Programme sind


Es sind nicht mehr oder weniger 2 Programme, es sind 2 Programme.
Wenn deine Reports im CC korrekt drucken, dann funktioniert der Report-Druck auch. Nur das der RTC kein RUNMODAL auf die Reports mach, sondern nur ein RUN, und abhängig davon, welcher Report schneller startet, wird er auch als erstes ausgeführt :-? .

Gruß, Fiddi

Re: RTC Probleme mit der Druckreihenfolge

3. Januar 2012 18:49

OK, danke.

Aber nun halt die Frage, kann ich dieses Elend irgendwie umgehen?

Wäre es eine Möglichkeit einen Filterstring zu kreieren, welcher so 90 Lieferscheinnummern aneinander setzt z.B.
LF0000010|LF0000013|LF0000019|LF0000020|usw
bis ich 1000 Zeichen zusammen habe?

Würden dann hierbei die richtige Reihenfolge eingehalten?
Ich würde dann ja eventuell nur einmal den Report Lieferschein aufrufen.

Re: RTC Probleme mit der Druckreihenfolge

3. Januar 2012 22:28

Harley666 hat geschrieben:Wäre es eine Möglichkeit einen Filterstring zu kreieren, welcher so 90 Lieferscheinnummern aneinander setzt z.B.
LF0000010|LF0000013|LF0000019|LF0000020|usw
bis ich 1000 Zeichen zusammen habe?

Würden dann hierbei die richtige Reihenfolge eingehalten?
Ich würde dann ja eventuell nur einmal den Report Lieferschein aufrufen.

Wenn du nur einen Report gefiltert und nicht mehrere unabhängig nacheinander aufrufst, dann schon. Die Sortierung richtet sich dann nach dem Sortierschlüssel des Reports.
Beim asynchronen aufruf des CC für Classic Reports ist anders eine Reihenfolge nicht gegeben. Natalie hat schon geschrieben, dass bis zum Ende einer Art interner Transaktion der Aufruf des/der Reports verzögert wird und ein REPORT.RUNMODAL() (eigentlich synchron), ohne RDLC-Layout automatisch in ein REPORT.RUN() (asynchron) umgesetzt wird (fiddi).

Mit einem RDLC-Layout funktioniert der Ausdruck aus dem RTC dann genau so wie jetzt die Classic-Reports im Classic Client.

BTW: Für die Umsetzung der Reports in das RDLC-Layout oder sogar für das Auseinandersetzen mit dieser Technik, würde ich mir nicht mehr so viel Zeit lassen...

Re: RTC Probleme mit der Druckreihenfolge

4. Januar 2012 10:28

Hallo,

vielen Dank für die vielen Antworten, aber das mit dem RTC-Layout ist halt so ein Ding.

Werde das ganze nun so angehen, dass ich mir den Lieferschein kopiere, das Dataitem des Tour-Kopfes und der Tour-Zeilen vor den Liefer-Kopf setzte.
Dann sollte hoffentlich auch alles funktionieren, oder nicht?

Melde mich später nochmals ob es geklappt hat

Gruss Harley666

PS:
Wenn man alleine ist, und das eigentlich nicht so alles "kapiert" was da zu machen ist und man Deutsch als Muttersprache hat.
Zu meiner Zeit, als ich zur Hauptschule ging, gab es kein Englisch und ich bin auch absolut nicht Sprachbegabt um das zu lernen.
Gibt es zufällig jemanden, welcher vielleicht Deutsch Unterlagen zu dem Thema RTC hat, oder einen guten Link?


Übrigends wäre das wie auf einem Deutschen Amt, diese interessiert z.B. auch nichts Internationales.
Selber erlebt.
Internationaler Führerschein in Englisch-Koreanisch eingereicht und sie wollten eine deutsche Übersetztung.
Begründung:
Wir sind eine deutsche Behörde und sprechen und lesen nur Deutsch.

Re: RTC Probleme mit der Druckreihenfolge

4. Januar 2012 11:38

Hi,

nochmals dank an alle.

Hat so geklappt wie ich es mir nun vorgestellt habe, mit der erweiterten 2 DataItems.

Gruss Harley666

Problem ist wohl gelöst