LL20: Bestimmte Ebenen/Seiten per Bedingung beim Druck nicht anzeigen

Hallo liebe Forum User,

wir nutzen L&L integriert in unserem KIS-System. Das KIS-System bietet dem Anwender die Möglichkeit, vor Ausführung des L&L Reports diverse Kriterien festzulegen, die dann an den L&L Designer übergeben werden.

Ich versuche nun gerade ein mehrseitiges Dokument zu erstellen, bei dem der Anwender wählen kann, welche Seiten er benötigt. Nur die benötigten und ausgewählten Seiten sollen anschliessend ausgedruckt werden:

Ich habe jede Seite im Designer als eigene Ebene angelegt, um das Drucklayout zu erstellen.
Mein Problem ist nun, dass ich nicht weiss, wie ich dem Designer sagen kann, dass er in diesem Beispiel (s. 1. Screenshot) die Seite “Ermächtigung” nicht drucken soll, dafür aber alle anderen.

Die Information, welche Checkbox der User ausgewählt hat, bekomme ich als String und kann die Infos dort auslesen. Aber wie sage ich dem Designer nun, welche Seiten er anzeigen soll und welche nicht? Geht das überhaupt?

Die zweite Frage, die sich mir stellt: Egal, wie viele Ebenen ich anlege, beim Drucken wird immer nur die 1. Seite gedruckt. Erst wenn ich die “Mindestzahl der Druckseiten” auf 2 erhöhe (siehe 2. Screenshot), werden mir zwei Seiten gedruckt. Warum ist das so?

Vielen Dank für eure Unterstützung.

Liebe Grüße,
Philipp

Du bist da schon ganz richtig. Du muss den einzelen Ebenen Bedingungen zuweisen, Bei True wird gedruckt, bei false nicht.

Also z.B.

Cond(Containt(Selection,“Versand: Ja”, Page() = 4,False) => Falls Versand ausgewählt ist, wird auf Seite 4 gedruckt
Im Desinger siehst Du die Ebenen trptzdem noch, bei Druck nicht mehr.

Soweit ich weiss druckt LL immer solange, bis der Berichtscontainer (bzw. die verknüpften Objekte) fertig sind. Vermutlich ist also auf Seite 2 schon die Tabelle fertig. Du muss also LL expliziert sagen, dass da noch was kommt, dann wird weitergedruckt. Die Anzahl der zu druckenen Seite zu berechnen wird aber anhand der vielen Auswahlmöglichkeiten nicht ganz so einfach.

Ich würde die zu druckenen Elemente in jweils eine Tabelle packen und alle Tabellen in einen Container mit jeweilis der Bedingung Umbruch vor Ausgabe. Allerdings kannst Du dann nicht mehr mit Ebenen arbeiten, sonderm muss die Darstellungsbedinungen der einzelnen Tabellen setzen.

LG,
Marco

Hallo Marco

Danke für deine Unterstützung. Ich habe nach langer Auszeit nun hier weitergemacht und mich für den mühsamen Weg entschieden, jede mögliche Checkboxen Konstellation abzufangen und die entsprechende Seite an die richtige Stelle zu schieben.

Cond(Contains(Ines.User_Selection,"Forschungsflyer: Ja"),
Cond(Contains(Ines.User_Selection, "ambulant: Ja") AND Contains(Ines.User_Selection,"Ermächtigung: Ja") AND Contains(Ines.User_Selection,"Einwilligung: Ja") AND Contains(Ines.User_Selection, "Versand: Ja"),Page()=5,
	Cond(Contains(Ines.User_Selection,"ambulant: Ja") AND Contains(Ines.User_Selection,"Ermächtigung: Ja") AND Contains(Ines.User_Selection, "Einwilligung: Ja") AND NOT Contains(Ines.User_Selection, "Versand: Ja"),Page()=4,
	Cond(Contains(Ines.User_Selection,"ambulant: Ja") AND Contains(Ines.User_Selection,"Ermächtigung: Ja") AND Contains(Ines.User_Selection, "Versand: Ja") AND NOT Contains(Ines.User_Selection, "Einwilligung: Ja"),Page()=4,
	Cond(Contains(Ines.User_Selection,"ambulant: Ja") AND Contains(Ines.User_Selection,"Einwilligung: Ja") AND Contains(Ines.User_Selection, "Versand: Ja") AND NOT Contains(Ines.User_Selection, "Ermächtigung: Ja"),Page()=4,
	Cond(Contains(Ines.User_Selection,"Ermächtigung: Ja") AND Contains(Ines.User_Selection,"Einwilligung: Ja") AND Contains(Ines.User_Selection, "Versand: Ja") AND NOT Contains(Ines.User_Selection, "ambulant: Ja"),Page()=4,
		Cond(Contains(Ines.User_Selection,"ambulant: Ja") AND Contains(Ines.User_Selection,"Ermächtigung: Ja") AND NOT Contains(Ines.User_Selection, "Einwilligung: Ja") AND NOT Contains(Ines.User_Selection, "Versand: Ja"),Page()=3,
		Cond(Contains(Ines.User_Selection,"ambulant: Ja") AND Contains(Ines.User_Selection,"Einwilligung: Ja") AND NOT Contains(Ines.User_Selection, "Ermächtigung: Ja") AND NOT Contains(Ines.User_Selection, "Versand: Ja"),Page()=3,
		Cond(Contains(Ines.User_Selection,"ambulant: Ja") AND Contains(Ines.User_Selection,"Versand: Ja") AND NOT Contains(Ines.User_Selection, "Ermächtigung: Ja") AND NOT Contains(Ines.User_Selection, "Einwilligung: Ja"),Page()=3,
		Cond(Contains(Ines.User_Selection,"Ermächtigung: Ja") AND Contains(Ines.User_Selection,"Einwilligung: Ja") AND NOT Contains(Ines.User_Selection, "ambulant: Ja") AND NOT Contains(Ines.User_Selection, "Versand: Ja"),Page()=3,
		Cond(Contains(Ines.User_Selection,"Ermächtigung: Ja") AND Contains(Ines.User_Selection,"Versand: Ja") AND NOT Contains(Ines.User_Selection, "ambulant: Ja") AND NOT Contains(Ines.User_Selection, "Einwilligung: Ja"),Page()=3,
		Cond(Contains(Ines.User_Selection,"Einwilligung: Ja") AND Contains(Ines.User_Selection,"Versand: Ja") AND NOT Contains(Ines.User_Selection, "ambulant: Ja") AND NOT Contains(Ines.User_Selection, "Ermächtigung: Ja"),Page()=3,
			Cond(Contains(Ines.User_Selection,"ambulant: Ja") AND NOT Contains(Ines.User_Selection,"Ermächtigung: Ja") AND NOT Contains(Ines.User_Selection, "Einwilligung: Ja") AND NOT Contains(Ines.User_Selection, "Versand: Ja"),Page()=2,
			Cond(Contains(Ines.User_Selection,"Ermächtigung: Ja") AND NOT Contains(Ines.User_Selection,"ambulant: Ja") AND NOT Contains(Ines.User_Selection, "Einwilligung: Ja") AND NOT Contains(Ines.User_Selection, "Versand: Ja"),Page()=2,
			Cond(Contains(Ines.User_Selection,"Einwilligung: Ja") AND NOT Contains(Ines.User_Selection,"ambulant: Ja") AND NOT Contains(Ines.User_Selection, "Ermächtigung: Ja") AND NOT Contains(Ines.User_Selection, "Versand: Ja"),Page()=2,
			Cond(Contains(Ines.User_Selection,"Versand: Ja") AND NOT Contains(Ines.User_Selection,"ambulant: Ja") AND NOT Contains(Ines.User_Selection, "Ermächtigung: Ja") AND NOT Contains(Ines.User_Selection, "Einwilligung: Ja"),Page()=2,
Page()=1))))))))))))))))

Das Problem der Seitenanzahl liess sich ganz einfach lösen. Die Mindestseitenanzahl wird mit folgender Formel berechnet, die für jede gewählte Checkbox 1 addiert.

val(Cond(Contains(Ines.Selektionskriterien.AnmeldungAmbulant,"Ja"),1,0))+
val(Cond(Contains(Ines.Selektionskriterien.Einwilligung,"Ja"),1,0))+
val(Cond(Contains(Ines.Selektionskriterien.EinwilligungEMail,"Ja"),1,0))+
val(Cond(Contains(Ines.Selektionskriterien.Ermaechtigung,"Ja"),1,0))+
val(Cond(Contains(Ines.Selektionskriterien.Forschungsflyer,"Ja"),1,0))

Liebe Grüsse
Philipp

© combit GmbH