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
Moin,
hilft Dir das weiter :?:
http://www.xbaseforum.de/viewtopic.php?f=39&t=3812

Viele Grüße,
Martin

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 :paperBins() --> 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.