Home › Forum › Nuclos Konfiguration › Reporting › Report einmal mit und einmal ohne Logo drucken
- Dieses Thema hat 3 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 10 Jahre, 10 Monaten von
Markus Glitzner.
-
AutorBeiträge
-
26 Juli 2012 um 21:09 Uhr #5806
Markus Glitzner
TeilnehmerHallo!
Folgende Problemstellung:
Unsere Geschäftspapiere haben je nach Kunden unterschiedliche Logos und sind außerdem mehrsprachig.
Soweit funktioniert das mittlerweile auch wunderbar, nur hab ich jetzt das Problem, dass ich die Dokumente einmal als PDF samt Logo und dazugehörigen Firmendaten benötige und einmal ohne Logo, weil z.B. Rechnungen etc. direkt am vorgedruckten Firmenpapier ausgedruckt werden und zusätzlich auch als PDF verschickt werden.
Im iReport ist das kein Problem, da kann ich einfach eine Variable abfragen und einmal das Logo drucken lassen und einmal nicht. Nur weiß ich nicht wie ich dem iReport diese Variable (sauber) übergeben kann. Ich kann zwar mehrere Ausgabeformate definieren, aber keine Variablen und was ich vermeiden will ist ein zweiter Report oder eine zweite Abfrage bedeutet doppelter Verwaltungsaufwand und eine hohe Fehlerwahrscheinlichkeit.
Jetzt wäre es schön, wenn ich einen Parameter im Ausgabeformat definieren könnte, dann könnte der Benutzer auch einfach den entsprechenden Report auswählen. Eine Checkbox am Formular ginge zwar theoretisch, nur ist das ein großes hermugemurkse und kommt bestimmt nicht gut an. Außerdem will ich via Geschäftsregel die beiden Reports (als pdf und am Drucker) direkt hintereinander beim Statuswechsel machen.
Vielleicht hat da ja jemand eine Idee dazu.
Gruß
Hugo27 Juli 2012 um 08:37 Uhr #5809Ramin Goettlich
TeilnehmerHallo hugo,
wenn Sie möchten, dass der Benutzer das gewünschte Formular nach dem Klicken auf den Druckbutton auswählen kann (und nicht vorher feststeht, welches Formular herangezogen werden muss = Checkbox o.ä. in der Maske), kommen Sie um zwei Formulare mE nicht herum.
Beiden Formularen kann natürlich die gleiche Jasper-Vorlage zugeordnet sein.
Unterscheiden in beiden Formularen würde sich dann die Datenquelle, die eine übergibt den „Logo-Steuerungs-„Parameter fest mit true, die andere mit false.
Je nachdem, welche Inhalte noch auf diese Weise gesteuert werden müssen, gäbe es auch die Option, das Logo selbst mit der Datenquelle zu übergeben (und nicht in die Vorlage einzubauen).
Grüsse,
nuclosian27 Juli 2012 um 08:39 Uhr #5810Ramin Goettlich
TeilnehmerNoch eine Alternative: Einen weiteren (Boolean-)Parameter in die Datenquelle einbauen (neben intid). Solche Parameter werden beim Aufruf der Datenquelle dann über einen Dialog abgefragt.
D.h. der User wählt sein Formular aus und klickt auf dem anschliessend erscheinenden Dialog eine Checkbox an oder nicht an. Ein bisschen unschön daran ist, dass die Auswahl des Formulars bzw. aller dazu notwendigen Angaben auf diese Weise zweistufig erfolgt.
27 Juli 2012 um 10:05 Uhr #5815Markus Glitzner
TeilnehmerDanke für die Tipps!
Ich habe die Lösung mit den zwei Datenquellen genommen wobei ich eine eigene View als Datenobjekt angelegt habe, die alle Felder für beide Reports enthält und in der Report Datenquelle greif ich einfach mit select * drauf zu und setzt zusätzlich den Parameter ob der Druck mit oder ohne Logo erfolgen soll. So kann ich dieselbe View und den selben Report verwenden, muss halt zwei Einzelausgaben machen was aber nicht weiter tragisch ist, da ich ohne Subreports auskomme.
So sieht mein Aufruf für den Druck mit Logo aus:
select 1 as Header, 1 as Footer, *
from REPORT_AUFTRAG
where intid=$intidEinen Dialog möchte ich meiden, da es doch den Arbeitsfluss stört.
iReport ist schon ein Geniales Ding, wenn man erst mal das Konzept und die vielen Optionen durschaut und ausprobiert hat, ich komm immer wieder auf neue Sachen drauf. 😉
Gruß
Hugo -
AutorBeiträge