Erfahrung mit JasperReports

Hallo Chris,

entschuldige, aber anscheinend habe ich keine Mail von Deiner letzten Eintrag bekommen oder übersehen.

In MS-SQL kann man mit getdate() das aktuelle Datum bekommen, incl. der Uhrzeit.

Dann Konvertieren mit convert oder datediff soviel ich noch auswendig im Kopf habe.

Wie es unter Jasper-Reports selbst gemacht wird, kann ich Dir erst morgen schreiben, da bin ich wieder in der Arbeit.

Das mit den Java-Anweisungen kann ich nicht so ganz nachvollziehen, was Du damit meinst.

Kannst Du da mal ein Beispiel hier einfügen.

Ich kann Dir ja mal morgen, wenn ich dazu komme, von uns ein Beispiel schreiben.

Momentan habe ich ein ganz anderes Problem.

Ich möchte eine Seminarhinweis basteln mit Ireport.

Die Inhalte der verschiedenen Bereiche sind aber unterschiedlich lang. Der Seminarhinweis ist zudem zweispaltig.

Die Leute aus München haben mir geschrieben, dass ich alles in die erste Spalte schreiben soll. Das klappt aber nicht so ganz.

Wie kann ich z. B. verhindern, dass ich die Überschrift z. B. in die erste Spalte bekomme, den zugehörigen Feldinhalt aber in die zweite Spalte.

Ich habe überall "print in the first whole band" angegeben, aber das klappt auch nicht. Was macht er da eigentlich?

Außerdem habe ich noch das Problem, dass mir ein Feld plötzlich
in beiden Spalten erscheint, obwohl es nur in der ersten Spalte drin ist. Dadurch wird mein ganzer Seminarhinweis verhaut. Es ist zum Weinen :-(

Hast Du (Ihr) eine Idee, wie ich das verhindern kann?

Vielen Dank für Deine (Eure) Hilfe.

Viele Grüße

Marita Betz
 
Moin Marita,
also ich hab das mit dem Datum und der Uhrzeit schon gelöst gehabt. Aber danke trotzdem :)
Ich hab ne Variable Date erstellt und in die variable definition new Date() eingetragen und dann in dem Variablenfeld in dem Pattern Feld dd.MM.yyyy hh:mm eingetragen. Funktioniert einwandfrei ;)

Zu deinem Problem. Also ich hab noch nie mit Spalten gearbeitet... Kannst du mir evtl. mal nen Screenshot schicken doer sowas wie das aussieht, bzw. aussehen soll? Wenn das mit euerem Betriebsgeheimis zu vereinbaren ist ;)
Sonst kann ich mir jetzt nicht wirklich vorstellen was da falsch sein kann.. Meine Emailadresse hab ich dir per PN geschickt. Ich hoffe dir dann weiterhelfen zu können.

MfG
Chris
 
Achso, ein Beispiel für das was ich meinte wäre z.B.:

für eine Anweisung die ich für ein Feld brauche, würde die Java-Anweisung so aussehen:

if ({artikel.art_preispro} == null || {artikel.art_preispro}.doubleValue() == 0d) {Menge}=0;}
else if ({arechnung.ar_kz_re} != null && {arechnung.ar_kz_re}.equals("R"))
{ {Menge} = {arechpos.arp_menge};}
else {Menge} = {arechpos.arp_menge}.doubleValue()*-1;

weil das aber mehrere Befehle sind, musste ich daraus folgende Anweisung machen:

(($F{art_preispro} == null || $F{art_preispro}.doubleValue() == 0d) ? new Double(0d) :
(($F{ar_kz_re} != null && $F{ar_kz_re}.equals("R")) ? $F{arp_menge} : new Double($F{arp_menge}.doubleValue()*-1)))

und das wird bei größeren Anweisung echt schwierig. Allerdings werde ich so schwieige Anweisungen wohl erstmal nicht brauchen. Deshab ist das nicht ganz so wichtig..


Kann man in die Feldanweisungen auch was anderes ausser Java-Anweisungen reinschreiben?
 
Hallöchen, ich bins mal wieder:)
Hast du dein Problem schon lösen können? Ich konnte in letzter Zeit nicht viel machen weil ich sehr viel zu un hatte und jetzt letztens noch 3 WochenUrlaub hatte und dann Abschlussprüfung hatte :rolleyes:

Ich habe mal wieder ein kleines Problemchen. Vielleicht weißt du da ja eine Antwort drauf...
Also die Reports die ich mit Jasper baue, starten wir aus unserer Anwendung und erstellen daraus ein pdf-Dokument. Das funktioniert auh ganz toll. Nur ein Kunde von uns will immernoch an den Reports bischen was ändern und benutzt deshalb Adobe Acrobet. Das ändern klappt auch gut, weil man mit dem TouchUp-Textwerkzeug in die einzelnen Felder reinkommt und die bearbeiten kann.
Wenn man die einzelnen Felder aber mit dem TouchUp-Objektwerkzeug verschieben will, macht der nicht um die einzelnen Objekte inen Rahmen, sondern einen großen Kasten über fast den ganzen Report und verschiebt dann verschiedene Objekte gleichzeitig. Ich kriege einfach nicht raus wie man das einstellen muss damit der jedes einzeln nimmt, oder erkennt. Und ich hab auch noch nicht den Zusammenhang erkannt zwischen den Objekten die er gleichzeitig auswählt. Die sind ienfach von mittendrin irgendwo. Das macht alles irgendwie keinen sinn :(

Hast du vielleicht eine Idee?

Gruß
Chris
 
Hi Chris,

ich werde versuchen morgen mir da Infos zu besorgen, die Dir evtl. weiterhelfen können. Ich habe damit leider keine Erfahrung, weil wir die PDF Files nicht bearbeiten. Aber das kann ich ja auch mal ausprobieren, falls wir die dafür erforderliche Software haben.

Ich hatte gerade eine längere Nachricht an Dich geschrieben, aber immer wenn die Verbindung wieder getrennt wird, muss ich mich neu einloggen und dann ist alles was ich schon geschrieben hatte, weg :-(

Dann bis morgen.

Viele Grüße

Marita
 
Hey marita,
danke für deine Hilfe aber ich habe das schon rausgekriegt. Ich hab halt einfach mal alle Einstellungen ausprobiert. Ich kapiere zwar nicht wieso das so funktioniert, aber das klappt nur, wenn die einzelnen Objekte folgende Einstellungen haben:
nicht Transparent &
nicht "remove line when blank"
find ich ziemlich merkwürdig das ganze aber ist halt nunmal so :rolleyes:
Aber danke trotzdem für die Antwort.
Was arbeitest du eigentlich genau? Also was für ne Firma seid ihr und was ist deine Aufgabe da?

Liebe Grüße
Christian
 
in unserer Firma soll demnächst JasperReports als Tool zur Erzeugung von Listen verwendet werden und ich habe die Ehre, mit IReport die Templates erstellen zu dürfen („Machen Sie mal....“). :rolleyes:



Ich bin froh, hier ein Forum gefunden zu haben, in dem man sich mit anderen Anwendern austauschen kann. Wobei in dieser Phase ein Austausch wohl nur in eine Richtung führt (von Ihnen/Euch zu mir).



Aber jetzt die eigentliche Frage: gibt es eine deutschsprachige (!) Dokumentation zu IReport ? Manches ist für einen eher fachlich als technisch orientierten Anwender nicht unbedingt selbsterklärend (z.B. die Group-Funktion).



Ich hoffe, ich habe mich mit dieser Frage nicht gleich disqualifiziert. :-(


Gruß an alle
neumann
 
Hallo Neumann,

ja ein deutsches Forum für Jasper-Reports zu finden ist nicht grade einfach :)
Also da wo so ziemlich jedes Problem oder jeder Bug besprochen wird ist http://sourceforge.net/forum/?group_id=36382. Allerdings ist das auf englisch alles.

Eine deutsche Dokumentation für ireports hab ich noch nicht gefunden. Ich habe mir so ziemlich alles selber beigebracht und einiges war auch so wie bei Crystal Reports (damit habe ich vorher gearbeitet)...

Was für in problem mit den Groups hast du denn genau? Also die gruppierung ist nicht allzu schwer. Was genau willst du denn wissen? Mit welcher Version von IReports arbeitest du denn? Ich arbeite mit 0.4.0 und compiliere das ganze mit der Version 0.2.3.0 weil ich das Gefühl habe das 0.4.0 nicht richtig compiliert...

Also dann sag mal was du wissen willst und ich versuch mal ne Lösung zu geben ;-)

Gruß
Christian
 
Hallo Christian,

danke für die schnelle Antwort. Bin ganz überrascht, dass es hier so fix abgeht.

Also, das "Problem"....: wir arbeiten hier nicht mit einem unmittelbaren Datenbankzugang. Die Ergebnisse von Batchläufen werden als csv-Dateien + Parametern übergeben.

Ein Datensatz in der Datei beinhaltet Stammdaten (z.B. die Adresse einer Firma) und je eine Buchung. Bei 10 Buchungen also 10 Datensätze mit jeweils gleichen Adressdaten und unterschiedlichen Buchungssätzen (das ist schon mal nicht so schön). Wenn ich nun eine Aufstellung mache, setze ich die Informatinen aus den Datensätzen in den Detail-Bereich und versehe die Felder mit den Stammdaten mit der Eigenschaft "Leer, wenn Wiederholung". Dann kann ich schon mal eine halbwegs ordentliche Aufstellung abbilden.

Lieber wäre es mir, wenn ich je Arbeitgeber gruppieren könnte, also eine Überschrift je Arbeitgeber habe und dann die Buchunssätze anzeige....idealerweise auch mit einer Sortierung (z.B. nach Datum). Wobei die Sortierung auch noch vor Erstellung der csv-Datei erfolgen kann.

Wenn die Gruppierung so funktionieren könnte, hätte ich mehr Platz in der Zeile der Buchungssätze, weil ich dann die "versteckten" Stammdaten nicht mehr hätte.

Ist das der Ansatz der Gruppierung ? Oder bin ich da auf einer völlig falschen Fährte und müsste mit Subqueries arbeiten (was mir erst recht nur Fragezeichen ins Gesicht meißelt :) ) ?

Vorab schon mal vielen Dank !
Lieben Gruß
neumann
 
Moin Neumann,
Also die Idee mit deiner Gruppe ist schonmal sehr gut. Ich weiß jetzt nicht genau ob das mit deinen csv-Daten genauso funktioniert wie mit meinen direkt aus der Datenbankbezogenen Feldern. Du kannst bei ireports Im Menü "View" -> "Report Groups" einfach eine neue Gruppe hinzufügen und dort in das Feld "Group Expression" das Feld eingeben nachdem du gruppieren willst (z.B. kunde_nummer) oder so. Je nachdem wie das Feld bei dir heist. Wenn du also nach dem Feld kunde_nummer gruppieren willst gibst du das wie folgt in das Feld "Group Expression" ein:

$F{kunde_nummer}

Dann erstellt der automatisch einen Group_Header und einen Group_Footer in der Ansicht. Damit kannst du dann jetzt arbeiten. Hast du auch eine Report query eingegeben? Dort kannst du dann die typische SQL-Syntax zur sortierung benutzen. also z.B.

SELECT * FROM buchung WHERE blabla=xy ORDER BY datum


Guck mal ob das so bei dir funktioniert.
MfG
Christian
 
Zurück