Home › Forum › Nuclos Konfiguration › Reporting › Formular Error: inconvertible types
- Dieses Thema hat 8 Antworten und 4 Teilnehmer, und wurde zuletzt aktualisiert vor 9 Jahre, 9 Monaten von
Matthias Dörr.
-
AutorBeiträge
-
1 Juli 2013 um 21:02 Uhr #6793
Matthias Dörr
TeilnehmerHallo,
ich habe nun (erfolgreich) meine erste Entität und das dazugehörigt Layout erstellt. Nun wollte ich mit Jasperreports ein entsprechendes Formular (Ausgabeformat PDF) erstellen.
Bisherige (erfolgreiche) Vorgehensweise:
– Jasper Reprt installiert
– Barcode4j „installiert“ > .jars in extensions/common kopiert und nach Anleitung key erzeugt > hierzu SDK „nachinstalliert (hatte bisher nur JRE)
– Datenquelle in Nuclos und Jasperreports erzeugt
– Report erzeugt und in Jasperreport getestetNun kamen sie die Probleme
– (1) in Nuclos ein Formular erstellen / zuweisen. > Fehlermeldung da ich vergessen habe in Jasperreport auf language=java umzustellen (war noch groovy)
– (2) in Jasperreports Sprache umgestellt und Datei unter neuem Namen gespeichert
– (3) Formular wieder in Nuclos zugewiesenNun bekomme ich beim Speichern mehrfach (ca. 40 Attribute) die Meldung „inconvertible types“:
Ein Fehler ist aufgetreten.
net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file:
C:ProgrammeNuclosdatacompiled-reportsOccurrenceReportForm_1372697874934_383788.java:431: error: inconvertible types
value = (java.lang.String)(((java.sql.Date)field_t1_datsubmissiondate.getValue())); //$JR_EXPR_ID=17$
^
required: String
found: DateDanke vorab, Matthias
1 Juli 2013 um 23:20 Uhr #6794Markus Glitzner
TeilnehmerHallo!
Wichtig ist auch dass du die Kompatibilität im iReport auf 3.5.2 bzw. 3.5.3 stellst (bei den älteren iReport Versionen waren die beiden Versionen zusammengefasst, bei der aktuellen Version hab ich 3.5.3 ausgewählt).
Ist das nicht ausgewählt und der Report wird gespeichert, ändert iReport alle Datentypen auf String, das funktioniert aber mit Nuclos nicht weil Date != String
Gruß
Hugo2 Juli 2013 um 11:05 Uhr #6796Matthias Dörr
TeilnehmerHallo,
Die Kompatibilitätseinstellungen waren richtig.
Dennoch hat mir die Antwort weitergeholfen > ich habe alle Felder in iReport gecheckt und die Datumsfelder waren vom Typ Strin (Feldeigenschaften in ireport). Habe diese auf java.util.date geändert und siehe da, die Vorlage lässt sich ohne weitere Fehlermeldungen in Nuclos einbinden.
Dennoch komme ich nicht weiter. Die Formularvorschau funktioniert (ca. 3 sec). Wenn ich auf einem Objekt auf drucken gehe wird der Hintergrundprozess gestartet (sichtbar im entsprechenden Fenster) dieser ist nun seit 10 min. aktiv, es tut sich jedoch sonst nichts.
Gruß, Matthias
2 Juli 2013 um 11:09 Uhr #6797Steffen Schulz
TeilnehmerHallo,
ja den Fehler konnte ich bei Versionsänderung nachstellen, allerdings erst nach dem erneuten Laden des Formulars im Designer.
[i]Ebenfalls trat der Fehler mal nach der Editierung und Speicherung in der XML-Ansicht auf.
(Konnte ich aber gerade nicht nachstelllen)[/i]Korrektur zum Barcode:
Die Barcode.jar müssen nicht gesigned werden. Da Jasperreports serverseitig ausgeführt wird reicht es aus die Jars in „extensions/server“ abzulegen und nicht „extensions/common“ .Das Signen wird nur klientseitig benötigt.
Dieser Sachverhalt gilt im übrigen für alle Extensions die Jasperreport betreffen (QrCode, Scriptlets, Fontextensions)
Wenn man nicht jedesmal neuinstallieren möchte reicht es wenn die Jars in „webapp/WEB-INF/lib“ abgelegt werden. Nach einem Neustart des Servers stehen die Funktionalitäten zur Verfügung.2 Juli 2013 um 11:14 Uhr #6798Steffen Schulz
TeilnehmerHallo mdoerr,
ich denke da hilft nur ein Blick ins Serverlog.
Vermutung:
die Barcode4J benötigt noch eine Abhängigkeit.2 Juli 2013 um 11:59 Uhr #6799Matthias Dörr
TeilnehmerHallo,
erstmal Danke für den Tip. Es ist tatsächlich der Barcode der Probleme macht. Ich habe diesen in jasperreports gelöscht und alles funktioniert wie gewünscht.
Ich werde nun noch ein paar Tests durchführen und wenn ich nicht weiterkomme (was wahrscheinlich ist 😉 ) nochmal hier nachfragen.
Gruß, Matthias
PS: Anmerkung zum Fehler mit dem Datentyp: Der Fehler ist dadurch entstanden daß ich ein Textfeld erzeugt habe und diesem dann das Attribut unter dessen Eigenschaften zugewiesen habe anstatt das Feld durch drag and Drop aus den verfügbaren Feldern zu benutzen.
2 Juli 2013 um 13:42 Uhr #6801Matthias Dörr
TeilnehmerHallo,
im Anhang das Serverlog mit dem ich mit meinem Beschränkten Wissen wenig anfangen kann.
Gruß, Matthias
Attachments:2 Juli 2013 um 14:08 Uhr #6802Frank Pavlic
TeilnehmerHallo Matthias,
so wie es aussieht mussst Du noch die Batik-Bibliotheken hinzufügen, denn die Klasse kann nicht gefunden werden, hier der Auszug aus deiner Log:
java.lang.NoClassDefFoundError: org/apache/batik/bridge/UserAgentUnd wer braucht die Klasse -> barcode4j.BarcodeSVGImageProducer. Diese Klasse möchte den Barcode als Bild erzeugen und dafür benötigt es die Batik-Bibliothek.
Also Batik hinzufügen und dann sollte es auch schon gehen.
Gruß
Frank2 Juli 2013 um 20:37 Uhr #6803Matthias Dörr
TeilnehmerHallo,
vielen Dank für Eure schnelle und hilfreiche Unterstützung. Habe nun die erforderlichen Batik jars ins extensionsserver geschoben und siehe da es geht (und parallel noch was übers server log gelernt) 😉
Gruß, Matthias
-
AutorBeiträge