Seite 1 von 1

Original Schacht 2, Kopie Schacht 1?

Verfasst: Mo, 23. Mär 2015 14:07
von satmax
Wie realisiert man so etwas am besten:

ein Druckvorgang:
Originalbeleg auf Schacht 2 (eine Kopie, eventuell mehrere Seiten)
Kopiedruck auf Schacht 1 (eine Kopie, eventuell mehrere Seiten)

also am Ende des Druckes auf einen anderen Schacht umschalten.


oder auch eventuell auch ein Druckvorgang:
Originalbeleg auf Schacht 2 (2-3 Kopien, eventuell mehrere Seiten)
Kopiedruck auf Schacht 1 (eine Kopie, eventuell mehrere Seiten)

Ein Problem dabei ist, das in den Stammdaten des Rechnungsempfängers die Anzahl der Rechnungskopien hinterlegt ist, und diese Anzahl direkt an den Druckertreiber übergeben wird. Jetzt kann ich natürlich immer 1 zu dieser Anzahl hinzuzählen und habe meine Kopie. Es dürfte aber nur bei der letzten Kopie auf den Schacht 1 geschaltet werden.

Re: Original Schacht 2, Kopie Schacht 1?

Verfasst: Mo, 23. Mär 2015 15:18
von satmax
Laut Handbuch sollte das ja im Designer möglich sein: Projekt/Layout/Neuen Bereich hinzufügen.

Das habe ich gemacht, es gibt im Projekt nun zwei Bereiche: Standard-Layout und 2. Ausfertigung. Nur gedruckt wird nur eine Seite. :(

Dabei kommt beim Ausdruck ein Druckdialog wo beide Bereiche aufgelistet sind, jeweils der gleiche Drucker gewählt ist und die Anzahl beide male auf 1 steht. Es wird aber nur eine Seite gedruckt, keine Kopie. Warum? Muss das Programm dazu auch angepasst werden?

Re: Original Schacht 2, Kopie Schacht 1?

Verfasst: Mo, 23. Mär 2015 16:05
von Wolfgang Ciriack
Also ich habe das bisher nur über das Storagesystem realisiert, da ich eine Seite auf einem Drucker (mit eingestellten Farb- und Schachtwerten), die Kopie auf einem 2. Drucker (mit anderen Einstellungen) ausgeben musste. Hier mal so in Kürze, da kannst du natürlich auch noch die Werte für die Drucker, Schächte etc. setzen:

Code: Alles auswählen

Printjob...
LLPrintEnd(..)
** jetzt ist die ll-Datei da
LS20ModuleInit()
fi:="meinedatei.ll"
handle:=LlStgsysStorageOpen(fi,"",.F.,.T.)
...
AnzSeit:=LlStgsysGetPageCount(fh)
for i:=1 to AnzSeit
     nRet:=LlStgSysPrint(fh,......,i,i,0,LS_PRINTFLAG_METER,"Seite "+str(i,2)+" Original",nHandle)
      if nRet=0
          nRet:=LlStgSysPrint(fh,........,i,i,0,0,"Seite "+str(i,2)+" Kopie",nHandle)
      endif
      if nRet<>0
         *Fehler
          exit
      endif
next
LlStgsysStorageClose(fh)
LlStgsysDeleteFiles(fh)
LS20ModuleExit()

Re: Original Schacht 2, Kopie Schacht 1?

Verfasst: Mo, 23. Mär 2015 18:50
von satmax
Danke, ich habe es jetzt auch mit meiner Methode geschafft. Funktioniert so weit ganz gut, man kann damit auf verschiedene Schächte und/oder Drucker drucken,, ohne das Programm anpassen zu müssen. Geht alles im Formular.

Re: Original Schacht 2, Kopie Schacht 1?

Verfasst: Mo, 23. Mär 2015 19:58
von Wolfgang Ciriack
Danke für den Hinweis, muss ich mir dann mal bei Bedarf genauer ansehen.

Re: Original Schacht 2, Kopie Schacht 1?

Verfasst: Mo, 23. Mär 2015 20:43
von satmax
Man muss einige Dinge beachten dann geht es ganz gut:
Unter Objekte "Projekt" wählen (Wurzel)
Unter Eigenschaften: "Anzahl der Ausfertigungen" = 2

Menü Projekt: Layout Bereiche einen neuen hinzufügen Beispiel "2. Ausfertigung"
Bedingung: IssueIndex () =2
Auch den Vorgabedrucker und/oder Schacht kann man hier schon einstellen.

Für einzelne Objekte kann man mit IssueIndex()==2 in den "Anzeigebedingungen für Ausfertigungsdruck" den Ausdruck für die 1. oder 2. Seite verhindern oder erlauben.

Re: Original Schacht 2, Kopie Schacht 1?

Verfasst: Di, 24. Mär 2015 8:50
von Tom
Diese Informationen lassen sich auch programmgesteuert belegen. "Anzahl Ausfertigungen" beispielsweise verkraftet Formeln, so dass hier z.B. Variablen verwendet werden können, die die Applikation übergibt.