Transaktion SFP - Ausgabe Seitenzahl

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

In der Regel wird in einem Formular die Druckseite ausgegeben, um beim Ausdruck die korrekte Reihenfolge der Druckseiten zu gewährleisten.

Diese Anforderung ist im LiveCycle Designer sehr komfortabel gelöst.

Siehe Seitenzaehler (Page) manuell setzen.

Objektbibliothek Seite n von m

In der Objektbibliothek vom Designer gibt es ein Objekt "Seite n von m".

Seitenangaben1.jpg

Dieses Objekt kann per Drag & Drop in das Formular hineingezogen werden. In der Hierarchie steht dann.

Seitenangaben2.jpg

Im Fenster Designansicht

Seitenangaben3.jpg

Coding

Es wird automatisch ein JavaScript-Code erzeugt.

Siehe Scripting Seitenangaben.

aktuelle Seite

Seitenangaben4.jpg

this.rawValue = xfa.layout.pageCount();

Anzahl aller Seiten

Seitenangaben5.jpg

this.rawValue = xfa.layout.page(this);

Seiten ausschließen für Zählung (Reiter Paginierung)

Manchmal soll z. B. die erste Seite nicht mitgezählt werden, weil sie ein Deckblatt ist und die eigentliche Seite 2 soll Seite 1 bezeichnet werden. Oder eine AGB-Ausgabe soll bei der Gesamtzahl der Seiten nicht berücksichtigt werden.

Hier kann auf der Masterseite des Deckblatts die Zählung ausgeschaltet werden.

Seitenangaben6.jpg

Auf dem Reiter "Objekt - Paginierung" wird der Haken bei "Seite in Numerierung einbeziehen" rausgenommen. Standardmäßig ist dieser Haken bei jeder Masterseite gesetzt.

Seitenangaben7.jpg

Literatur

Keine Seitenangaben ausgeben, wenn lediglich eine Seite

  • Bei einem Kundenprojekt gab es die Anforderung, dass wenn es lediglich eine Seite bei der Formularausgabe gibt, dass dann keine Seitenangabe nötig ist.
  • Ich würde persönlich immer eine Seitengabe ausgeben, aber Kunde ist König.

SeitenangabeUnterdruecken1.jpg

  • Das JavaScript-Coding ist beim Event "layout:ready*" in einem Teilformular (hier "SeiteXvonY") zu erstellen, in dem die Seitengabe enthalten ist
if (xfa.layout.pageCount() == 1)  //Wenn Anzahl Seiten = 1 ist
 { this.presence = "invisible" }  //dann zeige das Teilformular nicht an