Seite 1 von 1

Leerseite beim Druck aus Preview

Verfasst: Mi, 29. Mär 2017 11:28
von medmaster
Hallo ... es geht um, LL18 - benutzt die Version noch jemand ?
Ich bekomme immer beim Seriendruck von Rechnungen 1 Leerseite aus dem Drucker
nach jeder Rechnung. Eigenartigerweise wird die nicht in der Vorschau angezeigt.
Hat jemand den selben bug mal erlebt ? In der Programmierung scheint alles richtig
zu sein.

Code: Alles auswählen

nRet := LlPrintStart(hJob,    	;
                     LL_PROJECT_LIST,	    	;
                     sName,			            ;
                     LL_PRINT_PREVIEW,    	;
                    LL_PRINT_NORMAL)
                    ......................   
und nach jeder Rechnung :

Code: Alles auswählen

                  llPrintResetProjectState(hJob)
Wenn ich den preview weglasse ist alles ok ...
Gruß Rainer

Re: Leerseite beim Druck aus Preview

Verfasst: Mi, 29. Mär 2017 15:48
von ramses
Hallo Rainer

LLPrintStart() hat nur 4 Parameter, z.B LlPrintStart( hJob, LL_PROJECT_LIST, sName, LL_PRINT_PREVIEW )
mit dem 4. wählst du Vorschau oder normaler Druck (LL_PRINT_NORMAL) oder Ausgabe in Datei (LL_PRINT_FILE)oder Export.

Also entweder Vorschau/Druck/File/Export. Der 5. Parameter ist für künftige Erweiterungen.

Wenn du Vorschau und Druck willst, führst du am einfachsten die Ausgabe auch 2 mal aus als Vorschau und als Druck.

Gruss Carlo

Re: Leerseite beim Druck aus Preview

Verfasst: Sa, 01. Apr 2017 21:49
von medmaster
Hallo Carlo,
ich habe mal den letzten Parameter weggelassen (print_normal), also nur 4 Prameter :
immer noch eine Leerseite beim Druck, die in der preview nicht zu sehen ist.
Eine Sache fällt auf : beim Druck nur 1 Rechnung gibt es keine Leerseite im Anschluss ....
Es ist auch einfach nur ein leeres Blatt ... also irgendwo ein Seitenvorschub ...
Eigentlich ist es ja nur eine Art Serienbrief ...
Gruß
Rainer

Re: Leerseite beim Druck aus Preview

Verfasst: So, 02. Apr 2017 13:07
von ramses
Hallo Rainer

dann kann es an LLPrintStart() nicht liegen. Ich verwende für alle Ausdrücke seit Jahren ausschiesslich LL und habe viele Versionen durch auch die Version 18 als Sie aktuell war. Jedoch kenne das Verhalten wie du es beschreibst so nicht. Ohne deinen Code der Druckschlaufe zu sehen ist es schwierig auf eine Ursache zu schiessen. Ich vermute du hast am Schluss deiner Druckausgabe einen Befehl zuviel/doppelt oder einen der nicht für ein List Projekt gedacht ist.

Die Ursache könnte llPrintResetProjectState(hJob) sein, dieser startet eine NEUE Seite, wenn dein Druckjob nur eine Rechnung enthält, du also für die 2. Rechnung erneut LLPrintStart() verwendest ist dieser Aufruf die Ursache.


Gruss Carlo

Re: Leerseite beim Druck aus Preview

Verfasst: So, 02. Apr 2017 15:44
von medmaster
Hallo Carlos,
dieses projectreset wurde mir mal vom support so genannt als reset zwischen den Rechnungen -
machst Du das auch so ? Ich häng Dir mal die Schleife dran hier :

Code: Alles auswählen

      nRet := LlPrintStart(hJob,    	;
                     LL_PROJECT_LIST,	    	;
                     sName,			            ;
                     LL_PRINT_PREVIEW)    	
      nRet:=LlPrint(hJob)
      do while (nCount > 0) .AND. (nRet = 0) .AND. (!SPKO->(EOF()))
      ...verschiedene Schleifen ...
	   llPrintResetProjectState(hJob)
	  LlDefineFieldStart(hJob)
	  enddo
    enddo
    nRet:=LlPrintEnd(hJob,0)
Ich hatte das i.W. aus dem Beispiel von Combit, der support gab mir den Hinweis auf das reset ..
Wie trennst Du denn z.B. Rechnungen ?
Wie gesagt : wenn ich den preview weglasse ist es ok ...
Danke schonmal ...
Rainer

Re: Leerseite beim Druck aus Preview

Verfasst: So, 02. Apr 2017 16:41
von ramses
Hallo Rainer

du darfst am ende deiner Schlaufe llPrintResetProjectState(hJob) und besser auch LlDefineFieldStart(hJob) nur aufrufen wenn du danach weitere Seiten drucken willst! Sonst bekommst du dadurch, wie du bemerkst, eine neue leere Seite. Das ist der Befehl "Reset, lösche alle Vars, gehe zur ersten Position einer neuen Seite".

Ich drucke zwischen LLPrintStart() und LLPrintEnde() immer nur 1 Rechnung / Dokument (LL_PROJECT_LIST). Dies aus verschiedenen Gründen, so ist z.B. immer 100% sichergestellt dass ich alle nötigen Vars aktuell definiert habe, und vorallem ist dies sowieso nötig weil wir von jedem Ausdruck auch immer ein PDF für die Ablage/Archiv/Log erzeugen und zur Nachvollziehbarkeit (Beweisssicherung) speichern, zuerst Job Export als PDF dann Job Ausdruck. Zudem bestehen unsere Rechnungen meist aus verschiedenen Projektfiles - Jobs.

Gruss Carlo

Re: Leerseite beim Druck aus Preview

Verfasst: Mi, 05. Apr 2017 10:18
von medmaster
Hallo Carlos,
danke !! ...ich verstehe das und werde es mal testweise umbauen ...
Was ich nicht verstehe ist, dass die Leerseite nur beim preview kommt - ohne läuft
es einwandfrei ... !??
Gruß Rainer

Re: Leerseite beim Druck aus Preview

Verfasst: Mi, 05. Apr 2017 15:15
von ramses
Hallo Rainer

dann ist der Treiber/Drucker so inteligent dass er eine leere Seite nicht druckt.
Auf jedenfall wird llPrintResetProjectState(hJob) am ENDE eines Jobs nicht verwendet sondern nur wenn du wirklich noch eine weitere Seite ausgeben willst.

Gruss Carlo

Re: Leerseite beim Druck aus Preview

Verfasst: Fr, 07. Apr 2017 10:34
von medmaster
Danke Carlos .. ich probier das mal mit mehreren Varianten - eins macht mich stutzig :
der preview zeig die Leerseite nicht - es muss etwas nach dem Schließen des preview passieren.
Beim Druck einer Einzelrechnung geschieht das nicht ! Also Vermutung : Fehler in der Schleife
Mal sehn ...
Gruß Rainer