Seite 1 von 1
Ausgabe auf verschiedene Schächte [erledigt]
Verfasst: Di, 14. Aug 2012 6:06
von Wolfgang Ciriack
Hallo,
kann mir jemand sagen, wie ich bei einem Formular die Kopie aus einem anderem Druckerschacht drucken lasse ?
Re: Ausgabe auf verschiedene Schächte
Verfasst: Di, 14. Aug 2012 6:09
von Martin Altmann
Re: Ausgabe auf verschiedene Schächte
Verfasst: Di, 14. Aug 2012 6:48
von Wolfgang Ciriack
Ja, danke, hab ich irgendwie nicht gefunden.
Re: Ausgabe auf verschiedene Schächte
Verfasst: Fr, 17. Aug 2012 18:38
von Wolfgang Ciriack
So, jetzt habe ich die Vorschaudatei erzeugt und versuche, die mittels dem Storagesystem zu drucken,was mir aber nicht gelingt.
Hier mein prinzipieller Ablauf:
Code: Alles auswählen
hjob:=LlJobOpen(-1)
*** Variablenpuffer löschen
LlDefineVariableStart(hjob)
**** Globale Listen-Variablen definieren
LlDefineVariable(hjob, "Firma", ConvToAnsiCP(alltrim(sys_firma)+" "+alltrim(sys_firma2)))
LlDefineVariable(hjob, "Listenname", ConvToAnsiCP(cListenStr))
** Variablen für 1. Datensatz definieren
SetListData(cListenName,1,1)
LlPreviewSetTempPath(hJob, localpath+"\tmp" )
*** Keine Ausgabe des Preview
LlsetOption(hjob, LL_OPTION_INCREMENTAL_PREVIEW, .F.)
nRet := LlPrintStart(hjob, LL_PROJECT_LABEL, ;
fvwlistpfad+cListenName,;
LL_PRINT_PREVIEW)
if nRet=0
*** Parameter für Drucker-Dialog setzen
DefLLOptions()
for iii:=1 to len(aGewSaetze)
auf->(dbgoto(aGewSaetze[iii]))
*** Variablen setzen
SetListData(cListenName,1,1)
nRet := LlPrint(hjob)
do while nRet=LL_WRN_REPEAT_DATA
nRet:=LlPrint(hjob)
enddo
next
LlPrintEnd(hjob, 0)
fi:=localpath+"\tmp\"+cListenName+".LL"
pp:=""
hw:=0
if file(fi)
cPrinter1:="HP Color LaserJet 2840 PCL 6"
cPrinter2:="Testdrucker"
fh:=LlStgsysStorageOpen(fi,pp,.F.,.T.)
AnzSeit:=LlStgsysGetPageCount(fh)
nRet:=LlStgsysSetJob(fh,1)
for i:=1 to AnzSeit
nRet:=LlStgSysStoragePrint(fi, pp, cPrinter1, cPrinter1, i, i, 0, LS_PRINTFLAG_METER,"Seite "+str(i,2)+" Original",hw)
if nRet=0
nRet:=LlStgSysStoragePrint(fi, pp, cPrinter2, cPrinter2, i, i, 0,LS_PRINTFLAG_METER,"Seite"+str(i,2)+"Kopie",hw)
endif
if nRet<>0
statsay("Fehler beim Druck: "+alltrim(str(nRet)),ERROR2)
exit
endif
next
LlStgsysStorageClose(fh)
LlStgsysDeleteFiles(fh)
else
statsay("Fehler bei Öffnen der LL-Datei",ERROR2)
endif
Leider bekomme ich immer beim LlStgSysStoragePrint einen Returnwert
-4 (Druckfkt. aufgerufen,obwohl noch kein Druckjob gestartet).
Kann mir jemand sagen, an welcher Stelle ich was für ein Druckjob starten muss ?
Re: Ausgabe auf verschiedene Schächte
Verfasst: Fr, 17. Aug 2012 21:04
von brandelh
Ich weiß nicht was
LlStgSysStoragePrint ist, aber ich nutze in meiner Druckerklasse
die XbpPrinter() Methode
aperBins() --> aPaperBins und biete die Texte zur Auswahl.
Die ID speichere ich dann und nutze die bei gleichen Ausdrucken (programmiert).
Re: Ausgabe auf verschiedene Schächte
Verfasst: Sa, 18. Aug 2012 6:59
von Wolfgang Ciriack
Hallo Hubert,
ja, das mache ich bei meinen Druckroutinen, die nicht über L&L gehen (z.B. für Nadeldrucker) auch so, da bekomme ich das auch so hin.
Aber bei L&L ist diese Ansteuerung (leider) etwas komplizierter.
Re: Ausgabe auf verschiedene Schächte [erledigt]
Verfasst: So, 19. Aug 2012 18:06
von Wolfgang Ciriack
So,
mit LlStgSysPrint statt LlStgSysStoragePrint klappt es.
Re: Ausgabe auf verschiedene Schächte [erledigt]
Verfasst: Di, 21. Aug 2012 22:18
von ramses
Hllo Wolfgang
schau dir doch mal den Eintrag "List&Label Drucken" an. Ich habe da eine sehr elegante möglichkeit den Schacht zu wählen beschrieben.
CU Carlo
Re: Ausgabe auf verschiedene Schächte [erledigt]
Verfasst: Mi, 22. Aug 2012 7:45
von Wolfgang Ciriack
Hallo Carlo,
vielen Dank nochmal für den Hinweis. Mal sehen, ob ich das auch auf mein Problem (eine Seite zweimal ausgeben, 1x auf Schacht x, einmal auf Schacht y) anwenden kann. Erst einmal habe ich es so realisiert, dass eine Seite zweimal auf verschiedene Drucker ausgegeben wird.