Acronaut Diskussions Forum Home

Freies User Forum für

ADOBE® ACROBAT®

Acronaut Diskussions Forum > Adobe Livecycle Designer > LCD unter SAP > Unterdrücken der letzten (leeren) Seite
Navigation
Nicht angemeldet

Login | Registrieren 

  

Suche

Erweiterte Suche

Newsletter

Mitgliederliste

Kalender

Moderatoren/Partner

Hilfe

Banner

Kontakt/Impressum
Unterdrücken der letzten (leeren) Seite
 Moderiert von: WebZopp, Gentleman, FileAffairs, acronaut Produkt: Adobe LiveCycle Designer VX  

Neue Diskussion

Antworten

Drucken
VerfasserBericht
fischerb
Member
 

Eintragen seit: 25 Feb 2013
Herkunft:  
Berichte: 2
Status:  Offline
 Geschrieben: 3 Sep 2013 08:56

Text übernehmen

Antworten
Hallo Acronauten,

vielleicht könnt Ihr mir bei meinem Problem helfen?

Ich habe ein Zeitnachweis-Formular aus SAP. Die Daten kommen aus dem HR-System und sind in sog. InfoStars enthalten. Potentiell können mehrere Zeitnachweise pro Personalnummer und Abrechnungsmonat in einem Formular erstellt werden!

Aktuell bereitet mir der Seitenumbruch einiges an Kopfzerbrechen...

Jeder Zeitnachweis (pro Mitarbeiter und Abrechnungsmonat) soll immer auf einer neuen Seite beginnen. Damit dies funktioniert, habe ich die Paginierung im Subform STAR_MONTH_PER_GEN_DATA auf 'Nach: Gehe zum nächsten Inhaltsbereich' gestellt. Im Ergebnis erzeugt der LCD jedoch immer einen Umbruch nach jeder Personalnummer und somit wird eine letzte leere (bis auf Kopf) Seite erzeugt.
Wenn ich diesen Umbruch jedoch nicht vornehme, so werden alle Subforms nacheinander angedruckt (ich habe alle Subforms standardmäßig auf 'Platzieren: Nach vorherigem').

Das Formular enthält folgende (anzuzeigende) Objekte:
    Masterseite mit Inhaltsbereich und Kopfdaten
    Seite mit Subforms und Tabellen für Einzelergebnisse, Monatsübersicht, Wochensummen, Zeitumbuchungen und Abwesenheitsansprüche.


Ich habe mal das PDF sowie die Daten-XML angehängt.
Bitte wundert euch nicht über die Verschachtelte Struktur des Formulares (SAP-Standard bei InfoStars im HR Umfeld).

Danke schon mal,
Björn

Anlage: ZPYXXFO_ZSAP_TIM_01_0003.zip (40 Mal aufgenommen)

Letzte Änderung am 3 Sep 2013 08:56 von fischerb

armine
Administrator
 

Eintragen seit: 15 Mai 2009
Herkunft:  
Berichte: 2313
Status:  Offline
 Geschrieben: 4 Sep 2013 16:10

Text übernehmen

Antworten
Hallo Björn,

so lange eine neue Seite verlangt wird, scheint mir nur eine Wahl möglich: Ob ich die leere Seite am Anfang oder Ende haben will.
In deinem Fall scheit es mir schlüssig, die leere letzte Seite beim Drucken zu unterdrücken (xfa.host.print(1, "0", (xfa.host.numPages -2).toString(), 0, 0, 0, 0, 0);) und gegebenenfalls den Seitenzähler anzupassen.

Leere Seiten lassen sich aber auch dadurch vermeiden, dass am Ende einer Instanz ein Teilformular eingefügt wird, das den auf der Seite noch verfügbaren Raum füllt. Der Nachteil soll aber nicht verschwiegen werden. Die Ladezeiten werden mit der Anzahl der Instanzen immer grauslicher, weil für jede Instanz das ganze Layout durchgerechnet wird.

vg armine

P.S.: Hat jemand die Nuss schon geknackt und einen besseren Vorschlag?

Anlage: Seitenumbruch_mit_Puffer.pdf (66 Mal aufgenommen)

fischerb
Member
 

Eintragen seit: 25 Feb 2013
Herkunft:  
Berichte: 2
Status:  Offline
 Geschrieben: 5 Sep 2013 08:12

Text übernehmen

Antworten
Hallo armine,

Danke schon mal für Deine schnelle Hilfe.

Die Lösung mit dem "Platzhalter"-Teilformular funktioniert. Ich bin mir jedoch noch nicht sicher, ob mir die Nachteile (längere Laufzeit) das Genick brechen.
Das Formular soll eigentlich im Massenlauf eingesetzt werden (> 1000 Instanzen). Mal sehen, wie der ADS das ganze verkraftet. :?

Die Lösung mit dem manuellen Drucken kann ich (glaube ich zumindest) bei mir nicht einsetzen, da der Druck direkt aus SAP ohne Benutzerinteraktion erfolgt.

Für weitere Anregungen bin ich jederzeit dankbar.
Viele Grüße,
Björn

armine
Administrator
 

Eintragen seit: 15 Mai 2009
Herkunft:  
Berichte: 2313
Status:  Offline
 Geschrieben: 5 Sep 2013 09:09

Text übernehmen

Antworten
Hallo Björn,

steck den Code – ohne relayout – mal ins initialize.

vg armine

agatos
Member
 

Eintragen seit: 13 Jun 2016
Herkunft:  
Berichte: 3
Status:  Offline
 Geschrieben: 21 Jun 2016 09:31

Text übernehmen

Antworten
Hallo,
wenn ich die letzte Seite unterdrücke, wo muss ich den Code platzieren? in welchem Ereignis?

armine
Administrator
 

Eintragen seit: 15 Mai 2009
Herkunft:  
Berichte: 2313
Status:  Offline
 Geschrieben: 21 Jun 2016 10:36

Text übernehmen

Antworten
Hallo agatos,

wenn du das PDF hochlädst, kann man herausfinden, wie du die leere Seite am Ende vermeidest, bzw. wenigstens das Drucken verhinderst.

vg armine

agatos
Member
 

Eintragen seit: 13 Jun 2016
Herkunft:  
Berichte: 3
Status:  Offline
 Geschrieben: 21 Jun 2016 12:20

Text übernehmen

Antworten
Hallo,
ok, ich wollte deine Coding probieren.
xfa.host.print(1, "0", (xfa.host.numPages -2).toString(), 0, 0, 0, 0, 0);
Wo muss ich ihn bringen in welche event?

armine
Administrator
 

Eintragen seit: 15 Mai 2009
Herkunft:  
Berichte: 2313
Status:  Offline
 Geschrieben: 21 Jun 2016 14:35

Text übernehmen

Antworten
Du darft gerne deine Strategie verfolgen. Solltest du damit Erfolg haben, bitte posten.

agatos
Member
 

Eintragen seit: 13 Jun 2016
Herkunft:  
Berichte: 3
Status:  Offline
 Geschrieben: 22 Jun 2016 12:35

Text übernehmen

Antworten
Ok:) Dieser Ausdruck ist nur bei interactiven Formularen relevant. (nicht bei PDF basierten Formularen). Ein Button "Formular drucken" wird angelegt und PDF erzeugt. Wenn man auf "Formular drucken" klickt, wird dann ein Fenster aufgetaucht um Formular zu drucken.
Der Code wird automatisch erzeugt:
data.Test.DruckenSchaltfläche1::click - (JavaScript, client)
xfa.host.print(1, "0", (xfa.host.numPages -1).toString(), 0, 1, 0, 0, 0);

Anlage: Form_druck.PNG (62 Mal aufgenommen)


 Uhrzeit 18:13





Powered by WowBB 1.7 - Copyright © 2003-2006 Aycan Gulez
Seite erstellt in 0.1066 Sekunden (34% DB + 66% PHP). 19 verarbeitete Abfragen.