- Das ältere LONG System-Datumsformat wurde geändert. Es war wie das neue FULL Format. Im neuen FULL und im alten LONG Systemdatumsformat wird je nach Locale normalerweise der Wochentag angezeigt. Wenn Sie weiterhin ein Datumsformat mit einem Wochentag verwenden möchten, müssen Sie Ihre Berichte aktualisieren, um das neue FULL Systemdatumsformat zu verwenden.
- Das Plugin
parser.docxersetzt das bisherige Plugindecoder.docx.
BerichtserstellungAktiv
Die folgenden Informationen werden aus der Plugin-Beschreibung abgeleitet.
Das Reporting-Plugin stellt die Kernfunktionalität für die Erstellung von Berichten bereit.
i-net Clear Reports ist eine flexible und leistungsstarke Reporting-Lösung für vielfältige Zwecke. Ihnen stehen diverse Berichtsfunktionen zur Verfügung, um Ihre Berichte nützlich, übersichtlich und aussagekräftig zu gestalten.
Erstellen Sie eine Berichtsvorlage, die die Struktur und die Daten Ihres Berichts definiert, speisen Sie sie in Ihren i-net Clear Reports Server ein und lassen Sie sich Ihren Bericht im HTML Report Viewer anzeigen. Alternativ können Sie ihn in eine Reihe von Formaten wie PDF, XLSX, CSV und viele andere exportieren. Mit der Aufgabenplanung ist es möglich, eine automatische Berichterstellung einzurichten und die Berichte per E-Mail zu versenden, auf einem FTP-Server zu speichern oder zu archivieren. Die Web-API wird um Berichtsfunktionen erweitert, mit denen Metainformationen aus Berichten, z.B. Titel, Zeitstempel und Prompt-Parameter abgerufen werden.
Die Daten der Berichte können aus jeder JDBC-Datenquelle abgerufen werden. Beachten Sie, dass es JDBC-Treiber für alle wichtigen Datenbanken wie MySQL, MS SQL Server, Oracle, PostgreSQL, SQLite usw. gibt. Viele Treiber sind bereits in i-net Clear Reports enthalten.
Migrationsinformationen
- Das Plugin
parser.pdfersetzt das bisherige Plugindecoder.pdf.
- Das Java Viewer Applet wurde entfernt. In modernen Browsern sind Java Applets schon seit einiger Zeit nicht mehr verfügbar. Sie können den Java Viewer weiterhin im API-Modus verwenden.
- Das
ReportServletJSPwurde entfernt. Es diente als Einstiegspunkt für*.jsp-Dateien, die es ermöglichten, Report-Engines zu instanziieren und die HTML-Ausgabe des Java Viewer Applets zu steuern. - Das bisherige Report Repository wird als zentrale Speicherlösung durch das völlig neue Drive abgelöst.
- Die veraltete Datasource-Eigenschaft
driverLibrarywurde entfernt. Um zusätzliche Treiberbibliotheken zu verwenden, müssen Sie diese in das Verzeichnislibder Installation verschieben.
WAR-Datei für Oracle Weblogic
Die Initialisierung für WebSocketEndPoint, um in Oracle Weblogic registrierbar zu sein, wurde in Version 21.10 geändert. Dadurch wurde der Fehler java.lang.IllegalStateException: Not in 'deploy' scope..
Wenn Sie eine web.xml-Datei einer anderen WAR-Datei verwenden, müssen Sie den Listener **com.inet.http.ExpandableServletContextListener** hinzufügen
Änderungen in der Programmstruktur
Die interne Struktur hat sich geändert. Deshalb ist das neue Plugin reporting (Datei: plugins/reporting.zip) nun zwingend erforderlich, um i-net Clear Reports zu starten. Durch diese Änderung sind die bisherigen Startskripte nicht mehr gültig und müssen geändert werden.
Außerdem wurde das i-net Designers Plugin remotedesigner.zip in designer.zip umbenannt.
Falls manuelle Änderungen an den Startup-Skripten vorgenommen wurden, müssen diese entsprechend aktualisiert werden:
- Report Server: das Startup-Skript muss geändert werden von
- Von:
~~java -cp core/ClearReports.jar com.inet.report.ClearReportsServer~~ - Zu:
java -jar core/inetcore.jar
- Von:
- i-net Designer: Das Startskript muss geändert werden von
- Von:
~~java -jar core/designer.jar~~ - Zu:
java -jar core/inetcore.jar designer
- Von:
- Befehlszeilenparameter: Der Start muss geändert werden
- Von:
~~java -jar core/ClearReports.jar -forceImportConfig ...~~ - Bis:
java -cp core/inetcore.jar com.inet.config.recovery.RecoveryConfiguration -forceImportConfig ...
- Von:
- **Servlet-Benutzer von benutzerdefinierten
*.waroder*.ear**: die Servlet-Klasse muss geändert werden- From:
com.inet.report.ReportServlet - Zu:
com.inet.http.PluginDispatcherServlet. Siehe die Referenzdateiwarfür Details.
- From:
Hinweis: Entwickler, die API-Klassen wie com.inet.report.Engine aus der reporting.jar verwenden, müssen diese jar-Datei jetzt aus dem reporting.zip-Plugin entpacken.
Änderungen im Verhalten
- Das Web-API-Plugin wurde mit einer neuen Remote-Interface-Anwendung aktualisiert, die eine zusätzliche Berechtigung erfordert. Jede andere bisherige Web-API-Erweiterung benötigt nun ebenfalls diese Berechtigung. Benutzer mit bestimmten Web-API-Berechtigungen müssen im Benutzer- und Gruppenmanager überprüft und neu konfiguriert werden.
- das
com.inet.report.ReportServletwurde entfernt. Wenn es Erweiterungen aus der zuvor veralteten API gab, dann müssen sie in ein Plugin verschoben werden, das jetzt eine Erweiterung registriert. - Die Formelfunktionen
BytesFromFileundTextFromFileschränken nun den Zugriff auf Dateien ein, um eine Pfadüberquerung für normale Benutzer zu verhindern. Die angegebene Datei muss aus einem gültigen Berichtsspeicherort stammen, und wenn sie sich im Dateisystem befindet, muss sie aus demselben Verzeichnis oder Unterverzeichnis wie der Bericht selbst stammen. - Benutzerdefinierte Implementierungen von
com.inet.report.PropertiesCheckerkönnen nicht mehr zumlibVerzeichnis hinzugefügt werden. Sie müssen über ein Plugin implementiert werden. Siehe<SDK>\Dokumentation und Samples\\Plugin - Samples\\PropertiesCheckerfür ein Beispiel-Plugin. - Benutzerdefinierte Implementierungen von
javax.servlet.Filterkönnen nicht mehr zumlibVerzeichnis hinzugefügt werden. Sie müssen über ein Plugin implementiert werden. Siehe<SDK>\Dokumentation und Samples\\Plugin - Samples\\ SessionDatasourcefür ein Beispiel-Plugin. - Die Klasse
com.inet.report.Listenerwurde entfernt. Der Webserver wird seit Version 15.x nicht mehr über diese Klasse gestartet. Der Webserver wird über das Pluginwebserver.zipgestartet.
- Der MySQL Connector/J wurde auf die Version 8.0.13 aktualisiert. Er wird für MySQL Server 5.5 oder höher empfohlen. Für ältere MySQL Server Versionen können Sie den MySQL Connector/J durch die Version der vorherigen i-net Clear Reports Version ersetzen
- Wenn das Plugin
Server Printersaktiviert ist, können die Benutzer nach dem Upgrade auf Version 19 den Serverdrucker nicht mehr verwenden. Sie müssen Gruppenberechtigungen zuweisen, um wieder Zugriff auf die Serverdrucker zu erhalten - Die Schnittstelle des Datenquellenmanagers wurde von Grund auf erneuert. Bestehende Datenquellen in den früheren Bereichen Benutzer/System/Temp/Session sind nun von der Schnittstelle aus schreibgeschützt, können aber weiterhin über die API hinzugefügt und geändert werden. Ein neuer Application-Scope wurde hinzugefügt, der nun die Zuweisung von Benutzergruppen zur Einschränkung von Berechtigungen unterstützt
- Datenquellen werden jetzt für Berichte anders gehandhabt.
- Datenquellen mit demselben Namen können mit unterschiedlichen Berechtigungen in verschiedenen Bereichen vorhanden sein
- Sie werden in der folgenden Reihenfolge durchsucht: User Session Scope → Temporary Scope → Application Scope with permission → User Scope → System Scope
- Application Scope mit Berechtigung bedeutet, dass es mehr als eine Datenquelle mit demselben Namen, aber mit unterschiedlichen Berechtigungen geben kann. Die erste, die für die Benutzergruppe zulässig ist, wird verwendet
- Die Daten werden durch das Setup in das neue Format von i-net Clear Reports Version 18 migriert. Wir empfehlen daher, die Programmdaten zu sichern.
- Der
/remoteKontext der Remote GUI wurde entfernt. Anwendungen unterhalb dieses Einstiegspunktes wurden um eine Ebene nach oben verschoben. - Wenn Sie ein Plugin haben, das Ihren eigenen AuthenticationProvider implementiert, müssen Sie es neu schreiben. Um mehrere Anmeldequellen parallel zu unterstützen, wurde die API geändert. Ein Beispiel für ein solches Plugin ist im SDK zu finden.
- Wenn Sie das Repository-Plugin verwenden, werden die Sicherheitseinstellungen migriert. Nach der Migration wird es nicht mehr mit älteren Versionen von i-net Clear Reports funktionieren. Berechtigungsmuster werden nicht mehr unterstützt. Der Administrator muss prüfen, ob die Benutzer die gewünschten und erwarteten Berechtigungen haben.
- Wenn das Ferndruck-Plugin aktiviert ist, ist es im HTML-Viewer über einen Menüpunkt verfügbar.
- Es gibt ein neues Standard-Plugin, das den HTML-Viewer in die Remote-Anwendung einbettet. Das bedeutet, dass Benutzer des HTML-Viewers das konfigurierte Logo sehen, sich anmelden/einloggen und direkt auf ihre Remote-Anwendungen zugreifen können.
- Wenn Sie Berechtigungen oder Benutzerdaten für alte, jetzt nicht mehr verwendete Benutzer haben, erscheinen diese Benutzer als Benutzerkonten im neuen Benutzer- und Gruppenmanager. Schauen Sie dort nach und löschen Sie veraltete Benutzer.
- Die Muster (wie "", "vwl.rpt", ...) in den Ordnerberechtigungen des Repository Browsers werden nicht mehr unterstützt. Nach der Migration gelten die Einstellungen für alle Berichtsdateien im selben Ordner. Wenn andere Muster als "*" (alle Berichte) verwendet wurden, ist es notwendig, die Einstellungen für die Ordnerberechtigung im Repository Browser zu überprüfen. Hierfür ist die Berechtigung "Server Administration" erforderlich.
- Die C#-Implementierung auf Basis von IKVM ist veraltet. Sie wurde durch die ProcessBridge ersetzt. Sie finden sie im SDK (https://download.inetsoftware.de/clear-reports-sdk-latest.zip). Die erforderliche Ordnerstruktur für Visual Studio und Powershell finden Sie in der readme.html des Ordners "i-net Clear Reports .NET Bridge". Es ist notwendig, Ihr Programm unter Verwendung der i-net Clear Reports API neu zu implementieren, da die API nicht mit der Implementierung auf Basis von IKVM kompatibel ist.
- In Version 18 ist die Option "Mapping Fonts" standardmäßig aktiviert. Wenn diese Option aktiviert ist, werden alle Zeichen einer logischen oder nicht eingebetteten Schriftart durch Zeichen einer eingebetteten Schriftart ersetzt.
Migration von Scheduler-Jobs
Alle Scheduler-Aufgaben seit Version 12 werden bei der Aktualisierung eines Systems, das den vorherigen Scheduler verwendet hat, in den Task-Planer im Setup migriert.
Migration von Aufgaben aus dem Scheduler in den Task Planner
- Stellen Sie sicher, dass das Plugin Task Planner - Render Reports aktiviert ist
- Stellen Sie sicher, dass alle Aufgaben von allen Benutzern aus dem Task Planner gelöscht werden. Die Migration erfolgt nur, wenn der Aufgabenplaner leer ist.
- Starten Sie Ihren Server neu. In der Initialisierungsphase wird er nun die Aufgaben stillschweigend migrieren.
- Wenn die Aufgaben nicht in den Task-Planer migriert werden, überprüfen Sie bitte die Log-Dateien und senden Sie diese an unseren Support.
Probleme bei der Migration
Bei der Migration von Aufgaben aus dem Scheduler in den Task Planner können einige kleinere Probleme auftreten, da viele Dinge gestrafft und vereinfacht worden sind. Siehe die folgenden Hinweise.
Berichte
- Die Einstellung
als Datei:, die jedem generierten Bericht einen anderen Namen gab, wurde entfernt. Der Name der erzeugten Datei(en) ergibt sich nun aus dem in der Berichtsvorlage konfigurierten Titel (.rpt). Die Aktion *Dateisystem verfügt jedoch über eine Option Dateinamensformat, mit der Sie einen eindeutigen Namen konstruieren können.
Aktionseinstellungen
- Für
Speichern (auf Server-Dateisystem)wurden die Einstellungen Anbringungsdatum und Anbringungszeit in der Option Dateinamenformat zusammengefasst. - Bei
Versenden per E-Mailwurden die Optionen CC und BCC entfernt, und die Werte von CC werden als normale Empfänger hinzugefügt. Die Optionen Put reports in a zip file, Attach date und Attach time wurden entfernt. - Für
Drucken (auf Server-bekanntem Drucker)wurde die Option Anzahl der Kopien entfernt, es wird immer nur einmal gedruckt. Andere noch ältere Optionen wie Orientierung und Qualität, die nur über die Java-API verfügbar waren, wurden ebenfalls entfernt.
Zeiteinstellungen
Es gibt einige seltene Kombinationen von Einstellungen, die mit dem alten Scheduler möglich waren, aber mit dem Task-Planer nicht mehr möglich sind. Es ist möglich, dass einige der exotischeren Einstellungen im Task-Planer ein etwas anderes Verhalten zeigen.
- Tägliche Ausführung mit einer
DayStepSizegrößer als 1, d.h. Ausführung alleNTage. Im Planer werden dannNTage ab dem Startdatum für die nächste Ausführung addiert. Nach der Konvertierung in Task Planner beginnt dies immer am 1. des Monats und addiert dannNTage für jede nächste Ausführung. Wenn dieDayStepSize7 ist, wird es in ein wöchentliches Intervall umgewandelt. - Wöchentliche Ausführung mit einer
WeekStepSizegrößer als 1, d.h. alleNWochen. Bei einem Wert von 2 wird ein Intervall vonZwei Wochenverwendet. Andere Werte werden vom Aufgabenplaner nicht unterstützt und bei der Konvertierung wird die "Wochenschrittweite" auf 1 gesetzt. - Monatliche Ausführung mit einer
MonthStepSizegrößer als 1, d.h. alleNMonate. Im Scheduler werden dannNMonate zum Startdatum für die nächste Ausführung hinzugefügt. Dies kann nur mit einem Cron-Trigger dargestellt werden. Der Cron startet zu einem bestimmten Monat und fügt dannNMonate für die nächste Ausführung hinzu. Bei der Konvertierung solcher Aufgaben wird der Startmonat automatisch bestimmt, um das richtige Intervall zu finden. Dies funktioniert nur, wenn dieMonthStepSize2, 3, 4, 6 oder 12 ist. Für andere Werte wird es alleNMonate sein, aber der Ausführungsmonat wird wahrscheinlich falsch sein. - Jährliche Ausführung mit einer
YearStepSizegrößer als 1, was alleNJahre bedeutet. Dies wird vom Aufgabenplaner nicht unterstützt und bei der Konvertierung wirdYearStepSizeauf 1 gesetzt. - Diese Aufgabe nach der Ausführung löschen: Diese Funktion ist im Aufgabenplaner nicht verfügbar.
- Mehrere Ausführungen am gleichen Tag: Ein Zeit- oder Cron-Trigger unterstützt dies nicht, aber Sie können mehrere Trigger zur gleichen Aufgabe hinzufügen. Wenn diese Aufgaben migriert werden, werden automatisch mehrere Auslöser erstellt.
- Beenden der Ausführung nach
NAusführungen oder nach einem bestimmten Datum: Diese Funktion ist im Aufgabenplaner nicht verfügbar. Wenn Sie abgelaufene Aufgaben konvertieren, werden diese deaktiviert.
Benutzerdefinierte Aktionen
Alte benutzerdefinierte Aktionen werden nach der Migration in den Task-Planer nicht mehr funktionieren. Diese Aktionen müssen durch benutzerdefinierte Aufträge und/oder Aktionen ersetzt werden. Sehen Sie sich die Programmierbeispiele an, um zu erfahren, wie Sie Ihren eigenen Job oder Ihre eigene Aktion implementieren können.
Dynamische Eigenschaften
Alte dynamische Eigenschaftsklassen werden nach der Migration auf Task Planner nicht mehr funktionieren. Wenn Sie Ihre dynamischen Werte aus einer Datenbank geladen haben, können Sie Ihre benutzerdefinierten dynamischen Eigenschaften wahrscheinlich durch eine Datenbankreihe ersetzen. In anderen Fällen sollten Sie sie durch eine benutzerdefinierte Serien-Implementierung ersetzen. In den Programmierbeispielen erfahren Sie, wie Sie Ihren eigenen Serientyp implementieren können.
Aufgabenbesitzer
In Task Planner muss jede Aufgabe immer einen Besitzer haben, d.h. eine Aufgabe gehört zu einem Benutzer. Migrierte Aufgaben haben Scheduler als Besitzer. Da bestimmte Auslöser, Jobs und Ergebnis-Handler bestimmte Berechtigungen benötigen, erhält der künstliche Benutzer Scheduler automatisch einige Berechtigungen, wenn Sie Systemberechtigungen aktiviert haben. Wenn Sie die Berechtigungen entfernen, kann es passieren, dass Aufgaben nicht mehr ausgeführt werden können.
Wenn Sie die Aufgaben auf einen anderen Benutzer verschieben wollen, müssen Sie eine Aufgabe duplizieren und dann die alte Aufgabe löschen. Die neue Aufgabe gehört dann dem aktuell angemeldeten Benutzer.
Das Repository: Berechtigungen und Eigentum
Aufgrund des neuen Benutzers, unter dem der Berichtsserver läuft, kann es beim Zugriff auf den Repository-Browser zu Berechtigungsproblemen kommen. Sie sollten den Pfad Ihres Repositorys im Konfigurationsmanager nachschlagen und die Berechtigungen für diesen Pfad in einem Konsolenprogramm auf dem Server überprüfen.
Für den Berichtsserver ist es wichtig, dass sein Benutzer Lese- und Schreibrechte für jede Datei und zusätzliche Ausführungsrechte für Verzeichnisse hat. Der Eigentümer jeder Datei und jedes Verzeichnisses sollte der Benutzer sein, unter dem der Berichtsserver ausgeführt wird.
Sie können den entsprechenden Benutzer mit ps aux | grep java herausfinden.
Ein Neustart des Servers ist erforderlich, nachdem diese Änderungen vorgenommen wurden.
Java 8 erforderlich
Der i-net Designer und der i-net Clear Reports Server benötigen jetzt Java 8 als Mindestversion der Java Virtual Machine. Für den i-net Clear Reports Viewer ist Java 7 erforderlich.
64bit Java VM eingebettet
Der Berichtsserver verwendet eine 64bit Java VM. Da die 32-Bit- und 64-Bit-Einstellungen unter Windows an unterschiedlichen Orten gespeichert werden, kann es notwendig sein, die Konfiguration mit der älteren i-net Clear Reports-Version zu exportieren und mit i-net Clear Reports Version 16 zu importieren.
WebServer-Plugin
Der i-net Clear Reports Webserver wurde in ein Plugin ausgelagert. Da Plug-ins automatisch initialisiert werden, wird der Webserver automatisch gestartet, z.B. wenn die API verwendet wurde. Sie müssen das Webserver-Plugin entfernen, wenn Sie i-net Clear Reports einbetten, anstatt es als Berichtsserver zu verwenden.
64bit Java VM eingebettet auf Windows
Das Setup und der Berichtsserver unter Windows verwenden eine 64bit Java VM, um i-net Clear Reports zu installieren und zu verwenden. Da die 32-Bit- und 64-Bit-Einstellungen unter Windows an unterschiedlichen Orten gespeichert werden, kann es notwendig sein, die Konfiguration mit der älteren i-net Clear Reports-Version zu exportieren und mit Version 15 zu importieren.
Plugins
Im Konfigurationsmanager-Dialog "Plugins" ist es nun möglich, Plugins zu aktivieren/deaktivieren, um die Funktionalität von i-net Clear Reports zu erweitern oder einzuschränken. Einige Plugins sind standardmäßig deaktiviert, z.B. Statistik und Scheduler.
i-net Clear Reports besteht aus Plugins
Mit der Version 14 haben wir das Konzept der Plugins für i-net Clear Reports eingeführt. Dadurch wird eine große Anzahl von Bibliotheken aus der Installation entfernt und eine einzelne Zip-Datei pro Funktion hinzugefügt. Dies macht es viel einfacher zu sagen, welche Bibliothek für ein bestimmtes Feature benötigt wird. Außerdem werden ClassNotFoundExceptions vermieden, die beim Entfernen von Bibliotheken für Features, die Sie nicht benötigen, auftreten können.
Laden
Jedes Plugin ist eine einzelne Zip-Datei. Alle Plugins befinden sich in einem Ordner namens "plugins". Beim Start des Servers wird dieses Verzeichnis gescannt und eine Plugin-Abhängigkeitshierarchie erstellt. Alle Plugins mit nicht aufgelösten Abhängigkeiten werden deaktiviert. Nun werden die Startklassen aller gültigen Plugins instanziiert und die Erweiterungen für den Core oder andere Plugins registriert. Der letzte Schritt ist die Initialisierung aller gültigen Plugins. Um zu überprüfen, welche Plugins erfolgreich geladen wurden, aktivieren Sie die Protokollierung von i-net Clear Reports und setzen Sie den Loglevel mindestens auf INFO.
Architektur
Ein Plugin ist eine Zip-Datei. Sie enthält mindestens die Dateien "plugin.properties" und "server.jar". Die plugin.properties definiert die Startklasse, die die Schnittstelle com.inet.plugin.ServerPlugin implementiert.
Weitere Eigenschaften des Plugins werden durch Annotationen der Startklasse definiert. Diese Annotationen umfassen die id des Plugins, seine Abhängigkeiten und die Plugin-Version. Weitere Details finden Sie im Server Programming Guide.
Scheduler - Benutzerdefinierte Aktionen / Dynamische Eigenschaften
Wenn Sie eine benutzerdefinierte Scheduler-Aktion und/oder dynamische Eigenschaften verwenden, ist es notwendig, ein Plugin für diese Aktion und/oder dynamische Eigenschaftsklasse zu schreiben. Die Registrierung von benutzerdefinierten Aktionen oder dynamischen Eigenschaften für den Scheduler funktioniert nicht mehr über das Hinzufügen einer jar-Datei zum lib-Pfad. Weitere Informationen finden Sie in den Beispielen im Installationsverzeichnis von i-net Clear Reports.
API-Änderungen
- Die folgenden Konstruktoren der Klasse com.inet.report.Listener wurden entfernt:
- Listener(int port, boolean throwException)
- Listener(boolean standalone, int port, boolean throwException)
- Die anderen Konstruktoren der Klasse com.inet.report.Listener sind neu und werfen eine IOException im Falle eines IO-Fehlers.
- Die folgenden Schnittstellen und Klassen wurden vom Paket com.inet.report.config nach com.inet.config verschoben:
- Configuration
- ConfigurationChangeListener
- ConfigurationChangeEvent
- ConfigurationManager
- Die folgenden Schnittstellen und Klassen wurden hinzugefügt:
- com.inet.authentication
- UsersAndGroupsProvider
- com.inet.problemfinder.rules
- ProblemFinderRule
- AbstractRuleElement
- AbstractRuleField
- AbstractRulePropertyFormula
- AbstractRuleSection
- com.inet.plugin
- ServerPlugin
- ServerPluginManager
- com.inet.report
- ListenerSettings
- com.inet.authentication
- Die veraltete API wurde entfernt:
- com.inet.report.ReportProperties
- getLabelFormat()
- setLabelFormat( String s )
- com.inet.report.ValueProperties
- getBooleanFormatTypeFormula()
- com.inet.report.AbstractValueElement
- getBooleanFormatTypeFormula()
- com.inet.report.chart.plot.BarPlot
- DEFAULT_BAR_MARGIN_PERCENT
- getBarMarginPercent()
- setBarMarginPercent( double barMarginPercent )
- com.inet.report.ReportProperties
Entfernte veraltete Methoden und Konstanten
Die folgenden Methoden waren schon länger als 2 Hauptversionen veraltet und
wurden nun in Version 11 von i-net Clear Reports vollständig entfernt.
- com.inet.designer.BasicDesignerDataModel
- chooseReportFile(java.awt.Component)
- com.inet.designer.DesignerDataModel
- chooseReportFile(java.awt.Component)
- com.inet.report.AbstractValueElement
- getDateWindowsDefaultType() replaced by getDateFormatType()
- setDateWindowsDefaultType(int) replaced by setDateFormatType(int)
- getDateWindowsDefaultTypeFormula() replaced by getDateFormatTypeFormula()
- setDateWindowsDefaultTypeFormula(FormulaField) replaced by setDateFormatTypeFormula(FormulaField)
- setUseSystemDefaultFormat(boolean) replaced by the individual format type method
- getUseSystemDefaultFormat() replaced by the individual format type method
- setUseSystemDefaultFormatFormula(FormulaField) replaced by the individual format type method
- getUseSystemDefaultFormatFormula() replaced by the individual format type method
- com.inet.report.DatabaseTables
- createDatasource(String,String,String,String,String,String) replaced by createDatasource(String)
- createDatasource(String,String,String,String) replaced by createDatasource(String)
- com.inet.report.Datasource
- dll_connectionByConfiguration
- getDll() replaced by getDataSourceConfigurationName()
- setDll(String) replaced by setDataSourceConfigurationName(String)
- com.inet.report.Element
- getHyperlinkType() replaced by getHyperlinkUrl="migration-to-11.html" data-contextid="migration-to-version-11" data-rawid="documentation:clear-reports:release-notes:en:migration:migration-to-11" and getHyperlinkUrlFormula()
- setHyperlinkType(int) replaced by setHyperlinkUrl="../../String" and setHyperlinkUrlFormula(FormulaField)
- com.inet.report.Engine
- setPath(String, String, String) replaced by ConfigurationManager#setCurrent(com.inet.report.config.Configuration)
- setPath(java.net.URL) replaced by ConfigurationManager#importFromStream(int, String, java.io.InputStream)
- getGroupTree(int, int) replaced by #getGroupTree()
- com.inet.report.GroupTree
- getData(byte[],int,int) replaced by Engine.getGroupTree()
- com.inet.report.HyperlinkProperties
- NO_HYPERLINK
- FILE_HYPERLINK
- WEBSITE_HYPERLINK
- EMAIL_HYPERLINK
- FIELD_VALUE_HYPERLINK
- getHyperlinkType() replaced by getHyperlinkUrl="migration-to-11.html" data-contextid="migration-to-version-11" data-rawid="documentation:clear-reports:release-notes:en:migration:migration-to-11" and getHyperlinkUrlFormula()
- setHyperlinkType(int) replaced by setHyperlinkUrl="../../String" and setHyperlinkUrlFormula(FormulaField)
- com.inet.report.RDC
- getCrystalClearPropertyPath()
- setConfigurationProperties(Properties)
- getConfigurationProperties()
Verwenden Sie das folgende Codebeispiel, um RDC.setConfigurationProperties(Properties p) zu ersetzen:
Configuration config = ConfigurationManager.getInstance().create( Configuration.SCOPE_TEMP, "xyz" );
config.putAll( props );
ConfigurationManager.getInstance().setCurrent( config );
- com.inet.report.SummaryField
- getChartSourceIndex() replaced by getName()
- setChartSourceIndex(int) replaced by setName(String)
- com.inet.report.ValueProperties
- USE_WINDOWS_LONG_DATE replaced by USE_SYSTEM_LONG_DATE
- USE_WINDOWS_SHORT_DATE replaced by USE_SYSTEM_SHORT_DATE
- NOT_USING_WINDOWS_DEFAULTS replaced by NOT_USING_SYSTEM_DEFAULTS
- getDateWindowsDefaultType() replaced by getDateFormatType()
- setDateWindowsDefaultType(int) replaced by setDateFormatType(int)
- getDateWindowsDefaultTypeFormula() replaced by getDateFormatTypeFormula()
- setDateWindowsDefaultTypeFormula(FormulaField) replaced by setDateFormatTypeFormula(FormulaField)
- setUseSystemDefaultFormat(boolean)
- getUseSystemDefaultFormat()
- setUseSystemDefaultFormatFormula(FormulaField)
- getUseSystemDefaultFormatFormula()
Die folgenden Methoden waren länger als 2 Hauptversionen veraltet und wurden nun in Version 10 von i-net Crystal-Clear vollständig entfernt.
- com.inet.report.AbstractFontElement
- getBold()
- getItalic()
- getStrikeout()
- getUnderline()
- com.inet.report.AbstractLineElement
- getExtendToBottomOfSectionWhenPrinting()
- com.inet.report.AbstractValueElement
- getAllowFieldClipping()
- getReverseSignForDisplay()
- com.inet.report.BorderProperties
- getTightHorizontal()
- setTightHorizontal(FormulaField)
- com.inet.report.Chart
- com.inet.report.ChartFormatProperties
- getAllowFieldClipping()
- getReverseSignForDisplay()
- com.inet.report.CrossTabCell
- getSubElements()
- com.inet.report.DatabaseTables
- getConvertDateTime()
- isPasswordValid()
- setConvertDateTime(int)
- com.inet.report.Element
- getCanGrow()
- getCloseBorderOnPageBreak()
- getDropShadow()
- getSuppress()
- getSuppressIfDuplicated()
- getTextRotation()
- getTightHorizontal()
- setTextRotation(int)
- setTightHorizontal(FormulaField)
- com.inet.report.Engine
- EXPORT_CSV_COM
- EXPORT_CSV_COL
- DEFAULT_PAPER_ORIENTATION
- DEFAULT_PAPERSIZE
- LANDSCAPE
- pageSizes
- PAPER_*
- PATER_TABLOID
- PORTRAIT
- USERDEFINED_PAPER
- getAcrossThenDown()
- getFormatGroupsWithMultipleColumn()
- getHorizontal()
- getLabel*()
- getMargin*()
- getPaper*()
- getVertical()
- isFormatWithMultipleColumns()
- setAcrossThenDown(boolean)
- setData(ResultSet, boolean)
- setFormatGroupsWithMultipleColumn(boolean)
- setFormatWithMultipleColumns(boolean
- setHorizontal(int)
- setLabel*(...)
- setMargin*(...)
- setPaper*(...)
- setVertical(int)
- com.inet.report.FieldElement
- getLineSpacing()
- getLineSpacingType()
- setLineSpacing(int)
- setLineSpacingType(int)
- com.inet.report.FontProperties
- getBold()
- getItalic()
- getStrikeout()
- getUnderline()
- com.inet.report.ValueProperties
- TWELF_HOURS
- getAllowFieldClipping()
- getReverseSignForDisplay()
- com.inet.report.GeneralProperties
- CENTER_ALIGN
- DEFAULT_ALIGN
- JUSTIFIED_ALIGN
- LEFT_ALIGN
- RIGHT_ALIGN
- ROTATE_*
- getCanGrow()
- getCloseBorderOnPageBreak()
- getCloseBorderOnPageBreakFormula()
- getDefaultPromptValues()
- getDropShadow()
- getDropShadowFormula()
- getKeepTogether()
- getSuppress()
- getSuppressIfDuplicated()
- getTextRotation()
- setCloseBorderOnPageBreak(boolean)
- setCloseBorderOnPageBreakFormula(FormulaField)
- setDropShadow(boolean)
- setDropShadowFormula(FormulaField)
- setTextRotation(int)
- com.inet.report.Group
- getInstanceId()
- getParentGroup()
- removeGroupDirectionFormula()
- setHierarchicalGrouping(boolean, Field, Field, int)
- setInstanceId(Field)
- setParentGroup(Field)
- com.inet.report.LineProperties
- getExtendToBottomOfSectionWhenPrinting()
- com.inet.report.Paragraph
- getLineSpacingType()
- setLineSpacingType(int)
- com.inet.report.ParagraphProperties
- EXACT_SPACING
- MULTIPLE_SPACING
- getLineSpacing()
- getLineSpacingType()
- setLineSpacing(int)
- setLineSpacingType(int)
- com.inet.report.PictureProperties
- BOTTOM_ALIGN
- CENTER_ALIGN
- TOP_ALIGN
- com.inet.report.PromptField
- addDefaultValue(String,String)
- addDefaultValue(Object,String)
- getPromptValueDesciptions()
- setDefaultPromptValues(Object[])
- setDefaultPromptValues(String)
- setDefaultValue(int,Object,String)
- com.inet.report.ReportComponent
- getKeepTogether()
- com.inet.report.ReportProperties
- getAcrossThenDown()
- getDistinct()
- getFormatGroupsWithMultipleColumn()
- com.inet.report.SortField
- removeSortDirectionFormula()
- com.inet.report.Subreport
- getOnDemand()
- com.inet.report.SubreportProperties
- getOnDemand()
- com.inet.report.SummaryField
- SUMMARY_CROSSTAB_ROW
- SUMMARY_CROSSTAB_COLUMN
Die folgenden Methoden waren schon länger als 2 Hauptversionen veraltet und
wurden nun in Version 9 von i-net Crystal-Clear vollständig entfernt.
- com.inet.report.AbstractLineElement
- getExtentToBottomOfSectionWhenPrinting()
- com.inet.report.AbstractValueElement
- getDateFirstSeperator()
- setDateFirstSeperator(String)
- getDateFirstSeperatorFormula()
- setDateFirstSeperatorFormula(FormulaField)
- getDatePrefixSeperator()
- setDatePrefixSeperator(String)
- getDatePrefixSeperatorFormula()
- setDatePrefixSeperatorFormula(FormulaField)
- getDateSecondSeperator()
- setDateSecondSeperator(String)
- getDateSecondSeperatorFormula()
- setDateSecondSeperatorFormula(FormulaField)
- getDateSuffixSeperator()
- setDateSuffixSeperator(String)
- getDateSuffixSeperatorFormula()
- setDateSuffixSeperatorFormula(FormulaField)
- getDateTimeSeperator()
- setDateTimeSeperator(String)
- getDateTimeSeperatorFormula()
- setDateTimeSeperatorFormula(FormulaField)
- getDayOfWeekSeperator()
- setDayOfWeekSeperator(String)
- getDayOfWeekSeperatorFormula()
- setDayOfWeekSeperatorFormula(FormulaField)
- getDecimalSeperatorsSymbol()
- setDecimalSeperatorsSymbol(String)
- getDecimalSeperatorsSymbolFormula()
- setDecimalSeperatorsSymbolFormula(FormulaField)
- getHourMinuteSeperator()
- setHourMinuteSeperator(String)
- getHourMinuteSeperatorFormula()
- setHourMinuteSeperatorFormula(FormulaField)
- getMinuteSecondSeperator()
- setMinuteSecondSeperator(String)
- getMinuteSecondSeperatorFormula()
- setMinuteSecondSeperatorFormula(FormulaField)
- getThousandSeperatorsSymbol()
- setThousandSeperatorsSymbol(String)
- getThousandSeperatorsSymbolFormula()
- setThousandSeperatorsSymbolFormula(FormulaField)
- getUseThousandSeperators()
- setUseThousandSeperators(boolean)
- getUseThousandSeperatorsFormula()
- setUseThousandSeperatorsFormula(FormulaField)
- com.inet.report.BorderProperties
- getBottomLineStyleFormel()
- getTopLineStyleFormel()
- com.inet.report.Chart
- CUSTOM_NUMER_FORMAT
- getSort()
- setdataValuesMinMax(double, double)
- setSort(int)
- com.inet.report.ChartFormatProperties
- getDateFirstSeperator()
- setDateFirstSeperator(String)
- getDateFirstSeperatorFormula()
- setDateFirstSeperatorFormula(FormulaField)
- getDatePrefixSeperator()
- setDatePrefixSeperator(String)
- getDatePrefixSeperatorFormula()
- setDatePrefixSeperatorFormula(FormulaField)
- getDateSecondSeperator()
- setDateSecondSeperator(String)
- getDateSecondSeperatorFormula()
- setDateSecondSeperatorFormula(FormulaField)
- getDateSuffixSeperator()
- setDateSuffixSeperator(String)
- getDateSuffixSeperatorFormula()
- setDateSuffixSeperatorFormula(FormulaField)
- getDateTimeSeperator()
- setDateTimeSeperator(String)
- getDateTimeSeperatorFormula()
- setDateTimeSeperatorFormula(FormulaField)
- getDayOfWeekSeperator()
- setDayOfWeekSeperator(String)
- getDayOfWeekSeperatorFormula()
- setDayOfWeekSeperatorFormula(FormulaField)
- getDecimalSeperatorsSymbol()
- setDecimalSeperatorsSymbol(String)
- getDecimalSeperatorsSymbolFormula()
- setDecimalSeperatorsSymbolFormula(FormulaField)
- getHourMinuteSeperator()
- setHourMinuteSeperator(String)
- getHourMinuteSeperatorFormula()
- setHourMinuteSeperatorFormula(FormulaField)
- getMinuteSecondSeperator()
- setMinuteSecondSeperator(String)
- getMinuteSecondSeperatorFormula()
- setMinuteSecondSeperatorFormula(FormulaField)
- getThousandSeperatorsSymbol()
- setThousandSeperatorsSymbol(String)
- getThousandSeperatorsSymbolFormula()
- setThousandSeperatorsSymbolFormula(FormulaField)
- getUseThousandSeperators()
- setUseThousandSeperators(boolean)
- getUseThousandSeperatorsFormula()
- setUseThousandSeperatorsFormula(FormulaField)
- com.inet.report.CrossTab
- getColTotalOnLeft()
- com.inet.report.CrossTabCell
- setHeightByFieldElements()
- setWidthByFieldElement(int)
- com.inet.report.DatabaseTables
- addSproc(String, String[], int[])
- addSproc(String, String, String[], int[])
- addSqlSource(String)
- addSqlSource(String, String)
- getDistinct()
- getPassword()
- getUser()
- setCatalog(String)
- setColumnNames(String, String[])
- setColumnTypes(String, int[])
- setDistinct(boolean)
- setDll(String)
- setHost(String)
- setPassword(String)
- setSchema(String)
- setURL(String)
- setUser(String)
- com.inet.report.Element
- getBottomLineStyleFormel()
- getToolTipsTextFormel()
- getTopLineStyleFormel()
- getWebSiteAddressFormel()
- setWebSiteAddressFormula(FormulaField)
- com.inet.report.Engine
- getCatalog()
- getConnection()
- getDll()
- getHost()
- getPassword(int)
- getPasswords()
- getSchema()
- getURL()
- getUser(int)
- getUsers()
- setDll(String)
- setHost(String)
- setPassword(String, int)
- setPasswords(Vector)
- setSql(String, boolean)
- setURL(String)
- setUser(String, int)
- setUsers(Vector)
- com.inet.report.Fields
- addDatabaseField(String)
- addSortField( field, String)
- com.inet.report.FormulaField
- checkFormula(String, boolean, Engine, Field, Object, boolean)
- com.inet.report.GeneralProperties
- getToolTipsTextFormel()
- com.inet.report.HyperlinkProperties
- getWebSiteAddressFormel()
- setWebSiteAddressFormula(FormulaField)
- com.inet.report.JavaBean
- getBeanProperty(String)
- com.inet.report.LineProperties
- getExtentToBottomOfSectionWhenPrinting()
- com.inet.report.SortField
- setSortDirectionFormula(String)
- com.inet.report.TableSource
- setColumnName(int idx, String)
- setColumnType(int, int)
- com.inet.report.ValueProperties
- getDateFirstSeperator()
- setDateFirstSeperator(String)
- getDateFirstSeperatorFormula()
- setDateFirstSeperatorFormula(FormulaField)
- getDatePrefixSeperator()
- setDatePrefixSeperator(String)
- getDatePrefixSeperatorFormula()
- setDatePrefixSeperatorFormula(FormulaField)
- getDateSecondSeperator()
- setDateSecondSeperator(String)
- getDateSecondSeperatorFormula()
- setDateSecondSeperatorFormula(FormulaField)
- getDateSuffixSeperator()
- setDateSuffixSeperator(String)
- getDateSuffixSeperatorFormula()
- setDateSuffixSeperatorFormula(FormulaField)
- getDateTimeSeperator()
- setDateTimeSeperator(String)
- getDateTimeSeperatorFormula()s
- setDateTimeSeperatorFormula(FormulaField)
- getDayOfWeekSeperator()
- setDayOfWeekSeperator(String)
- getDayOfWeekSeperatorFormula()
- setDayOfWeekSeperatorFormula(FormulaField)
- getDecimalSeperatorsSymbol()
- setDecimalSeperatorsSymbol(String)
- getDecimalSeperatorsSymbolFormula()
- setDecimalSeperatorsSymbolFormula(FormulaField)
- getHourMinuteSeperator()
- setHourMinuteSeperator(String)
- getHourMinuteSeperatorFormula()
- setHourMinuteSeperatorFormula(FormulaField)
- getMinuteSecondSeperator()
- setMinuteSecondSeperator(String)
- getMinuteSecondSeperatorFormula()
- setMinuteSecondSeperatorFormula(FormulaField)
- getThousandSeperatorsSymbol()
- setThousandSeperatorsSymbol(String)
- getThousandSeperatorsSymbolFormula()
- setThousandSeperatorsSymbolFormula(FormulaField)
- getUseThousandSeperators()
- setUseThousandSeperators(boolean)
- getUseThousandSeperatorsFormula()
- setUseThousandSeperatorsFormula(FormulaField)
- com.inet.report.schedule.Scheduler
- getEmailPassword()
- setEmailPassword(String)
- getEmailPop3Host()
- setEmailPop3Host(String)
- getEmailSender()
- setEmailSender(String)
- getEmailSmtpHost()
- setEmailSmtpHost(String)
- getEmailUser()
- setEmailUser(String)
Hinzugefügte Klassen
- com.inet.repor.Region
Hinzugefügte Methoden
- com.inet.report.BorderProperties
- isCloseBorderOnPageBreak()
- getCloseBorderOnPageBreakFormula()
- setCloseBorderOnPageBreak(boolean)
- setCloseBorderOnPageBreakFormula(FormulaField)
- com.inet.report.Element
- isCloseBorderOnPageBreak()
- com.inet.report.Field
- duplicate(String)
- com.inet.report.FormulaField
- checkContext()
- duplicate()
- getNullBehavior()
- setNullBehavior(int)
- com.inet.report.PromptField
- duplicate(String)
- com.inet.report.SQLField
- duplicate(String)
- com.inet.report.SummaryInfo
- getThumbnail()
- setThumbnail(Image)
- com.inet.report.SummaryField
- duplicate(String)
- com.inet.report.TableSource
- getDatabaseField(int)
Methoden und Konstanten, die in Version 10 veraltet sind
Die folgende Liste enthält die Methoden, die in Version 10 veraltet sind und nicht mehr verwendet werden sollten. Bitte konsultieren Sie die API-Dokumentation der einzelnen Methoden für weitere Informationen über neuere Methoden, die stattdessen verwendet werden sollten.
- com.inet.report.config.datasource.DataSourceConfiguration
- checkConnection()
Entfernte Methoden
Die folgende Liste enthält die Methoden, die in Version 10 von i-net Crystal-Clear vollständig entfernt wurden.
- com.inet.report.Cache
- isTypeClusterCache()
- com.inet.report.LicenseKeyInfo
- isCluster()
- getGroupNumber()
Konstanten hinzugefügt
- com.inet.report.Engine
- EXPORT_BMP
- EXPORT_GIF
- EXPORT_JPG
- EXPORT_PNG
- com.inet.report.FormulaField
- TREAT_NULL_AS_NULL
- TREAT_NULL_BY_DEFAULT
- TREAT_NULL_BY_EXCEPTION
Methoden und Konstanten, die ab Version 9 veraltet sind
Die folgende Liste enthält die Methoden, die in Version 9 veraltet sind und
nicht mehr verwendet werden sollten. Bitte konsultieren Sie die API-Dokumentation der einzelnen Methoden
für weitere Informationen über neuere Methoden, die stattdessen verwendet werden sollten.
- com.inet.report.Datasource
- setup(String)
- setup(DataSourceConfiguration)
- com.inet.report.RDC
- saveEngine(PrintWriter, Engine)
E-Mail-Einstellungen
Die E-Mail-Einstellungen in der Konfiguration wurden von der Kategorie "Scheduler" in die neue Kategorie "E-Mail-Einstellungen" verschoben, da sie auch von "Fehlerbenachrichtigungen" verwendet werden.
Support-E-Mail-Adresse
Es ist nun möglich, im Fehlerdialog des HTML- und Java-Reportviewers einen Link mit einer Support-E-Mail-Adresse anzuzeigen. Sie können dies in der Konfigurationsmanager-Kategorie "E-Mail-Einstellungen" konfigurieren. Der Standardwert ist "clearreports@inetsoftware.de".
Fehlerbenachrichtigungen
Es ist nun möglich, im Falle eines Fehlers eine E-Mail-Benachrichtigung zu versenden. Im neuen Plugin "Fehlerbenachrichtigungen" können Sie eine E-Mail-Adresse festlegen, an die alle Fehlerbenachrichtigungen gesendet werden sollen.
Java 7 erforderlich
Der i-net Designer und der i-net Clear Reports Server benötigen jetzt Java 7 als Mindestversion der virtuellen Java-Maschine. Für den i-net Clear Reports Viewer ist Java 5 erforderlich.
Festkommazahlen statt Fließkommazahlen
Formeln und Zusammenfassungen verwenden nun Festkommazahlen anstelle von Fließkommazahlen. Dadurch werden Rundungsprobleme reduziert. Wenn es Probleme gibt, können Sie die Konfigurationseigenschaft "Kompatibilitätsebene" in der Konfigurationsmanager-Kategorie "Verhalten" auf Version "12.x" setzen.
Standard-Berichtsanzeige: HTML
Der HTML-Berichtsviewer hat den Java-Berichtsviewer als Standard-Viewer ersetzt. In der Konfigurationsmanager-Kategorie "Verhalten" ist es möglich, den Standard-Viewer einzustellen.
Abfragedateien sind veraltet
Crystal Reports Abfragedateien sind veraltet. Die API für Abfragedateien wurde abgeschafft. Die Unterstützung wird in Version 16 eingestellt. Wir empfehlen die Verwendung eines Befehls im Bericht anstelle einer Abfragedatei.
Bild-URL im HTML-Export
Die URL der Bilder in exportierten HTML-Dateien wurde geändert.
Scheduler neu gestaltet
Die Web-GUI des i-net Clear Reports Schedulers wurde durch ein neues Remote Interface Modul ersetzt.
URL-Parameter "init=scheduler"
Der URL-Parameter "init=scheduler" wurde entfernt. Sie können auf das neue Scheduler-Modul im Remote Interface oder über die URL zugreifen:
http://<Servername>:<Port>/[<Servlet-Kontext>]/remote/scheduler
Konfigurierte Tasks in den Einstellungen gespeichert
In früheren Versionen wurde die Datei scheduler.xml verwendet, um die konfigurierten Aufgaben zu speichern. Mit Version 12 werden die Aufgaben in den Java-Einstellungen gespeichert, wie die i-net Clear Reports Konfigurationen.
Eine Aktion pro Aufgabe
Mit Version 12 wird nur noch eine Aktion pro Task unterstützt. Beim Import des Tasks aus der scheduler.xml werden für einen Task mit mehreren Aktionen mehrere Tasks angelegt.
Cache-Aktion entfernt
Die Cache-Aktion wird im Scheduler der Version 12 nicht mehr unterstützt. Anstelle dieser Aktion sollten Sie eine Datei-Aktion verwenden, um den ausgeführten Bericht als Datei zu speichern und diese Datei dann vom Server anzufordern.
Der Remote Configuration Manager wurde überarbeitet
Das Modul Konfigurationsmanager in der Remote-Schnittstelle wurde neu gestaltet. Wir haben einige neue Kategorien hinzugefügt und die Eigenschaften teilweise umstrukturiert. Um weitere Hilfe zu erhalten, klicken Sie bitte auf den Hilfe-Link in einer Konfigurationsmanager-Kategorie.
Der Fernkonfigurationsmanager ist jetzt der Standardkonfigurationsmanager. Die Java-Anwendung des Konfigurationsmanagers wurde entfernt. Mit dem neuen Wiederherstellungs- und Standalone-Konfigurationswerkzeug ist es möglich, Konfigurationen zu reparieren. Dieses Tool ist im Installationsverzeichnis verfügbar.
Eingebettete Schriftarten unabhängig von der Eigenschaft "Native Schriftarten verwenden"
Wenn ein "Schriftartenpfad" konfiguriert ist, werden die verwendeten Schriftarten eingebettet. Dies geschieht unabhängig vom Wert der Eigenschaft "Use Native Fonts".
i-net Crystal-Clear wurde umbenannt in i-net Clear Reports
Der Name der Version 2011 (Version 11.0) lautet nun i-net Clear Reports.
Lassen Sie "Crystal" weg, konzentrieren Sie sich auf klare Berichte - einfacher Name, einfaches, aber leistungsstarkes Reporting: i-net Clear Reports.
Java 6 erforderlich
Der i-net Designer und der i-net Clear Reports Server benötigen jetzt Java 6 als Mindestversion der Java Virtual Machine. Für den i-net Clear Reports Viewer ist Java 5 erforderlich.
Veraltete URL-Parameter für Berichte werden nicht mehr unterstützt
Die folgenden veralteten Report-URL-Parameter werden nicht mehr unterstützt: "dll", "host", "catalog", "database", "schema", "user", "url". Es wird empfohlen, stattdessen den Berichts-URL-Parameter "datasource" zu verwenden.
Gruppennamensfelder mit Datumsformat konfigurierbar
Es ist nun möglich, das Gruppennamensfeld einer Gruppe auf ein Datums- und/oder Zeitfeld im "Property Editor" des i-net Designers zu konfigurieren. In früheren Versionen hat das Gruppennamensfeld eine String-Darstellung des Datums in Abhängigkeit vom Datum und/oder Zeitintervall der Gruppe angezeigt. Die Systemformate verwenden das eingestellte Zeitintervall der Gruppe, z.B. wenn das Feld auf "jeden Monat" gruppiert wurde, enthält das Gruppennamensfeld Monat und Jahr. Mit dem benutzerdefinierten Format können Sie dies selbst einstellen.
Neue Verzeichnisstruktur
Die Verzeichnisstruktur im Installationsverzeichnis wurde geändert. Das Verzeichnis "crystalclear" wurde durch 2 neue Verzeichnisse ersetzt: "client" und "core".
Das Verzeichnis "core" enthält alle Bibliotheksdateien des Wurzelklassenpfades und das Verzeichnis "lib" enthält Bibliotheksdateien, die dynamisch geladen werden können. Das Verzeichnis "client" enthält Ressourcen für den i-net Crystal-Clear-Client, z.B. den neuen HTML-Parameter-Abfragedialog.
Elementumrandung / Schatten erhöhen die Ausschnittshöhe
Wenn ein Berichtselement eine Umrandung und/oder einen Schatten hat und der untere Rand des Berichtselements genau auf der Unterkante eines Abschnitts liegt, dann wird die Höhe dieses Abschnitts zur Laufzeit um die Breite der Umrandung und/oder des Schattens erhöht.
In früheren Versionen wurde die Umrandung bzw. der Schatten in den nächsten Abschnitt hinein gemalt. Um dieses Verhalten der älteren Versionen mit Version 10 zu nutzen, müssen Sie den Wert der Eigenschaft "Kompatibilitätsebene" auf "konform zu Version 9.x" setzen.
Abschnittseigenschaft "Leeren Abschnitt unterdrücken"
Das Verhalten der Abschnittseigenschaft "Leeren Abschnitt unterdrücken" wurde geändert.
Wenn diese Eigenschaft aktiviert ist, wird ein leerer Abschnitt unterdrückt. Ein Abschnitt ist emtpy, wenn er keine dynamischen Daten enthält.
Das heißt, der Abschnitt wird unterdrückt, wenn die folgenden Berichtselemente keine Daten enthalten:
- alle (Datenbank-, Formel-, Spezial-, Statistik-) Felder
- alle in Textelemente eingebetteten Felder
- alle Datenbankbilder
und kein Diagramm, keine Kreuztabelle, keine Java Bean und kein Teilbericht wird angezeigt.
Die folgenden Elemente haben keinen Einfluss auf diese Eigenschaft:
- textelemente ohne eingebettete Felder
- kästchen
- zeilen
- bilder
- abschnitt Hintergrund.
Eigenschaft "Unbekannte Datenquellen zulassen" hinzugefügt
Aus Sicherheitsgründen wurde in der Konfigurationskategorie "Allgemeine Optionen" die Eigenschaft "Unbekannte Datenquellen zulassen" hinzugefügt.
Wenn diese Eigenschaft deaktiviert ist, ist es nicht möglich, Berichte auszuführen, die eine unbekannte Datenquelle enthalten. Eine Datenquelle gilt als unbekannt, wenn keine Datenquellenkonfiguration mit diesem Namen auf dem Berichtsserver existiert. Damit wird verhindert, dass jeder Benutzer die Möglichkeit hat, Daten aus externen Datenbanken zu laden.
Neuer Standardwert für "Max HTTP Requests"
Seit Version 10 ist der neue Standardwert (und empfohlene Wert) für die Eigenschaft "Max HTTP Requests" 250. Aufgrund eines Fehlers in der Kanalbehandlung verschiedener Java VMs verwendet der i-net Crystal-Clear Berichtsserver nun Sockets anstelle von Kanälen und benötigt daher mehr Threads. Der frühere Standardwert von 8 würde die Leistung des Berichtsservers nun tatsächlich verringern.
Wenn der aktuelle Wert dieser Eigenschaft kleiner als 50 ist, wird er bei der Installation von Version 10 auf 250 erhöht.
Liegt der aktuelle Wert bereits zwischen 50 und 250, muss der Wert manuell auf 250 gesetzt werden, wenn dieser Standardwert gewünscht ist.
Nullwerte für String-Parameterfelder werden unterstützt
Einzelne String-Parameterfelder (Prompts), die keine Längenbegrenzung haben, akzeptieren jetzt neben einem leeren String auch Null. Im Eingabeaufforderungsdialog gibt es eine Option "kein Wert", die für die Eingabeaufforderung ein- und ausgeschaltet werden kann.
Wenn Sie keine Nullwerte für String-Prompts zulassen wollen, können Sie einfach 0 als Mindestlänge des Strings angeben - beachten Sie, dass dies im i-net Designer nun die Standardeinstellung beim Erstellen neuer String-Prompts ist.
Authentifizierung für Remote Interface hat sich geändert
Bisher erschien das Passwort-Formular der Remoter Schnittstelle, wenn Berichtsberechtigungen und/oder Systemberechtigungen aktiviert sind und kein Login-Skript in der Konfiguration angegeben wurde (siehe Sicherheitsleitfaden für weitere Details).
Seit Version 10 unterstützt i-net Crystal-Clear mehrere Authentifizierungsmethoden. Die Eigenschaft Login-Typ definiert, wie sich der Benutzer am System anmelden muss und wo die erlaubten Benutzernamen verwaltet werden.
Der Standardwert für den Login-Typ ist: Automatisch. In diesem Fall versucht der Server, die Anmeldung in der folgenden Reihenfolge anzufordern: Externer Webserver (URL des Anmeldeskripts muss festgelegt werden), Windows-Authentifizierung (wenn der Server unter einem Windows-Betriebssystem läuft), Interner Webserver, Master-Passwort.
Um eine bestimmte Authentifizierungsmethode zu verwenden, müssen Sie diese im Konfigurationsmanager, Eigenschaft: Login Type in der Kategorie [System Permissions] (https://docs.inetsoftware.de/reporting/help/security).
Cluster von i-net Crystal-Clear Plus entfernt
Die Cluster-Funktion von i-net Crystal-Clear Plus wurde entfernt. Stattdessen sollten Betriebssystem- oder Anwendungsserver-Cluster verwendet werden.
Unterstützung für Crystal Reports 6
Berichte, die mit Crystal Reports Version 6 erstellt wurden, werden nicht mehr unterstützt. Wenn Sie solche Berichte haben, müssen Sie diese Berichte entweder mit einer neueren Crystal-Reports-Version oder mit einer früheren Version von i-net Designer öffnen und speichern.
URL-Parameter sind standardmäßig nicht erlaubt
Seit Version 9 sind aus Sicherheitsgründen standardmäßig nur noch die folgenden Parameter in der Berichts-URL erlaubt: "prompt", "init" und "sproc". Um andere Parameter in der Berichts-URL zu verwenden, wie z.B. "datasource", kann es notwendig sein, diese im [Configuration Manager] (https://docs.inetsoftware.de/reporting/help/security-report-url-parameter) freizuschalten, bevor sie verwendet werden.
Es ist immer möglich, Werte für alle Parameter in der checkProperties-Methode auf der Server-Seite zu setzen. Java-Code-Beispiele, die dies zeigen, finden Sie im Verzeichnis "samples" der Dokumentation (falls installiert).
Auswertungszeit von Formeln
Die Auswertungszeit von Formeln wurde in der Version 9 geändert, um eine bessere Performance und mehr Konsistenz zu erreichen. Die Formelfunktionen "WhileReadingRecords" und "WhilePrintingRecords" haben nun einen etwas anderen Einfluss darauf, wann die Formel ausgewertet wird und wie die Formel verwendet werden kann.
Wenn Sie eine ältere Konfiguration mit i-net Crystal-Clear Version 9 verwenden, dann ist es notwendig, die Kompatibilitätsebene auf "konform zu Version 9.x" zu setzen, um das neue Verhalten von "WhileReadingRecords"-Formeln zu nutzen. Wenn Sie eine neue Konfiguration mit Version 9 erstellen, ist "compliant to version 9.x" der Standardwert.
- Alle als "WhileReadingRecords" angegebenen Formeln, die im Bericht verwendet werden, werden nun ausgeführt:
- für jeden Datensatz
- nachdem alle Datensätze sortiert und gefiltert wurden, aber
- bevor das Rendern des ersten Abschnitts beginnt.
- Variablen, die in Formeln mit der Auswertungszeit WhileReadingRecords verwendet werden, werden vor Beginn des Renderings nicht zurückgesetzt, so dass die Variablen auch in Formeln mit der Auswertungszeit WhilePrintingRecords verwendet werden können.
- Zusammenfassungen, Gruppierungen und Sortierungen werden ebenfalls vor dem Rendering berechnet, so dass es unmöglich ist, eine Zusammenfassung oder Gruppierung in einer Formel "während des Druckens" vorzunehmen.
- Bei Formeln, die eine Zusammenfassung enthalten, kann die Auswertung nicht als "während des Lesens" angegeben werden, da die Zusammenfassung erst nach der Berechnung der "während des Lesens"-Datensätze berechnet wird.
Aufgrund des geänderten Verhaltens kann es erforderlich sein, Ihre Berichte mit der Funktion WhileReadingRecords zu aktualisieren, damit Sie das gleiche Ergebnis wie mit früheren i-net Crystal-Clear-Versionen erhalten. Es ist leider notwendig, diese Verhaltensänderung vorzunehmen, da das alte Verhalten nicht korrekt war.
Um herauszufinden, welche Berichte geändert werden müssen, stellen wir ein Tool namens EvaluationTimeChecker mit unseren Java-Quellcode-Beispielen zur Verfügung (siehe: Verzeichnis samples.formula), das während des Setups installiert werden kann und Sie auf alle Ihre Berichte hinweist, die in der Version 9 ein geändertes Verhalten aufweisen werden. Für die Abwärtskompatibilität haben Sie im Konfigurationsmanager die Eigenschaft "Kompatibilitätsebene". Bitte setzen Sie den Wert auf "kompatibel zu Version 8.x", um das alte Formelauswertungszeitverhalten beizubehalten.
Beachten Sie, dass zwei Formeln, die die gleiche Auswertungszeit haben, in der Reihenfolge ausgewertet werden, in der sie erstellt wurden. Angenommen, Sie haben zwei "Vor dem Lesen"-Formeln in Ihrem Berichtskopf - die erste, die Sie erstellt haben, wird vor der zweiten ausgewertet, auch wenn die zweite über der ersten steht.
Unterlegen von nachfolgenden Abschnitten
Der Algorithmus für "Unterlegen nach Abschnitten" wurde umgeschrieben, um die korrekte Definition zu implementieren. Dadurch kann sich die Ausgabe Ihrer Berichte ändern, wenn Sie von Fehlern in der alten Implementierung betroffen waren. Ein Vorteil ist, dass Sie nun ohne Probleme Berichte mit Wasserzeichen erstellen können. Wenn Sie ein Wasserzeichen erstellen möchten, müssen Sie lediglich einen ersten Abschnitt zum Bericht/Seitenkopf hinzufügen und für diesen Abschnitt "Folgende Abschnitte unterlegen" aktivieren. Sie sollten das Bild entweder im Bericht oder im Seitenkopf platzieren, je nachdem, ob Sie ein Wasserzeichen pro Bericht
oder eines pro Seite.
Verbessertes Berichtsdateiformat
Seit Version 9 verwendet i-net Crystal-Clear ein komprimiertes Dateiformat für die Berichtsvorlagen (.rpt), ähnlich dem OpenDocument zip-Dateiformat. Dieses neue Berichtsdateiformat war eine Voraussetzung für neue Funktionen wie die Berichtsvorschau und Übersetzungsressourcen pro Bericht. Mit diesem Format wurde die Leistung insbesondere bei großen Berichten verbessert, da die Dateigröße kleiner und schneller ist. Außerdem sind wir mit diesem Format offen für weitere Ergänzungen zu den Berichtsvorlagen.
Java Version
i-net Crystal-Clear and i-net DesignerXML version 8.x require at least Java 5. If your application runs with an older version of Java (version 1.4.2 or earlier), you should migrate your application to Java 5 before migrating to version 8 of i-net Crystal-Clear.
API Changes
Added Classes
- com.inet.report.config
- Configuration
- ConfigurationManager
- LicenseKeyInfo
- com.inet.report
- Chart2
- com.inet.report.chart
- All classes in this package and in it's sub packages
Added Methods
- com.inet.report.cache.Cache
- getFailureCause(ReportCacheKey)
- com.inet.report.Engine
- getStatus()
- com.inet.report.FieldElement
- getBaseUrl()
- setBaseURL(String)
- getBaseUrlFormula()
- setBaseUrlFormula(FormulaField)
- com.inet.report.ParagraphProperties
- getFirstLineIndentFormula()
- setFirstLineIndentFormula(FormulaField)
- getLeftIndentFormula()
- setLeftIndentFormula(FormulaField)
- getLineSpacingAbsoluteFormula()
- setLineSpacingAbsoluteFormula(FormulaField)
- getLineSpacingRelativeFormula()
- setLineSpacingRelativeFormula(FormulaField)
- getRightIndentFormula()
- setRightIndentFormula(FormulaField)
- com.inet.report.ReportProperties
- getReportLocale()
- setReportLocale(java.util.Locale)
- com.inet.report.Section
- addChart2(ChartStyle,int,int,int,int)
- com.inet.report.TextProperties
- getGlyphOrientationFormula()
- setGlyphOrientationFormula(FormulaField)
- getTextRotationFormula()
- setTextRotationFormula(FormulaField)
- com.inet.report.ValueProperties
- getDateFormatType()
- setDateFormatType(int)
- getDateFormatTypeFormula()
- setDateFormatTypeFormula(FormulaField)
- getTimeFormatType()
- setTimeFormatType(int)
- getTimeFormatTypeFormula()
- setTimeFormatTypeFormula(FormulaField)
- com.inet.viewer.ReportView
- getDefaultAttributeSet(int,int)
- print(PrinterJob,PrintRequestAttributeSet)
- com.inet.viewer.SwingReportView
- showPrintDialog(Component,PrinterJob,HashPrintRequestAttributeSet)
- com.inet.viewer.SwingReportViewer
- getPrinterDefaultFormatHandling()
- setPrinterDefaultFormatHandling(int)
Methods and Constants deprecated as of Version 8
The following list includes the methods that are deprecated in version 8 and should no longer be used. Please consult the Javadoc of the individual methods for information on which newer methods to use instead.
- com.inet.designer.DesignerDataModel
- openChartDialog(Chart)
- com.inet.report.AbstractValueElement
- getDateWindowsDefaultType()
- setDateWindowsDefaultType(int)
- getDateWindowsDefaultTypeFormula()
- setDateWindowsDefaultTypeFormula(FormulaField)
- setUseSystemDefaultFormat(boolean)
- getUseSystemDefaultFormat()
- setUseSystemDefaultFormatFormula(FormulaField)
- getUseSystemDefaultFormatFormula()
- com.inet.report.Chart
- all members of this class
- com.inet.report.ChartFormatProperties
- getDateWindowsDefaultType()
- setDateWindowsDefaultType(int)
- getDateWindowsDefaultTypeFormula()
- setDateWindowsDefaultTypeFormula(FormulaField)
- setUseSystemDefaultFormat(boolean)
- getUseSystemDefaultFormat()
- setUseSystemDefaultFormatFormula(FormulaField)
- getUseSystemDefaultFormatFormula()
- com.inet.report.DatabaseTables
- createDatasource(String,String,String,String,String,String)
- createDatasource(String,String,String,String)
- com.inet.report.Datasource
- dll_connectionByConfiguration
- getCatalog()
- setCatalog(String)
- getDll()
- setDll(String)
- getHost()
- setHost(String)
- getUsername()
- setUsername(String)
- getURL()
- setUrl(String)
- com.inet.report.Element
- getHyperlinkType()
- setHyperlinkType(int)
- com.inet.report.Engine
- setPath(String, String, String)
- setPath(java.net.URL)
- getGroupTree(int, int)
- com.inet.report.GroupTree
- getData(byte[],int,int)
- createErrorTree(boolean)
- com.inet.report.HyperlinkProperties
- NO_HYPERLINK
- FILE_HYPERLINK
- WEBSITE_HYPERLINK
- EMAIL_HYPERLINK
- FIELD_VALUE_HYPERLINK
- getHyperlinkType()
- setHyperlinkType(int)
- com.inet.report.RDC
- getCrystalClearPropertyPath()
- setConfigurationProperties(Properties)
- getConfigurationProperties()
- com.inet.report.Section
- addChart(int, int, int, int, int)
- com.inet.report.ValueProperties
- USE_WINDOWS_LONG_DATE
- USE_WINDOWS_SHORT_DATE
- NOT_USING_WINDOWS_DEFAULTS
- getDateWindowsDefaultType()
- setDateWindowsDefaultType(int)
- getDateWindowsDefaultTypeFormula()
- setDateWindowsDefaultTypeFormula(FormulaField)
- setUseSystemDefaultFormat(boolean)
- getUseSystemDefaultFormat()
- setUseSystemDefaultFormatFormula(FormulaField)
- getUseSystemDefaultFormatFormula()
- com.inet.viewer.SwingViewerContext
- SwingViewerContext()
Moved Methods
- com.inet.report.Element
- getManualFormatFormula() moved to AbstractValueElement.getManualFormatFormula()
- setManualFormatFormula(FormulaField) moved to AbstractValueElement.setManualFormatFormula(FormulaField)
Removed deprecated Methods and Constants
The following methods had been deprecated for longer than 2 major versions and have now been entirely removed in version 8 of i-net Crystal-Clear.
- com.inet.report.Area
- setSectionWillbePrinted(int)
- getSectionWillBePrinted()
- com.inet.report.Chart
- setXAxisSource(Field)
- getXAxisSource()
- com.inet.report.CrossTab
- dropColumn()
- com.inet.report.DatabaseTables
- *_JOIN
- addJoin(String, String, String, String, int )
- com.inet.report.Engine
- setPath(String)
- setPath(String, String)
- com.inet.report.Fields
- getGroupSortField(int)
- getGroupSortFieldsCount()
- com.inet.report.FormulaField
- getBasicSyntax()
- setBasicSyntax(boolean)
- com.inet.report.Group
- setKeepGroupTogether(boolean)
- getKeepGroupTogether()
- com.inet.report.RDC
- gc(Engine)
- com.inet.report.ReportProperties
- getPageWidth()
- setPageWidth(int)
- com.inet.report.ReportServletJSP
- props
i-net Crystal-Clear Configuration in Version 8
Preferences instead of crystalclear.properties
Starting in version 8 of i-net Crystal-Clear, crystalclear.properties are no longer used. All configurations are instead stored in the operating system's preferences – where these are located depends on the operating system. In Microsoft Windows, i-net Crystal-Clear uses the Windows registry, while on Unix systems the preferences are stored in the file system (/etc/.java, or ~/.java). Because of this change, it is now possible to comfortably store and manage configurations in a central place, you no longer have to work with various crystalclear.properties files.
Importing old crystalclear.properties
All existing crystalclear.properties files can be imported into a preferences scope (System, User, Temporary) with the new Configuration Manager. Note that if i-net Crystal-Clear will be started as a service, it is recommended to use the System scope since the i-net Crystal-Clear service will most likely be running as a different user.
When importing a crystalclear.properties file, its settings are completely copied into the configuration. The database driver DLL-properties, however, must first be converted into data sources in order for them to be used in version 8. An additional dialog will show the choices for converting these properties and will offer a choice
of data source configuration per database driver DLL. If no database driver DLLs are to be imported, the dialog can simply be canceled, otherwise you can skip the database driver DLLs you do not need by choosing "<do not import>". Also, for each data source Text body, an individual scope can be set (System, User, Temporary),
depending on the current read and write permissions. A context menu additionally offers help for the simple choosing of drivers and scopes. Please note that after this conversion of the properties, imported configurations do not contain the database driver DLL properties any more.
If you do not want (or are not able) to use the Configuration Manager GUI for importing your crystalclear.properties files, you can do the same via the command line. The program argument -importConfig will start the import process without displaying any window.
java -jar CrystalClear.jar -importConfig <name> <file>
In the argument <name> you must specify the scope and name of the configuration that is to be created, e.g. "System/Default" or "User/myConfig". Only scopes "System" and "User" are allowed.
The argument <file> must contain the path to a readable and valid properties file, e.g. crystalclear.properties.
Please note that the import by command line will not convert any DLL-properties to data sources. This can only be done by using the Configuration Manager.
Scopes
You can store your configurations in one of three different scopes: the System scope, the User Scope, and the Temporary scope. What this means "behind the scenes" for the storage will depend on the operating system your platform uses.
System Scope
The System scope is viewable by all users who have read access to system properties. On many systems, the System scope is only writable by administrators or users with system privileges. Typical uses of this scope would be for deployments on application servers which run as a different user than the normal user, and therefore could not see configurations stored in the User scope. It's also conceivable to store a system-wide scope for various different users in order to not have to create and configure multiple configurations for multiple users.
User Scope
The User Scope is only visible to the user it belongs to. This means configurations stored in the User scope by user A will not be visible to user B. This scope is useful for situations where there is only one user on the system, since the user scope is almost always writable and readable by that user.
Temporary Scope
Storing configurations in this scope will cause the configuration to only work as long as the session runs. As soon as the Java VM is terminated, the configuration will be lost. These configurations are not stored in the Preferences, but are rather held in memory as Properties objects.
Choosing a configuration to use...
...in i-net DesignerXML
In order to choose which configuration you wish to use in i-net DesignerXML, select the menu point "File –> i-net Crystal-Clear Options”. Here you can create, edit, delete, copy, import, and export configurations, as well as choose the configuration you wish to use in i-net DesignerXML with "Activate”.
...for the Report Server (Listener)
The i-net Crystal-Clear Listener will search for its configuration in the following order. As soon as a configuration is found, it is used until the configuration is changed in any way. In this case, the configuration is reloaded as soon as a new report is requested.
- If the Java system property "crystalclear.config” has been set, its value is used to locate a configuration. This name must have "USER” or "SYSTEM” as its prefix and then have the configuration name after a slash, for example:
"-Dcrystalclear.config=USER/myconfig"
"-Dcrystalclear.config=SYSTEM/mysystemconfig".
- If the Java system property "crystalclear.configfile” has been set, its value is used to locate a crystalclear.properties file. This file is then imported and used as a temporary configuration called "<temp copy>”.
- A configuration called "Default” in the User scope.
- A configuration called "Default” in the System scope.
- A configuration called "<Temporary Default>” in the Temporary scope.
If none of the above configurations could be found, a temporary, empty configuration is created and set. Note that this configuration will only have default configuration values and no license key, so it will not be possible to display reports with a Listener running with this temporary configuration.
To change the configuration a Listener is using once it is running, you can use the API of ConfigurationManager, e.g. ConfigurationManager.setCurrent(Configuration).
...for i-net Crystal-Clear running as Servlet
The i-net Crystal-Clear servlet will search for its configuration in the following order.
- There are two init parameters for the servlet in the web.xml. The first one has the name "crystalclear.config”. This enables you to set the configuration you wish to use. Its value's format is the same as for the listener: the name must have "USER" or "SYSTEM" as its prefix and then have the configuration name after a slash, e.g.: "USER/myconfig" or "SYSTEM/mysystemconfig".
If this first init parameter was not set or did not point to a valid configuration, the second init parameter is "crystalclear.configfile" and can specify a crystalclear.properties file with its full absolute path. This file is then imported into a temporary configuration called "<imported config>".
- The Java system parameters are checked for the same properties as for the Listener. Please consult the documentation of your application server for how to set Java system properties.
- A configuration called "Default” in the User scope.
- A configuration called "Default” in the System scope.
- A configuration called "<Temporary Default>” in the Temporary scope.
If none of the above configurations could be found, a temporary, empty configuration is created and set. Note that this configuration will only have default values and no license key, so it will not be possible to display reports with a servlet running with a temporary configuration.
Changing Configurations "On-the-fly”
Starting with version 8 of i-net Crystal-Clear, it is no longer necessary to restart the Listener or application server after changing a configuration property – i-net Crystal-Clear automatically detects the change in the configuration and reloads the configuration the next time a report is requested.
There are two ways to change a configuration:
Configuration Manager Tool
The Configuration Manager can be viewed either from within i-net DesignerXML (File –> i-net Crystal-Clear Options) or by starting it with the command "java -jar CrystalClear.jar". From within the configuration manager it is possible to create, edit, delete, and rename configurations. Remember that unless a specific
configuration is manually set as default, i-net Crystal-Clear will look for a configuration called "Default” in the user or system scope.
API
For information on changing properties programmatically, see the API
documentation to the classes ConfigurationManager and Configuration. To get
started, here is a simple code sample for setting a configuration and then changing
its properties:
ConfigurationManager manager = ConfigurationManager.getInstance();
Configuration c = manager.get(Configuration.SCOPE_USER,”myconfig”);
c.put("propertyXY”,”myvalue”);
...
manager.setCurrent(c);
For transferring to other systems, the data sources can be exported and imported from the data source manager. This is also possible using the public API of the class com.inet.report.config.datasource.DataSourceConfigurationManager.
Datasources and Configuration of Driver DLL's
In version 8 of i-net Crystal-Clear, the mapping between driver dll name and JDBC driver properties in crystalclear.properties were completely replaced by the data sources which were introduced in version 7. A data source describes all settings for a database connection. The saving of the password is optional. Data sources are
based on a similar concept to ODBC data sources.
GUI
The data sources can be edited with the Data Source Manager. This manager can be opened in i-net DesignerXML using the menu point "Database | Data Source Manager”, or with the Configuration Manager (the button on the bottom left). In the data source manager there are 3 scopes in which the data sources can be
stored, just like with the configuration manager.
Old Reports and Crystal Reports Templates
Old report templates (from before version 7) and Crystal Reports templates still have the old dll alias stored in the report. In order to open and run these reports, you will need pseudo data sources. These are created by the setup or when importing old crystalclear.properties. It is not possible to create reports on these
pseudo data sources (such as pdssql.dll).
The URL parameters such as "dll”, "host” and "catalog” only will work for old reports. The new parameter datasource works for all templates.
If this templates are saved or opened in the designer, a temporary data source is created and is stored as a copy in the report template.
Classic Viewer removed
The older Java report viewer of version 6 and older is no longer supported. If you did not migrate to the new Java report viewer in version 7, you will have to do so now.
JAR files for installation
The i-net Crystal-Clear runtime consists of the following libraries:
- **activation.jar ** - Activation Framework - used by scheduler
- **CCLib.jar ** - Core library of i-net Crystal-Clear
- **CrystalClear.jar ** - Report Engine - core library
- **jcommon.jar ** - Used by JFreeChart - core library
- **jfreechartCC.jar ** - JFreeChart library - core library
- **jhall.jar ** - JavaHelp - used by i-net DesignerXML
- **mail.jar ** - JavaMail - used by scheduler
- **crystalclear/CC-Viewer.jar ** - Java Report Viewer
Libraries of optional components:
- **lib/commons-logging-1.1.jar ** - used by JEuclid
- **lib/Fositex.jar ** - JDBC driver for simple text files
- **lib/JBarcodeBean.jar ** - JBarcode Java Bean
- **lib/jeuclid.jar ** - JEuclid - MathML Java Bean
- **lib/mysql-connector-java-3.1.12-bin.jar ** - JDBC driver for MySQL
- **lib/Sero.jar ** - JDBC driver for Oracle Server
- **lib/Sprinta.jar ** - JDBC driver for MS SQL Server
- **lib/Syto.jar ** - JDBC driver for Sybase Server
The following libraries are required if you like to embed the i-net Crystal-Clear report engine into a Java application or Java Servlet:
- CCLib.jar
- CrystalClear.jar
- jcommon.jar
- jfreechartCC.jar
- crystalclear/CC-Viewer.jar
If you use scheduler functionality then it is also necessary to add the files activation.jar and mail.jar to the class path.
To get these files execute the setup and install the Report Server - Runtime Library in a temporary directory.
New Chart API
The Chart has an entirely new API, the old one is deprecated.
The property "Compatibility Level" defines whether Charts will be converted during report loading so that they can be accessed using the new Chart API (see the class com.inet.report.Chart2).
If the value is set to "compliant to version 7.x" the old Chart-API (class Chart) can be still used for reports saved with i-net DesignerXML versions previous to version 8. You can combine also both Chart API's by using the ChartConverter class. See the following example code:
// The engine was initialized with a report with a chart in the first
section of report header
Section section =
engine.getArea(Engine.AREA_TYPE_REPORT_HEADER).getSection(0);
// Returns the old chart element
Chart chart = (Chart)section.getReportElement(0);
// Using the old API
chart.setStyle(Chart.BAR2D_STYLE);
// Converts the old chart to new, the old chart will be replaced with
Chart2
ChartConverter.replaceChart(chart);
// Returns the new chart element
Chart2 chart2 = (Chart2)section.getReportElement(0);
// Using the new API
BarPlot plot = (BarPlot)chart2.getPlot();
plot.setStyle(BarStyle.BAR2D_STACKED);
In contrast, if the value is set to "compliant to version 8.0 or later" then Charts can only be accessed using the new Chart-API (class Chart2).
Troubleshooting / FAQ
I don't see a crystalclear.properties file in our installation directory! How do I configure my i-net Crystal-Clear installation?
Starting in version 8 of i-net Crystal-Clear, crystalclear.properties are no longer used. All configurations are instead stored in the operating system's Preferences (e.g. the Registry when under Windows). To edit and manage your configurations, the easiest way is to use the Configuration Manager, by running the CrystalClear jar
file (e.g. java -jar CrystalClear.jar).
See Chapter i-net Crystal-Clear Configuration in Version 8 for more information.
I have entered a valid license key but still am receiving the error "No license key” or "No configuration found”!
Most likely the configuration with your license key is not being used by your i-net Crystal-Clear installation.
See Chapter Choosing a configuration to use... for information on how to determine which configuration is to be used by your i-net Crystal-Clear installation.
I don't see any database dll properties in the new configuration dialog! How do I configure my database connections?
The database dll properties were entirely replaced by data sources in version 8 of inet Crystal-Clear. To configure your database connections, use the Data Source Manager. See Chapter Datasources and Configuration of Driver DLL's for more information on this.
Note that importing old crystalclear.properties files will cause the dll properties to be imported into data sources. See Chapter Importing old crystalclear.properties for more information on importing crystalclear.properties files.
I have an application still using the old Chart API – using these API methods now causes an error! Do I have to change all of my code to the new API?
Version 8 of i-net Crystal-Clear supports an entirely new Chart API with many new features and an improved look to the charts. It is highly recommended to switch to the new Chart API to take advantage of these new features.
If you want to, however, you can make use of the "Compatibility Level” configuration property, and/or the ChartConverter class. See Chapter New Chart API for more information on this.
Informationen zu Änderungen
- Der Weblog-Datenquellentreiber erlaubt die Auswahl von Ordnern aus dem Drive, die
*.logund*.csvDateien enthalten. Diese können z.B. in der Ad-hoc Anwendung verwendet werden. - Die 'Namensfeld' Einstellung wird nun von Blasendiagramm und Streuung-Diagramm unterstützt.
- Für das PDF-Exportformat wurde die Standardversion der PDF-Datei von 1.4 auf 1.7 erhöht.
- Unterstützung für Basic-, Bearer- und OAuth-Autorisierung für JSON-, XML- und Weblog-Datenquellen, die von HTTP(S)-Endpunkten abgerufen werden, wurde hinzugefügt.
- Die Weblog-Datenquelle versucht nun, Einheiten aus der zweiten Zeile von CSV-Dateien zu erkennen, wenn allgemein bekannte Einheiten verwendet werden. Diese Verbesserung unterstützt die Kompatibilität mit der Spezifikation
CSV File Structure Reporting Format (ESS-DIVE). - Das Exportformat "E-Mail" unterstützt nun die vertikale Ausrichtung des Textes.
Behobene Fehler
- Dynamische NULL Werte in Formeln wurden nicht als Typ NULL erkannt, weshalb das generierte SQL fälschlicherweise
... = nullstatt... is nullenthielt. - In Kreisdiagramme wurde das Namesfeld nicht benutzt.
- Die Textinterpretation
HTML (erweitert)kann unter seltenen Umständen nur partielle Daten oder Daten aus den folgenden Datensätzen schreiben, wenn einZusammenhalten-Flag einer Sektion oder einer Area das Rendering auf eine neue Seite verschoben hat. - Für das PDF/UA-2-Exportformat wurden verschiedene Konformitäts- und Validierungsfehler behoben, die mit dem Tool veraPDF erkannt wurden.
Sicherheitskorrekturen
- Die Sicherheitsprüfung zum Blockieren unbekannter Datenquellen (wenn die
Option Unbekannte Datenquellen zulassendeaktiviert ist) funktionierte nicht für Nicht-JDBC-Datenquellen.
- Unterstützung für die PDF-Standards PDF/A-2b, PDF/A-3b, PDF/A-4, PDF/UA-1 und PDF/UA-2 beim PDF-Export hinzugefügt.
- Der Ausdruck CurrentFieldValue in der Formel für den benutzerdefinierten Gruppenname gibt für Datumswerte den Beginn des Gruppenintervalls zurück. Vorher war es der Wert der ersten Zeile der Gruppe.
- Unterstützt den Ausdruck CurrentFieldValue in der Formel für den benutzerdefinierten Gruppennamen in Kreuztabellenspalten/-zeilen.
- Hinzufügen eines vollständigen Systemformats für Datum und Uhrzeit. Bisher gab es nur kurze, mittlere und lange Systemformate.
- Unterstützung von
Vergrößerbarfür die Elemente einer Kreuztabelle hinzugefügt. - Unterstützung von
Vertikaler Ausrichtungfür Text Elemente hinzugefügt. - Unterstützung von
Separate Beschriftung pro Wertfür Kreuztabelle hinzugefügt.
Behobene Fehler
- Kuchendiagramme mit 'Für jeden Datensatz' benutzten nicht die Namesfeld Einstellung für die Einträge in der Chart Legende.
- Eine Regression führte dazu, dass
RecoveryConfigurationbeim Verwenden von-forceImportDatasourceoder-importDatasourceeineIllegalStateExceptionwarf und keine Datenquelle importiert wurde. - Performance-Verbesserung beim XLSX-Export für große Berichte mit benutzerdefinierten Formaten für Feldwerte.
- Eine Regression führte zu einem korrupten PostScript-Export über die Web-API.
- Weblog-Datenquellen erlauben auch das Parsen von *.csv-Dateien als Ersatz für den veralteten CSV-Treiber.
- Benutzer können Berichtsdateien, die im Exportformat "html.zip" erstellt wurden, direkt im Drive öffnen.
- Vergrößerbare Bilder, die über ihren übergeordneten Abschnitt hinausgehen, werden nicht mehr am Seitenende abgeschnitten, wenn sie auf die nächste Seite passen.
- Ein neuer Wert
fullmergewurde für den ParameterCellDistributionin den Exportformaten XLSX, ODS und XLS hinzugefügt. Dieser Wert ermöglicht es, alle Zellen eines Objekts zu einer einzigen zusammenzuführen. - Boxed Bar Chart wird unterstützt
- Bei linksbündigem Text werden auch die Leerzeichen am Ende der Zeile ausgegeben.
Additional report URL locationswird mit kompletten Ordnern und nicht nur mit einem einfachen startsWith geprüft.- Bei Divisionen in Formeln oder Summen werden die Zahlen nun mit einer höheren Toleranz in Festkommazahlen umgewandelt, um Rundungsfehler zu minimieren.
- Eingebettete Bilder (HTML Basic und Markdown) werden auch im bearbeitbaren DOCX-Exportformat ausgegeben.
- Subreports die nicht auf der top Position starten und wenn ein
ZusammenhaltenFlag greift, könnten auf der nächsten Seite nicht den gesamten verfügbaren Platz nutzen, sondern werden zu früh abgeschnitten. - ToWords-Formelfunktion für die indonesische Sprache hinzugefügt.
- Das Verhalten von „Nach SQL“ im Datenbank-Assistenten wurde verbessert, so dass auch Alias-Namen in Anführungszeichen erkannt werden und Verweise auf Spalten mit Alias-Namen besser angepasst werden.
- Eine Option zum Ändern der Tortenstückstärke wurde für Ringdiagramme hinzugefügt.
Behobene Fehler
- Einige Elemente einer SVG Grafik fehlten im PDF Format.
- Die Felder in Kreuztabellen enthielten Positionsrahmen, obwohl der Bericht als bearbeitbare Dateien im Microsoft Word-Format (DOCX) exportiert wurde.
- Verhindert eine seltene NullPointerException in der Cache-Verwaltung, die zu einem
Internal Server Error (500)führte. - SVG-Ausgabeformat für Berichte, die einen Prompt Dialog anzeigen.
- Kreisdiagramme mit „Ignoriere NULL-Werte“ und einer Formel für Farben verwendeten die falsche Farbe.
- Beim XLSX-Exportformat konnte das Zellformat durch eine Race Condition zufällig wechseln, wenn mehrere Berichte gleichzeitig gerendert wurden.
- Die Einrückung von Absätzen im HTML-Format war nicht sichtbar.
- Hyperlinks im PDF-Exportformat mit Verschlüsselung via Passwort waren fehlerhaft.
- Dynamische NULL Werte in Formeln wurden nicht als Typ NULL erkannt, weshalb das generierte SQL fälschlicherweise
... = nullstatt... is nullenthielt. - Eine Regression führte dazu, dass
RecoveryConfigurationbeim Verwenden von-forceImportDatasourceoder-importDatasourceeineIllegalStateExceptionwarf und keine Datenquelle importiert wurde. - Die Textinterpretation
HTML (erweitert)kann unter seltenen Umständen nur partielle Daten oder Daten aus den folgenden Datensätzen schreiben, wenn einZusammenhalten-Flag einer Sektion oder einer Area das Rendering auf eine neue Seite verschoben hat. - Performance-Verbesserung beim XLSX-Export für große Berichte mit benutzerdefinierten Formaten für Feldwerte.
- Eine Regression führte zu einem korrupten PostScript-Export über die Web-API.
Sicherheitskorrekturen
- Ermöglicht das Löschen des Master-Passworts. Die Master-Login-Schaltfläche wird jetzt über ein neues Flag ausgeblendet.
- PDF-Dateien, die mit Verschlüsselung exportiert wurden, konnten mit Safari ohne Passwort geöffnet werden, wenn nur das Benutzerkennwort festgelegt war.
- Beim Hinzufügen eines Subreports via Designer oder API, war die Option
Datenquellenkonfiguration im Bericht speichernimmer gesetzt. Jetzt wird der Wert des Hauptberichts übernommen. - Behebt eine XSS-Schwachstelle im HTML-Viewer mit POST-Parametern für Prompts und manipulierten Parameternamen.
- Das Crystal Reports 8.5 Flag "Convert DateTime to Date" wird nicht mehr unterstützt.
- Das Zxing-Barcode JavaBean unterstützt den Code GS1-Data-Matrix.
- MariaDB Connector/J Treiber wurde hinzugefügt.
- Unterstützung für
ReportServletJPentfernt - Der nicht funktionierende Export von JAR-Dateien, die auch den Report Viewer enthielten, wurde vom Server entfernt.
- Dynamische Aktualisierung der verfügbaren Report-Renderer-Formate, die als Standard-Rendering-Formate in der Konfiguration ausgewählt werden können, hinzugefügt.
- Neue Java-Annotation "@DoNotOptimize" für benutzerdefinierte Funktionen. Diese Annotation verhindert die Optimierung von Funktionen mit konstanten Parametern und damit auch, dass diese in jedem Fall einmal ausgeführt werden. Die Annotation sollte für alle Funktionen verwendet werden, die Daten verändern statt nur einen Rückgabewert zu liefern.
Behobene Fehler
- In HTML (advanced) Text gab es Probleme mit
display:inline-blockwelche unter Umständen unerwartet Umbrüchen beim rendern führten. - Schwarz/Weiß-Bilder wie QR-Codes fehlten beim Drucken unter macOS aus JavaViewer oder Designer.
Sicherheitskorrekturen
- Jeder Bericht im Drive waren für alle Nutzer ausführbar, auch ohne die Berechtigung
Alle Berichte ausführen.
- Transparente nicht sichtbare Objekte werden beim PDF/A Export nun ignoriert und nicht mehr sichtbar dargestellt.
- Das Zusammenführen von Parametern gespeicherter Prozeduren mit dem demselben Namen in unterschiedlichen Catalog/Schema wird verhindert.
- Die veraltete Datasource Property
driverLibrarywurde entfernt. - Im HTML-Viewer ist es nun möglich, mit der Suche mehr als 50 Einträge zu finden. Sobald der Benutzer alle Einträge bis auf 50 durchgegangen ist, wird ein weiterer Satz von 50 Einträgen im Bericht durchsucht.
- Die Umwandlung "Nach SQL" im Datenbankassistenten unterstützt jetzt auch "SQL Ausdrücke", die in Formeln genutzt werden.
- Vergrößerbare Bilder, die über ihren übergeordneten Abschnitt hinausgehen, werden nicht mehr am Seitenende abgeschnitten, wenn sie auf die nächste Seite passen.
- Bei Divisionen in Formeln oder Summen werden die Zahlen nun mit einer höheren Toleranz in Festkommazahlen umgewandelt, um Rundungsfehler zu minimieren.
- ToWords-Formelfunktion für die indonesische Sprache hinzugefügt.
Behobene Fehler
- Mehrere Konfigurationseinstellungen für das XLS-Ausgabeformat wurden erst nach einem Server Neustart verwendet.
- Zeichnungsoperationen in Unterberichten (z.B. Aufzählungszeichen in HTML) stellten den Kontext im Ausgabeformat für den JavaViewer nicht wieder her, wie z.B. Farben. Was zu fehlerhaften Farben im Bericht führte.
- Der HTML-Viewer änderte das Line-Spacing auf eine falsche Art, um die automatischen Skalierung der Schrift zu berechnen.
- Der Datentyp-Detektor für Datum- und Zeit akzeptiert für JSON- und XML-Datenquellen nur noch Jahre im Bereich von 0 bis 9999 als gültiges Datum.
- Regression: bei Nutzung des Oracle Thin Treibers wurden bei Stored Procedures keine Datenbankspalten mehr gefunden.
Wrong value for tag ConformanceLevelFehler behoben, wenn das FacturX ProfileBASIC WLoderEN 16931benutzt wurde.- XML-Datenquellen haben Inhalte verdoppelt, wenn die XML-Datei ein & enthielt, das als & kodiert war.
- Regression: Es war nicht möglich, einen Bericht mit dem URL-Parameter
file:zu öffnen, z.B.https://servername:port/file:/<path>/<reportfile>.rpt. - Wenn ein Unterbericht auf die nächste Seite verschoben wurde, um eine 'Zusammenhalten' Flag zu behandeln, begannen Linien und Boxen über mehrere Sektionen im Unterbericht an der oberen Position.
- Performance der SQL Generierung mit komplexen Formeln für Groupierung und Sortierung wurde verbessert.
- NullPointerException beim XLS Export mit Multi-Sektionen-Linien, die im ausgeblendeten Berichtskopfbereich starten.
- Einige Elemente einer SVG Grafik fehlten im PDF Format.
- Die Felder in Kreuztabellen enthielten Positionsrahmen, obwohl der Bericht als bearbeitbare Dateien im Microsoft Word-Format (DOCX) exportiert wurde.
- Schwarz/Weiß-Bilder wie QR-Codes fehlten beim Drucken unter macOS aus JavaViewer oder Designer.
- Beim XLSX-Exportformat konnte das Zellformat durch eine Race Condition zufällig wechseln, wenn mehrere Berichte gleichzeitig gerendert wurden.
- Hyperlinks im PDF-Exportformat mit Verschlüsselung via Passwort waren fehlerhaft.
- Korrektur der Darstellung von Checkboxen in PDF-Formularelementen.
- Das Häkchen wird nun auch dann angezeigt, wenn Einbettung für Schriftarten gewählt wurde und die Schritftart "ZapfDingbats' nicht vorhanden ist.
- Die Checkbox wird nun auch im "Maus gedrückt"-Zustand angezeigt und flackert nicht mehr.
- Dynamische NULL Werte in Formeln wurden nicht als Typ NULL erkannt, weshalb das generierte SQL fälschlicherweise
... = nullstatt... is nullenthielt. - Die Textinterpretation
HTML (erweitert)kann unter seltenen Umständen nur partielle Daten oder Daten aus den folgenden Datensätzen schreiben, wenn einZusammenhalten-Flag einer Sektion oder einer Area das Rendering auf eine neue Seite verschoben hat. - Performance-Verbesserung beim XLSX-Export für große Berichte mit benutzerdefinierten Formaten für Feldwerte.
Sicherheitskorrekturen
- Der Defaultwert der Einstellung "Erlaube unbekannte Datenquellen" (key permission.allowunknowndatasource) wurde von "true" auf "false" geändert.
- Sicherheitsupdate für CVE-2024-1597
- pgjdbc, der PostgreSQL JDBC-Treiber, ermöglicht es Angreifern, SQL einzuschleusen, wenn sie PreferQueryMode=SIMPLE verwenden. Beachten Sie, dass dies nicht der Standardmodus ist. Im Standardmodus gibt es keine Sicherheitslücke. Einem Platzhalter für einen numerischen Wert muss unmittelbar ein Minuszeichen vorangestellt werden. Nach dem ersten Platzhalter muss ein zweiter Platzhalter für einen Zeichenkettenwert stehen; beide müssen sich in derselben Zeile befinden. Durch die Konstruktion eines passenden String-Payloads kann der Angreifer SQL injizieren, um die Abfrage zu verändern und so den Schutz vor SQL-Injection-Angriffen durch parametrisierte Abfragen zu umgehen. Betroffen sind die Versionen vor 42.7.2, 42.6.1, 42.5.5, 42.4.4, 42.3.9 und 42.2.8.
- PDF-Dateien, die mit Verschlüsselung exportiert wurden, konnten mit Safari ohne Passwort geöffnet werden, wenn nur das Benutzerkennwort festgelegt war.
- Beim Hinzufügen eines Subreports via Designer oder API, war die Option
Datenquellenkonfiguration im Bericht speichernimmer gesetzt. Jetzt wird der Wert des Hauptberichts übernommen. - Behebt eine XSS-Schwachstelle im HTML-Viewer mit POST-Parametern für Prompts und manipulierten Parameternamen.
- Interpretation von Markdown-Text in den CommonMark- und i-net CoWork-Varianten hinzugefügt.
Behobene Fehler
- NULL-Werte der Show Value Formel werden nun ignoriert und nicht mehr als 'NULL' Zeichenkette gerendert.
- Verschiedene Probleme mit der Standard- und benutzerdefinierten Zahlenformatierung im Exportformat XLSX wurden behoben.
java.lang.IllegalArgumentException: Comparison method violates its general contract!behoben, die bei der Suchen im Viewer auftrat- Im HTML-Viewer wurde ein Stack-Overflow-Fehler erzeugt, wenn ein inkompatibler Standardzoom eingestellt und ein Unterbericht geöffnet wurde.
- Regression: bei Nutzung des Oracle Thin Treibers wurden bei Stored Procedures keine Datenbankspalten mehr gefunden.
- Das Rendering-Ausgabeformat Microsoft Word (*.docx) wird jetzt unterstützt
- Verbesserte Bildqualität im PDF-Ausgabeformat, wenn es nicht im JPEG- oder PNG-Format in der Berichtsvorlage gespeichert ist.
- Das Rendering-Ausgabeformat JSON wird jetzt unterstützt
- Das Rendern von Text als HTML-Advanced-Ausgabe bettet Bilder nicht mehr ein, sondern lädt sie herunter und referenziert sie. Der HMTL-Viewer unterstützt diese Bilder auch für URLs, die in der inlined css referenziert werden, z.B. für Hintergrundbilder.
- Kommentare zu MySQL-Tabellenspalten werden nicht mehr als Spaltenalias verwendet.
- Verbesserte Leistung der Parsing-Funktionen date/time und datetime in Formeln
- Continuous Stacked Bar Chart wird nun unterstützt
- Bei einfachen Charttypen kann bei ShowValue nun ein Wert per Formel angezeigt werden.
- Bilder in "HTML-erweitert" werden beim Export nach HTML als eigene Dateien gespeichert, statt sie ins HTML einzubetten.
- Transparente nicht sichtbare Objekte werden beim PDF/A Export nun ignoriert und nicht mehr sichtbar dargestellt.
- Regression: bei Nutzung des Oracle Thin Treibers wurden bei Stored Procedures keine Datenbankspalten mehr gefunden.
- MariaDB wurde zu den unterstützten Datenquellen hinzugefügt. Der Treiber MariaDB Connector/J muss hinzugefügt werden.
- Bei Divisionen in Formeln oder Summen werden die Zahlen nun mit einer höheren Toleranz in Festkommazahlen umgewandelt, um Rundungsfehler zu minimieren.
Behobene Fehler
- Ein Abschnitt mit aktivierter Option "Am Ende der Seite drucken" wurde nicht am Ende der Seite gedruckt, wenn das HTML-Ausgabeformat verwendet wurde und die Seite vor diesem Abschnitt leer war.
- Die Sortierung von Feldern funktionierte im HTML-Viewer nicht.
- Unter bestimmten Umständen traten im XLSX und ODS Export schmale leere Tabellenzeilen auf, wenn der Bericht horizontale Linien in der Nähe anderer Felder enthielt und diese nicht korrekt gerastert wurden.
- Array-Parameter von eigenen Formelfunktionen wurden immer als konstant angesehen. Deswegen wurden Formel-Felder in solchen Arrays nicht ausgewertet.
java.lang.IllegalArgumentException: Comparison method violates its general contract!behoben, die bei der Suchen im Viewer auftrat- Im HTML-Viewer wurde ein Stack-Overflow-Fehler erzeugt, wenn ein inkompatibler Standardzoom eingestellt und ein Unterbericht geöffnet wurde.
- Zeichnungsoperationen in Unterberichten (z.B. Aufzählungszeichen in HTML) stellten den Kontext im Ausgabeformat für den JavaViewer nicht wieder her, wie z.B. Farben. Was zu fehlerhaften Farben im Bericht führte.
Wrong value for tag ConformanceLevelFehler behoben, wenn das FacturX ProfileBASIC WLoderEN 16931benutzt wurde.- Wenn ein Unterbericht auf die nächste Seite verschoben wurde, um eine 'Zusammenhalten' Flag zu behandeln, begannen Linien und Boxen über mehrere Sektionen im Unterbericht an der oberen Position.
- Schwarz/Weiß-Bilder wie QR-Codes fehlten beim Drucken unter macOS aus JavaViewer oder Designer.
- Hyperlinks im PDF-Exportformat mit Verschlüsselung via Passwort waren fehlerhaft.
- Die Textinterpretation
HTML (erweitert)kann unter seltenen Umständen nur partielle Daten oder Daten aus den folgenden Datensätzen schreiben, wenn einZusammenhalten-Flag einer Sektion oder einer Area das Rendering auf eine neue Seite verschoben hat. - Performance-Verbesserung beim XLSX-Export für große Berichte mit benutzerdefinierten Formaten für Feldwerte.
Sicherheitskorrekturen
- PDF-Dateien, die mit Verschlüsselung exportiert wurden, konnten mit Safari ohne Passwort geöffnet werden, wenn nur das Benutzerkennwort festgelegt war.
- Behebt eine XSS-Schwachstelle im HTML-Viewer mit POST-Parametern für Prompts und manipulierten Parameternamen.
- Die Schriftersetzung für erweitertes HTML formatierten Text wurde verbessert. Die Ersetzung funktioniert jetzt auf Zeichenebene, genau wie bei anderen Texttypen
totalPageCountist in einer Trigger-Funktion auswertbar- Verbesserung von kontinuierlichen Diagrammen
- Unterstützung für Marker hinzugefügt
- Berücksichtigung des Linienstils "Keine", um nur Marker anzuzeigen
- Unterstützung für die Kombination von kontinuierlichen Diagrammen mit XY-Diagrammen hinzugefügt
Behobene Fehler
NullPointerExceptionbehoben, die auf der Konsole ausgegeben wurde, wenn die Protokollierung deaktiviert war
- Der Wortumbruch wurde verbessert, um den Textfluss natürlicher zu gestalten.
- Der Ausrichtungswert eines Feldes wird nun auch bei der Textinterpretation 'HTML-advanced' übernommen
- Neues Ausgabeformat hinzugefügt: Email. Es ist ein einfaches HTML-Format. Ein einzelnes Dateiformat, das als E-Mail-Text verwendet werden kann. Es kann mit dem URL-Parameter: init=email ausgelöst werden.
- Formel-Funktion AddAttachment(String,Binary) hinzugefügt. Sie kann verwendet werden, um eingebettete Dateien zum PDF-Ausgabeformat hinzuzufügen.
- Unterstützung für WebP-Bilder und andere Bildformate hinzugefügt. Das Plugin "ImageIO Extension" ist erforderlich. Es kann über den Plugin Store installiert werden.
- PDF-Export: Zeichenersetzung für eingebettete Schriften, die Zeichen in Codeblöcken enthalten, die nicht in der Codeblockliste der Schrift enthalten sind
- Wiederverwendung von Bildern beim Export eines eingebetteten PDFs nach PDF, reduziert die Gesamtdateigröße
- Bilder in HTML-Inhalten werden für den Druck nicht mehr herunterskaliert. Dies führt zu einer besseren Auflösung für Bilder in Exporten (z.B. PDF), kann aber zu einer größeren Dateigröße führen.
- Das Ergebnis eines Formelausdrucks wurde als Platzhalter in Ergebnisaktionen hinzugefügt. Er kann verwendet werden, um einen einzelnen Wert aus dem Bericht an den Aufgabenplaner zurückzugeben, der dann mit dem Platzhalter [report.formula] verwendet werden kann
- NoClassDefFoundError: Die Klasse com.inet.cache.internal.MemoryObserver konnte nicht initialisiert werden - aufgetreten bei OpenWebStart
- Festlegen eines benutzerdefinierten Produkttitels für die externe Darstellung
- Hinzufügen des WebAPI-Endpunkts "/api/reporting/report/render" zum Rendern von Berichten mit Token-Authentifizierung
- Kontinuierliche numerische Kategorieachse kann jetzt auch auf logarithmisch eingestellt werden
- Verwendung der korrekten Datenbankzeile für eingefügte Felder in Kreuztabellenbeschriftungen wie z. B. die Gesamtbeschriftung
- Unterstützung für den Export von CSV-Dateien, die größer als 2 GB sind, wurde hinzugefügt (Format csv und Daten)
- Hinzufügen von Unterstützung für gespeicherte Prozeduren für PostgreSQL
- Kommentare zu MySQL-Tabellenspalten werden nicht mehr als Spaltenalias verwendet.
- Unterstützung für das Dezimaltrennzeichen eines benutzerdefinierten Zahlenformats im XLSX-Format
- Transparente nicht sichtbare Objekte werden beim PDF/A Export nun ignoriert und nicht mehr sichtbar dargestellt.
- Regression: bei Nutzung des Oracle Thin Treibers wurden bei Stored Procedures keine Datenbankspalten mehr gefunden.
- Schwarz/Weiß-Bilder wie QR-Codes fehlten beim Drucken unter macOS aus JavaViewer oder Designer.
- Bei Divisionen in Formeln oder Summen werden die Zahlen nun mit einer höheren Toleranz in Festkommazahlen umgewandelt, um Rundungsfehler zu minimieren.
Behobene Fehler
- Der Verlust von Datenquellen nach einer
BackingStoreExceptioninPreferences.sync()wurde behoben - Der graue Hintergrund, der beim Drucken aus dem HTML-Viewer auftrat, wurde behoben
NullPointerExceptionbehoben, die auf der Konsole ausgegeben wurde, wenn die Protokollierung deaktiviert war- Array-Parameter von eigenen Formelfunktionen wurden immer als konstant angesehen. Deswegen wurden Formel-Felder in solchen Arrays nicht ausgewertet.
java.lang.IllegalArgumentException: Comparison method violates its general contract!behoben, die bei der Suchen im Viewer auftrat- Zeichnungsoperationen in Unterberichten (z.B. Aufzählungszeichen in HTML) stellten den Kontext im Ausgabeformat für den JavaViewer nicht wieder her, wie z.B. Farben. Was zu fehlerhaften Farben im Bericht führte.
- Wenn ein Unterbericht auf die nächste Seite verschoben wurde, um eine 'Zusammenhalten' Flag zu behandeln, begannen Linien und Boxen über mehrere Sektionen im Unterbericht an der oberen Position.
- Hyperlinks im PDF-Exportformat mit Verschlüsselung via Passwort waren fehlerhaft.
- Die Textinterpretation
HTML (erweitert)kann unter seltenen Umständen nur partielle Daten oder Daten aus den folgenden Datensätzen schreiben, wenn einZusammenhalten-Flag einer Sektion oder einer Area das Rendering auf eine neue Seite verschoben hat.
Sicherheitskorrekturen
- PDF-Dateien, die mit Verschlüsselung exportiert wurden, konnten mit Safari ohne Passwort geöffnet werden, wenn nur das Benutzerkennwort festgelegt war.
- Beim Hinzufügen eines Subreports via Designer oder API, war die Option
Datenquellenkonfiguration im Bericht speichernimmer gesetzt. Jetzt wird der Wert des Hauptberichts übernommen. - Behebt eine XSS-Schwachstelle im HTML-Viewer mit POST-Parametern für Prompts und manipulierten Parameternamen.
- PDF-Export: Die Rendering-Zeit wird als Erstellungszeitpunkt der PDF-Datei verwendet. In früheren Versionen war es der Erstellungszeitpunkt der RPT-Vorlage
- Der XLSX / ODS-Export erzeugt weniger sehr kleine Spalten. Dies kann zu Problemen führen, wenn die Berichtselemente nicht sehr gut ausgerichtet und auch sehr eng gestaltet sind
- Eingebettete Schriftarten behalten nun den ursprünglichen Schriftfamiliennamen. Dies kann zu einer unterschiedlichen Druckausgabe (Druckauftragsgröße) über den Java Report Viewer Client führen, wenn die gleiche Schriftart auf dem Client-System installiert ist
- Jpeg2000 kodierte Bilder werden unterstützt
- Schriftersetzung für PDF-Berichte verbessert, falls aktiviert
- Leistung von
DatabaseMetaData.getTables()verbessert - HTML-Ausgabe:
- Neue Implementierung von HTML-Advanced im HTML-Export hinzugefügt. Das Ergebnis wird nun von i-net Clear Reports korrigiert, wodurch weniger Raum für Rendering-Unterschiede im Client-Browser bleibt
- XLSX / ODS-Export:
- Cell-Distribution der Ausgabeformate XLSX und ODS komplett umgeschrieben
- Bei Verbundberichten mit URL-Parameter "reports" verwenden die Tabellenblätter in ODS/XLSX den Titel der zugrunde liegenden rpt-Datei. In älteren Versionen wurde der Titel der ersten rpt-Datei verwendet
- Web API: Upload und Überprüfung einer einzelnen oder mehrerer Dateiressourcen in das Repository möglich
- Apache Cassandra Datenbank wird als Datenquelle unterstützt. Die CQL (Cassandra Query Language) kann zum Abrufen von Daten verwendet werden
- MongoDB-Datenbank wird als Datenquelle unterstützt
- Leistung von DatabaseMetaData.getTables() verbessert
- Weblog Datenquelle hinzugefügt
- Es ist möglich, eine einzelne oder mehrere Dateiressourcen über die Web-API in das Repository hochzuladen und zu überprüfen
- Ein Bericht (Engine) kann über die .NET API auf einem lokalen Drucker ausgegeben werden
- Authentifizierung mit privatem Schlüssel für FTP-Aufgaben von Task Planner hinzugefügt
Behobene Fehler
- Einige im Bericht eingebettete PDF-Dateien werden im PDF-Export nicht korrekt angezeigt. Je nach Struktur der eingebetteten PDF-Datei können einige Bilder durch andere Bilder desselben PDF-Dokuments ersetzt werden
- ClassCastException in der Wartung mit MongoDB Persistenz aufgetreten
- In den "Optionen | i-net Clear Reports" sind Rendering-Probleme aufgetreten. Das Symbol "i-net Clear Reports" fehlte und der Dialog "Konfigurationen verwalten" wurde nicht korrekt angezeigt
- Der Dialog zur Eingabeaufforderung funktionierte im Berichts-Repository nicht, wenn ein Gastkonto verwendet wurde
Sicherheitskorrekturen
- PostgreSQL-Version aktualisiert, weil der CVE-2020-13692
- Verbesserte Leistung beim Einbetten großer Schriftdateien
- Datumsformate mit regionalen Einstellungen (z.B. en-UK) werden im Eingabeaufforderungsdialog unterstützt
- Verbesserte Kompatibilität für alte Speicherstände bei Dataviews
- Neue Benachrichtigungen werden nun direkt im Web-Client angezeigt, wenn die OS-Benachrichtigungen deaktiviert oder nicht möglich sind
SameSite=LaxAttribut für Login-Cookies gesetzt- Änderungen des Heap-Speichers, der Sprache, des Landes und der VM-Argumente funktionieren nun auch bei einem Server-Neustart über das Web-Interface. Vorher war ein Service-Neustart erforderlich
- Webanwendungen können nun als Progressive Web App (PWA) installiert werden
- Hinweis zur Konfigurationseigenschaft "Berechtigungen einschränken" im Dialog "Benutzer & Gruppen" hinzugefügt, denn wenn globale Berechtigungen nicht eingeschränkt sind, haben alle Benutzer administrativen Zugriff!
- Diagnose zeigt jetzt die Cache-Speicherauslastung an
- Wartung: Es ist jetzt möglich, Backups wiederherzustellen, die nicht mit der aktuellen Version erstellt wurden. Das Backup wird daraufhin überprüft, ob es mit der aktuellen Version kompatibel ist, und wenn ja, kann es wiederhergestellt werden
- Das Standard-Rendering-Format von AdHoc in der WebGUI wurde auf "PNG" geändert, um ein verlustfreies Ergebnis zu erzielen
- Verwendung der korrekten Datenbankzeile für eingefügte Felder in Kreuztabellenbeschriftungen wie z.B. die Gesamtbeschriftung
- ToWords-Formelfunktion für die ungarische Sprache fügt ein Leerzeichen als Tausendertrennzeichen hinzu
- Der Umbruchalgorithmus wurde für die Textinterpretation "HTML(advanced)" verbessert, um Umbrüche in Textzeilen zu verhindern
- Verwendung von getColumnLabel() anstelle von getColumnName() für DB2-Treiber Version 4 und höher. Dies hat Auswirkungen auf einen SQL-Befehl mit "AS"-Schlüsselwörtern auf Spalten
HTML-Berichtsbetrachter
- Prompt-Dialog wird mit den ersten Standard-Prompt-Werten vorausgefüllt
- Umbruchalgorithmus für Textinterpretation "HTML(advanced)" verbessert, um Umbrüche in Textzeilen zu verhindern
- Die Druckvorschau war leer, wenn das "HTML Viewer Module Toolbar"-Plugin aktiviert war
- Die Werte des Parameters defaultzoom wurden auf PAGE_FIT, PAGE_WIDTH und PAGE_HEIGHT geändert
- Der Gruppenbaum des HTML-Report-Viewers unterstützt mehrere neue Aktionen: Der Baum kann mit einer Umschalttaste geschlossen und durch Ziehen der Trennlinie in der Größe verändert werden. Die Einträge im Gruppenbaum können mit Hilfe einer Dreiecksschaltfläche vor jedem Eintrag erweitert und reduziert werden (Standard). Die Breite und Sichtbarkeit des Gruppenbaums wird im Browser für spätere Sitzungen gespeichert
- Remote Printing Plugin als Druckoption hinzugefügt, um den aktuellen Bericht auf dem Server zu drucken
- Berichte, die eine Eingabeaufforderung erfordern, werden im Internet Explorer 11 nicht korrekt geöffnet, nachdem der Dialog zur Eingabeaufforderung geschlossen wurde
- Der HTML Report Viewer exportiert nun Berichte mit mehr als 100 Seiten als PDF, anstatt sie über die Browserfunktion zu drucken
- Wenn eine Berichtsseite im HTML-Viewer nach dem Aktualisieren des Berichts nicht gefunden werden kann (out of range error), wird die letzte Seite des Berichts geöffnet. Der Viewer wird blockiert, bis der Bericht fertig gerendert ist
- Der CSV-Export aus dem HTML-Viewer mit benutzerdefinierten Trennzeichen, die auf "Andere" oder "Feste Spaltenbreite" eingestellt sind, funktioniert nicht
- Der Wert des Prompt-Parameters wurde dekodiert. Dies war problematisch für PropertyChecker-Implementierungen
- "Ungefangener URIError: URI malformed" oder "URIError: malformed URI sequence" traten auf, wenn ein Gruppenbaumknoten ein Sonderzeichen wie '%' enthielt und ein Drilldown auf diesen Knoten verwendet wurde
- Die Bildgröße erhöht sich, da die ursprünglichen Bilddaten nicht verwendet wurden
- Exportformat "HTML.ZIP" war nicht verfügbar, wenn nicht alle Exportformate für diesen Bericht erlaubt waren
- Zusätzlich zum Prozentwert sind nun die folgenden Werte möglich: "Bildschirm anpassen", "Seitenhöhe" oder "Seitenbreite"
- Prompt-Parameter wurden doppelt kodiert.
- Exportformat "HTML.ZIP" war nicht verfügbar, wenn nicht alle Exportformate für diesen Bericht erlaubt waren
- Zusätzlich zum Prozentwert sind nun die folgenden Werte möglich: "Bildschirm anpassen", "Seitenhöhe" oder "Seitenbreite"
- Prompt-Parameter wurden doppelt kodiert
- Der HTML-Berichtsbetrachter verwendet keine eingebetteten Schriftarten, um Schriftartmetriken zu erhalten
- "Ungefangener URIFehler: URI malformed" oder "URIError: malformed URI sequence" trat auf, wenn ein Gruppenbaumknoten ein Sonderzeichen wie '%' enthielt und ein Drilldown auf diesen Knoten verwendet wurde
- Korrektur für Microsoft IE/Edge Browser: Deaktivieren des Endlosmodus beim Rendern des Berichts; Anzeigen von "Maus nicht erlaubt" für deaktivierte Menüeinträge.
- Die Sprungposition für Suchergebnisse und den Gruppenbaum wurde falsch berechnet, wenn die Report-Viewer-Seite skaliert/gezoomt wurde.
- Der HTML-Berichtsbetrachter kann über Plugins angepasst werden. Weitere Informationen finden Sie im HTML-Viewer-Programmierhandbuch.
- Zeilen, die auf Seite 2 beginnen und sich durch mehrere Abschnitte ziehen, fehlten im HTML-Viewer, wenn der Bericht ein "N of M"-Element enthielt.
- Speichert die Zoomstufe, so dass sie nach einem Neuladen wieder eingestellt werden kann.
- Im HTML-Eingabedialog wurde bei manueller Eingabe einer zweistelligen Jahreszahl (z. B. 14) das Jahr als 0014 interpretiert.
- Die Position des Unterberichts war nicht korrekt, wenn die Seite ein Wasserzeichen enthielt und deshalb "Unterlegen des folgenden Abschnitts" für den Seitenkopf aktiviert war.
- Der HTML-Eingabeaufforderungsdialog wurde im Microsoft Edge-Browser unter Windows 10 nicht angezeigt.
- Zeilen, die mehrere Abschnitte kreuzen, fehlten auf Seite 2 und den folgenden Seiten, wenn der Bericht ein Element "Seite N von M" enthält.
- CSV-Export, wenn angefordert - war DATA, obwohl CSV eingestellt wurde.
- Mehrere Seitenformate im HTML Report Viewer und andere Exportformate werden unterstützt, wenn mehrere Berichte verwendet werden.
- XLSX-Export zum Exportdialog hinzugefügt.
- Einführung eines permanenten Links in das Exportmenü des HTML-Viewers. Er ermöglicht das Kopieren der aktuellen Exportkonfiguration. Die Schaltfläche kann über den URL-Parameter des Berichts angezeigt werden.
- Der HTML-Bericht-Viewer unterstützt die Formular-Authentifizierung innerhalb des Viewers selbst und nicht mehr vor der Anzeige des Viewers.
- IPv6 wird unterstützt.
- Unterstützung für Zeitzonen wurde dem HTML-Bericht-Viewer hinzugefügt. Dies wird derzeit nur vom Chrome-Browser unterstützt.
- Die Position von Unterberichten in Abschnitten mit aktiviertem "Unterlegen nach Abschnitt" war nicht korrekt.
- Je nach verwendetem Browser ist einer der folgenden Fehler aufgetreten: "TypeError: k.elementStyle ist keine Funktion" oder "Object doesn't support property or method 'elementStyle'".
- Ein Farbwähler für die Hintergrundfarbe von Bildexportformaten (nur bestimmte Browser) wurde hinzugefügt.
- Der Bildexport unterstützt jetzt RGB-Hex-Werte als Hintergrundfarben (Sie müssen den Parameter richtig kodieren).
- Die Schaltfläche zum Aktivieren/Deaktivieren von Promptonrefresh während der Anzeige des Berichts mit Prompt-Parametern wurde der Symbolleiste hinzugefügt. Sie kann mit dem URL-Parameter des Berichts "haspromptonrefresh=false" entfernt werden.
- Die Eigenschaften des Exportdialogs wurden um Hilfe-Tooltips ergänzt.
- Die Bericht-URL-Eigenschaft "defaultzoom" wird unterstützt.
- Je nach verwendetem Browser ist einer der folgenden Fehler aufgetreten: "TypeError: k.elementStyle is not a function" oder "Object doesn't support property or method 'elementStyle'".
- Die Schaltfläche "Drucken" wurde der Symbolleiste hinzugefügt.
- Export-Dialog hinzugefügt. Es ist jetzt möglich, die Exporteigenschaften zu konfigurieren.
- Unterstützt URL-Parameter "title", wenn kein Berichtstitel festgelegt wurde.
- Enthält einen Exportdialog zum Einstellen der Exporteigenschaften.
- Zoomstufen neu definiert.
- Sie können eine "Support-E-Mail-Adresse" in der Konfigurationsmanager-Kategorie "E-Mail-Einstellungen" konfigurieren, damit der HTML-Viewer bei Fehlern einen Link "Support anfordern" anzeigt. Sie können auch ein "subject"- oder "body"-Attribut zu dem Eintrag in der error.json hinzufügen, um die E-Mail vorzufüllen. Der Fehler und alle verfügbaren Daten werden dann ebenfalls in die E-Mail eingefügt.
- Das Anklicken einer Gruppe im Gruppenbaum des HTML-Viewers führte nicht zum Sprung in den Abschnitt, wenn die Seite noch nicht geladen war.
Behobene Fehler
- Exception "java.lang.IllegalStateException" mit Meldung "Not valid for write: id=..." aufgetreten
- Fehler bei abgelaufener Sitzung aufgetreten: IllegalStateException: Ungültig zum Lesen: id=xxx created=xxx accessed=xxx lastaccessed=xxx maxInactiveMs=xxx expiry=xxx
- PDF-Export: Zeichenersetzung für eingebettete Schriften verbessert, die Zeichen enthalten, die in Codeblöcken stehen, die nicht in der Codeblockliste der Schrift enthalten sind
- Regression in Diagnostics aufgetreten, da nur die ersten 8 Einträge in der Liste angezeigt wurden, da die Paginierung defekt war
- ORA-01000: Maximum Open Cursors exceeded - trat auf, wenn der Oracle JDBC-Treiber verwendet wurde
OutOfMemory- oderReportCache-Fehler traten aufgrund von Problemen mit der falsch-positiven Erkennung von zu wenig Speicher auf. Die Protokollausgabe enthält die Warnung: "Es gab eine Situation mit wenig Speicherplatz und möglicherweise wurden einige Aufträge abgebrochen" und möglicherweise andere nachfolgende Fehler- Es war nicht möglich, sich anzumelden, wenn eine localhost-URL im Chrome-Browser verwendet wurde, um die Weboberfläche zu öffnen
- Der Zugriff auf das Repository mit Login über WebDav hat unter Windows nicht funktioniert
- Falsche Konfiguration der PDF-Signatur führt zu einem fehlgeschlagenen Designer-Start
- Der WebDav-Zugriff auf das Berichts-Repository hat unter Windows nicht funktioniert. Es wurde kein Login angefordert
- Temporäre Fehler (Extenal visible URL '...' wurde nicht validiert) sind bei der Validierung der Private Cloud Lizenz aufgetreten
- PDF-Export: IndexOutOfBoundsException und NullPointerException traten bei eingebetteter OpenType-Schrift auf
- Chinesischer Inhalt wurde nicht gut rechts ausgerichtet, wenn Justified verwendet wurde
- PDF-Export:
- Chinesische Zeichen fehlten aufgrund eines Fehlers beim Wortumbruch, der breiter als das Feld war, bei Ersatzzeichen und Schriftersetzung.
- es trat eine "IllegalStateException" mit der Meldung "Unknown operation: com.inet.report.renderer.doc.controller.bk@0" auf, wenn:
- subreport TotalPageCount enthält und die letzte Instanz des Subreports keine Zeilen hat
- festplatten-Cache verwendet wurde
- XLSX / ODS-Ausgabe: Exception "java.lang.IllegalArgumentException mit Meldung x2 darf nicht kleiner sein als x1" aufgetreten, wenn der Bericht eine Kreuztabelle enthält
- XLSX / ODS-Export: Prozentzahl wurde falsch angezeigt (mit 100 multipliziert)
- Seltener Rundungsfehler beim Reduzieren der Skala einer Zahl um mehr als 9 Stellen in einer Formelfunktion
- Patches der SQL-Befehl zur Abfrage der Metadaten (Spaltennamen) war falsch, wenn die SQL-Anweisung Strings enthält, die Klammern enthalten, z.B.
REPLACE(A.FIELD,';)',')'). In diesem Fall wurdeWHERE 1=0nach derORDER BYKlausel hinzugefügt - Der Oracle-Tabellenquellenname mit einem Paketnamen wird immer als Name einer gespeicherten Prozedur und nie als Name einer Tabelle verwendet. Dies macht es möglich, den gleichen Namen für eine Stored Procedure und eine Tabelle zu verwenden
- Zeichnungsoperationen in Unterberichten (z.B. Aufzählungszeichen in HTML) stellten den Kontext im Ausgabeformat für den JavaViewer nicht wieder her, wie z.B. Farben. Was zu fehlerhaften Farben im Bericht führte.
i-net Designer
- Die folgenden Fehler traten manchmal im Remote Designer auf, wenn ein Bericht aus dem Repository geöffnet wurde: "Keine Repository-Konfiguration für Datei gefunden: "...rpt"" und "Nicht autorisiert. Bitte überprüfen Sie Ihre Berechtigungen und starten Sie den Designer ggf. neu.".
- Es war nicht möglich, ein 3D-Diagramm zu bearbeiten, da der Eigenschaftsdialog nicht geöffnet wurde
- Falsche Konfiguration der PDF-Signatur führt zu einem fehlgeschlagenen Designer-Start
- Der Fehler "
HTTP ERROR 400 Duplicate valid session cookies" trat beim Remote Designer auf
- Fehler "kann nicht auf die Klasse sun.print.SunAlternateMedia zugreifen" im Remote Designer, der mit Java 9 verwendet wird
- Unterstützung für die Windows-Einstellung "Große Schriftarten" im i-net Designer hinzugefügt, wenn dieser mit Java 9 verwendet wird
- Die Benutzerformel kann jetzt genauso benannt werden wie die Eigenschaftsformeln
- Remote i-net Designer benötigt das Adhoc-Plugin
- Der Remote Designer unterstützt nun das JNLP-Protokoll für einen direkten Start der JNLP-Datei. Die HTTP-URL bleibt als Fallback-Link verfügbar
- Ausnahme com.inet.cache.internal.CacheLoadException trat unter Unix auf, wenn 2 Instanzen laufen
- Falsche Fehlermarkierungen sind im Problemfinder aufgetreten. Dieser Fehler trat nur bei Formeln auf, die beim Laden eines Berichts aus dem Repository eine "benutzerdefinierte Funktion" verwendet haben
- Der Fehler "cannot access class sun.print.SunAlternateMedia" im Remote Designer mit Java 9 wurde behoben
- NullPointerException trat auf, wenn eine Bedingung im if then Operator nicht wahr war
- Bei einer langen Liste von Systemschriften brauchte der i-net Designer sehr lange zum Starten
- NullPointerException bei benutzerdefiniertem Look & Feel aufgetreten
- Hairline-Box ohne Hintergrund wurde in der Java-Ausgabe (Berichtsvorschau) nicht gedruckt
- Problem Finder warnt nicht, wenn alle Page Header Abschnitte zusammen länger als eine Seite sind, aber "Underlay Following Section" für einen der Page Header Abschnitte aktiviert ist
- NoSuchMethodError: com.inet.viewer.ViewerUtils.c() trat auf, wenn der Remote Designer von i-net Clear Reports aus gestartet wurde, das in einer Servlet-Engine wie Tomcat läuft. In diesem Fall war es nicht möglich, einen Bericht zu öffnen oder einen neuen Bericht zu erstellen
- Formel-Editor: NullPointerException trat auf, wenn für die in der Formel verwendeten Parameterfelder keine Werte gesetzt wurden
- NoSuchMethodError: com.inet.viewer.ViewerUtils.c() trat auf, wenn der Remote Designer von i-net Clear Reports aus gestartet wurde, das in einer Servlet-Engine wie Tomcat läuft. In diesem Fall war es nicht möglich, einen Bericht zu öffnen oder einen neuen Bericht zu erstellen
- Report Error [217] Unbekanntes Bildformat trat beim Hinzufügen eines kodierten HTML-Dokuments auf.
- Es war nicht möglich, eine MySQL Stored Procedure zum Bericht im i-net Designer hinzuzufügen.
- NullPointerException trat beim Öffnen einer alten rpt-Datei auf, wenn "Gruppenname anpassen" und "Formelwert verwenden" aktiviert waren, aber keine Formel angegeben war.
- Aufgrund eines Fehlers im Multicast-DNS (mDNS) wurden in der Dropdown-Liste in den Repository-Optionen nicht alle verfügbaren URLs für das Berichts-Repository angezeigt, wenn Client oder Server mehrere Netzwerkadapter haben.
- Bei Eigenschaftsformeln trat ein Speicherleck auf.
- Beim Kopieren und Einfügen eines Formelelements zwischen zwei Berichten wird die Formel nun auch eingefügt, wenn sie im Zielbericht nicht vorhanden ist.
- Java Beans zeigen das Ergebnis von vor dem Lesen der Eigenschaft forumlas.
- Es wird unterstützt, einen Zeilenpuffer größer als 999 zu setzen.
- Parameterfelder mit dynamischen (SQL) Standardwerten können auch Cascading Parent verwenden.
- Stored Procedure wird nicht ausgeführt, bevor der Dialog zur Parameterabfrage erscheint. Dies verbessert die Performance beim Hinzufügen großer Stored Procedures zum Report.
- Problem Finder Regel, die auf einen leeren Detailabschnitt prüft, wurde geändert. Multi-Abschnitts-Elemente werden nun berücksichtigt.
- Struktur der i-net Clear Reports Eigenschaften an die Struktur des Remote Configuration Manager angepasst.
- Parameterfelder wurden in einer Schleife im Datenbank-Assistenten angefordert, wenn die Anzahl der Parameter in einem SQL-Befehl auf 2 oder mehr erhöht wurde.
- Row Buffer lässt keine Werte größer als 999 zu.
- Das Aktualisieren von Stored Procedures im Datenbank-Assistenten hat nicht funktioniert, wenn die Stored Procedures keine Null-Parameter akzeptieren.
- Problemlöser: Es wurde eine Regel hinzugefügt, die vor mehrteiligen Elementen warnt, die nicht gerendert werden können, weil sie in einem "underlay following" Abschnitt beginnen.
- Alphanumerische Sortierung ist jetzt für interaktive Sortierung und Gruppen verfügbar.
- Neue Regel zum Problemfinder hinzugefügt - Warnung bei identischen überlappenden Elementen (was durch Copy & Paste passieren kann).
- Die Eigenschaften "Filterung deaktivieren" und "Sortierung deaktivieren" wurden aus dem Eigenschaftsdialog des Berichts entfernt. Sie werden nur noch angezeigt, wenn die Eigenschaften im aktuellen Bericht bereits eingestellt sind.
- Parameter-Eigenschaften: Doppelklicken Sie, um einen Standardwert für eine Bereichseingabeaufforderung hinzuzufügen - dies öffnet den Dialog "Bereich hinzufügen".
- Zusammenfassung Feld Eigenschaften: Ein aktiviertes Evaluate "On Change Of" für ein Gruppenfeld wurde in "For Each Record" geändert, wenn Reset "On Change Of" für ein anderes Feld mit Ausnahme von Gruppen aktiviert war, nachdem der Bericht erneut geöffnet wurde.
- Obwohl der Anmeldetyp "Datenbankanmeldung" eingestellt war, hat der Datenbankassistent diese eingestellte Verbindung nicht verwendet.
- Wenn Nimbus Look & Feel verwendet wurde und der i-net Designer mit Java 8 lief, dann verschwanden ausgewählte Baumknoten bei der Auswahl, und ein Popup mit der Textfarbe wurde nicht angezeigt.
- Eine deaktivierte "Laufende Summe" wurde nicht gespeichert, wenn "Auswerten - Für jeden Datensatz" aktiviert war und "Zurücksetzen - Bei Änderung eines Feldes" aktiviert war.
- Es war möglich, Kreuztabellen-Unterelemente zu löschen, ohne die Kreuztabelle zu löschen.
- Datenbank-Assistent:
- Es wurde nicht die Verbindung aus einer eingestellten LoginDatabase verwendet.
- Wenn Prompts in SQL-Befehlen verwendet wurden, wurden sie nicht abgefragt.
- SQL-Editor: Die OK-Schaltfläche war aufgrund einer ungültigen SQL-Anweisung nicht aktiviert.
- GUI-Sperre trat im Berichtsassistenten des Remote Designers auf.
- Dialogfeld "Zusammenfassung": Das Entfernen des Kennzeichens für die laufende Summe aus einem Zusammenfassungsfeld wurde nicht gespeichert, wenn ein Rücksetzfeld vorhanden war.
- Schritt-für-Schritt-Tutorials wurden im Freien Designer nicht angezeigt, wenn er mit Java 8 verwendet wurde.
- Der Schlüssel des übersetzten Textes, der mit der Formelfunktion "TranslateFixed" definiert wurde, wurde im Spracheditor nicht angezeigt.
- die Schaltfläche "Standardautor" wurde zur Kategorie "Zusammenfassung" im Dialog "Dokumenteigenschaften" hinzugefügt.
- Sortieroption zum Sortieren von String-Feldern nach ihrem alphanumerischen Wert zum Dialogfeld "Datensätze sortieren" hinzugefügt.
- Diagramm-Eigenschaften: Eigenschaft "Balkenabstand" zur Kategorie "Plot Specific" eines Balkendiagramms hinzugefügt.
- Gruppeneigenschaften: Alphanumerische Sortierung von STRING-Feldern kann jetzt auch für Gruppen verwendet werden.
- API-Methode EmbeddedUtils.getSelectedEngine() hinzugefügt. Sie gibt die aktuell ausgewählte Engine des Berichts zurück. Sie kann sich von getCurrentEngine unterscheiden, wenn ein Subreport ausgewählt ist.
- Es ist eine Lizenzausnahme mit der Datenquelle Report Data aufgetreten.
- die Ausnahme "Report file not found" trat im Datenbank-Assistenten auf, wenn die Datenquelle "Report Data" verwendet wurde.
- Ferngesteuerter Designer: Deadlock mit lokal gespeicherten Berichten konnte auftreten.
- Es trat eine Authentifizierungsausnahme auf, wenn der aktuelle Benutzer nicht das Recht hat, auf einen Bericht aus dem Repository zuzugreifen. Es wird nun ein Anmeldefeld angezeigt.
- Leere binäre Eingabeaufforderungen führten dazu, dass der Berichtsbrowser hängen blieb.
- Die Formatierungsfunktionen CURRENTFIELDVALUE und DEFAULTATTRIBUTE wurden nicht in der Baumstruktur auf der rechten Seite des Formeleditors angezeigt. Sie werden angezeigt, wenn die aktuelle Formel eine Eigenschaftsformel ist.
- Der Visual Database Wizard hat nie die eingestellte Verbindung von LoginDatabase verwendet.
- Wenn der i-net Designer unter Mac OSX ausgeführt wurde und der Formeleditor mit der Schaltfläche "Neu" im Feldbrowser geöffnet wurde, war es manchmal nicht möglich, Formeln im Formeleditor zu bearbeiten.
- SQLException: "Method not supported from this layout driver" trat auf, wenn LayoutDatasource verwendet wurde, um eine Ad-hoc-Berichtsvorlage im i-net Designer zu erstellen.
- Wenn Nimbus look&feel verwendet wurde und der i-net Designer mit Java 8 lief, verschwanden ausgewählte Baumknoten bei der Auswahl.
- Der Schlüssel des übersetzten Textes, der mit der Formelfunktion "TranslateFixed" definiert wurde, wurde im Spracheditor nicht angezeigt.
- Unterstützung für Schriftarten, die Teil einer Schriftfamilie mit speziellen Stilen wie Condensed oder Light sind, wurde hinzugefügt.
- Problemfindungsregeln hinzugefügt: 'Ein leerer Detailabschnitt könnte leere Seiten erzeugen' und 'Ungültige Prompt-Standardwertformel'.
- Formel-Debugger zum Formel-Editor im i-net Designer hinzugefügt. Sie können Haltepunkte setzen und eine Formel Schritt für Schritt durchgehen, um Fehler oder Logik in komplexen Formeln aufzuspüren.
- Kreuztabellen-Eigenschaften: Einfügen und Umordnen von Zeilen, Spalten und zusammengefassten Werten jetzt per Drag&Drop möglich.
- Wenn man einen Bericht im i-net Designer öffnete, bei dem 'Snap to Grid' als Standardeinstellung aktiviert war, wurden die Felder im Bericht neu angeordnet.
- Es war nicht möglich, den Wert der Eigenschaft "Kann wachsen" auf 0 zu setzen, nachdem er auf einen anderen Wert gesetzt wurde.
- Die Formeln für den Standardwert der Eingabeaufforderung haben die Werte des Bereichs nicht berücksichtigt.
- Es war nicht möglich, eine Datenquellenkonfiguration in der i-net Designer Free Edition zu erstellen, wenn diese unter Mac OS X ausgeführt wurde.
- Es war nicht möglich, ODS als Exportformat in den Einschränkungen der Berichtseigenschaften zu verbieten.
- Formeln für Prompt-Standardwerte berücksichtigten keine Bereichswerte.
- Formel-Editor: Veraltete benutzerdefinierte Formeln (@deprecated) sind als veraltet gekennzeichnet.
- Alle Tastenkombinationen für Einfügeaktionen im i-net Designer lauten jetzt ALT+SHIFT+ anstelle von STRG+ALT+, um Kollisionen zwischen Alt und Gr zu vermeiden.
- Java Bean Eigenschaftsformeln wurden in der Entwurfsansicht ausgewertet.
- Wenn Sie einen Bericht im i-net Designer öffnen, bei dem 'Snap to Grid' als Standardeinstellung aktiviert ist, dann wurden die Felder im Bericht neu angeordnet.
- Es war nicht möglich, eine neue Datenquelle im i-net Designer Datenquellenmanager unter Mac OSX zu erstellen.
- Es war nicht möglich, den Wert der Eigenschaft "Kann wachsen" auf 0 zu setzen, nachdem er auf einen anderen Wert gesetzt wurde.
- Gruppendialog: Im Dialog "Sortieren nach Zusammenfassung" konnte es vorkommen, dass die Dropdown-Liste "Zusammenfassungsfeld" leer war, nachdem eine andere Zusammenfassung in dieser Liste ausgewählt wurde.
- Popup zur Auswahl der Hintergrund- und Textfarbe wurde nicht angezeigt, wenn der i-net Designer mit Java 8 verwendet wurde.
- Eine deaktivierte "Laufende Summe" wurde nicht gespeichert, wenn "Auswerten - Für jeden Datensatz" aktiviert war und "Zurücksetzen - Bei Änderung eines Feldes" aktiviert war.
- ConcurrentModificationException trat auf, wenn versucht wurde, mehrere Felder im i-net Designer auszuwählen, der mit Java 8 ausgeführt wurde.
- Java 7 erforderlich.
- Interaktive Sortierung hinzugefügt, siehe Menü "Einfügen".
- Einbettung von HTML-, PDF- und SVG-Dateien in den Bericht unterstützt, siehe Menü "Einfügen".
- Suchfeld zum Feldbrowser hinzugefügt.
- Es ist nun möglich, das Einfügen eines Feldes im Bereich Kreuztabellenbeschreibung rückgängig zu machen.
- SummaryFields, die über Formeln erstellt werden, werden nicht mehr vom ProblemFinder überprüft.
- Die Warnung "Der Seitenkopf und/oder Seitenfuß ist größer als die Seite" wurde in einen Fehler geändert.
- Formel-Editor:
- Zusätzlich zu den Formel-Funktionsnamen kann nun auch nach Feldnamen gesucht und gefiltert werden.
- FormelExpander-Klassen, die keine sichtbaren Funktionen oder Konstanten enthalten, werden nicht mehr angezeigt.
- Veraltete Funktionen in der Formel-Expander-Klasse werden im Formeleditor als veraltet angezeigt.
- Übersetzung: Es war nicht möglich, die manuellen Feldnamen von Übersichtsfeldern in der Diagrammeigenschaften-Kategorie "Daten" zu übersetzen.
- ArrayIndexOutOfBoundsException trat auf, wenn eine Gruppe als Subreport-Link verwendet wurde.
- Wenn Sie einen Rückgängig- oder Wiederherstellungsschritt im Designer durchführen, verloren alle JavaBeans, die nicht sichtbar sind, ihre Einstellungen und verwenden die Standardwerte für ihre Eigenschaften.
- Die Parameterfeld-Eigenschaften "Prompting Text" wurden nicht gespeichert.
- Formel-Editor:
- Report Error "Die Variable "..." ist nicht die Variable, die durch den Schleifenkopf Zeile:... Spalte:..." in einer benutzerdefinierten Basisfunktion aufgetreten.
- Rückgabewert/Variable bei Grundfunktionen mit Großbuchstaben war falsch.
- Zusätzlich zu benutzerdefinierten Funktionen (Java) werden nun auch benutzerdefinierte Konstanten im Formeleditor unterstützt.
- Mit Hilfe des Übersetzers ist es nun möglich, die Standardwertbeschreibung von hinzugefügten Parameterfeldern zu übersetzen.
- Voreingestellte Eigenschaften im i-net Designer werden nun auf die Felder in einer neuen Kreuztabelle angewendet.
- Formel-Editor: Funktion "Text in Formeln suchen" hinzugefügt. Sie kann über das Popup-Menü oder die Tastenkombination CTRL+T verwendet werden.
- Tastaturkürzel "CTRL+E" für "Formel ändern" zu einem Formelfeld hinzugefügt.
- Es wird unterstützt, die Anzahl der zuletzt geöffneten Dateien in der Liste der Designer-Optionen zu ändern.
- Subreport Link-Dialog: IllegalArgumentException trat auf, nachdem der Eigenschaftsformeldialog abgebrochen wurde.
- Formel-Editor: F3 auf gemeinsam genutzte Variablen in einer Haupt- oder Unterberichtsformel hat keinen Verweis im entsprechenden Haupt- oder Unterberichtsbericht gefunden.
- Parameterfeld-Eigenschaften: Der Wert der Eigenschaft "Cascading Parent" wurde nicht korrekt gespeichert.
- Wenn Sie einen Rückgängig- oder Wiederherstellungsschritt im Designer durchführen, dann haben alle JavaBeans, die nicht auf dem Monitor sichtbar sind, ihre Einstellungen verloren. Die JavaBean-Eigenschaften werden auf die Standardwerte zurückgesetzt.
- Übersetzung: Es war nicht möglich, die manuellen Feldnamen von Übersichtsfeldern in der Diagrammeigenschaften-Kategorie "Daten" zu übersetzen.
- ArrayIndexOutOfBoundsException trat im JavaBean-Eigenschaften-Dialog auf, wenn Java VM Version 6 verwendet wurde.
- Die Eigenschaft "Description Field" in der "Dynamic(Field)" der "Default Values" des Parameter Field Properties Dialogs enthält nicht die Felder der gleichen Tabelle wie die Eigenschaft "Value Field".
- NullPointerException trat bei der Änderung von Feldeigenschaften in einer "Ad-hoc-Datenansicht" auf.
- Die Bildbreite in der Editor-Seite war falsch. Sie wurde für die bestmögliche Skalierung korrigiert.
- Java Bean-Eigenschaftsformeln wurden in der Entwurfsansicht ausgewertet.
- dialog "Sortieren nach Zusammenfassung": Das Listenfeld "Zusammenfassungsfeld" war nach dem Ändern des Wertes leer.
- der Menüeintrag "Alphabetisch sortieren" für Datenbankfelder im Formeleditor hat nicht korrekt funktioniert.
- Es war nicht möglich, den Wert der Eigenschaft "Kann wachsen" auf 0 zu setzen, nachdem er auf einen anderen Wert gesetzt wurde.
- Eine deaktivierte "Laufende Summe" wurde nicht gespeichert, wenn "Auswerten - Für jeden Datensatz" und "Zurücksetzen - Bei Änderung" eines Feldes aktiviert war.
- SQL-Editor:
- Es ist jetzt möglich, Formeln mit der Auswertungszeit "BeforeReadingRecords" im SQL-Editor des Datenbank-Assistenten zu verwenden.
- Jetzt ist es möglich, Strings Prompts ohne Anführungszeichen an einer beliebigen Stelle des SQL zu verwenden.
- Die Eigenschaften von Kreuztabellen wurden verbessert.
- Wenn das Seitenlimit überschritten wird, wird eine Warnseite am Ende des Berichts hinzugefügt.
- Der Seitenlayout-Dialog passt die Papierausrichtung nicht mehr an die Höhe/Breite des Papiers für benutzerdefinierte Formate an.
- Die Dateiauswahl des Designers stellt jetzt nur noch dann eine Verbindung zum Repository-Server her, wenn der Benutzer auf den entsprechenden Knoten klickt.
- SQL-Editor:
- String-Parameterfelder wurden in SQL-Abfragen nicht zitiert.
- Die Eigenschaft "String-Parameter zitieren" war im Remote Designer nicht standardmäßig aktiviert.
- Mehrere Bugs in Java Bean Eigenschaften traten auf.
- Der falsche (Standard-)Eintrag in einem Kombinationsfeld des Java-Bean-Eigenschaften-Dialogs wurde ausgewählt.
- Der JavaBean-Editor des Designers hat denselben Editor für dieselbe Klasse verwendet und verschiedene Editoren für verschiedene Eigenschaften desselben Typs ignoriert.
- Beim Speichern eines Berichts, der eine Java Bean enthält, gingen alle Einstellungen dieser Java Bean verloren, wenn sich die Klasse (jar-Datei) dieser Java Bean nicht im Klassenpfad befand.
- Die folgende Ausnahme ist manchmal beim Öffnen einer Crystal Reports rpt-Datei aufgetreten: "[Report Reader] Konnte Bericht <temp-dir>\designer<...>.rpt nicht konvertieren - Problem mit ReportReader. Starten Sie ReportReader neu. Reason: ERROR can not find a report file."
- Der Designer unterstützt nun Drag & Drop von Dateien in den Editor unter Unix-Betriebssystemen.
- Chart-Eigenschaften:
- Marker für Diagramme mit Achsen unterstützen nun Formeln. Die Formel kann dynamisch die Position (Start und Ende) des Markers bestimmen.
- SQL-Editor: Jetzt ist es möglich, Strings Prompts ohne Anführungszeichen an einer beliebigen Stelle der SQL-Anweisung zu verwenden, z.B. als Tabellenname.
- Die Konfiguration der Datenquelle wird neu geladen, ohne den Bericht erneut zu öffnen, wenn die Datenquelle beim Start des Designers nicht vorhanden war.
- Datei-Auswahl:
- Deadlock im Designer File Chooser konnte auftreten, wenn ein Netzlaufwerk nicht verbunden werden konnte.
- Beim Ziehen und Ablegen einer Datei in das Textfeld für den Dateinamen wurde der erkannte Ordner nicht ausgewählt und der Dateiname eingegeben.
- SQL-Editor: Die Eigenschaft "Quote string parameters" war im Remote Designer nicht standardmäßig aktiviert.
- Elemente nach unten ausrichten war fälschlicherweise eine Ausrichtung nach rechts.
- Nur die erste Spalte wurde dem Bericht hinzugefügt, wenn HSQLDB verwendet wurde und die SQL-Anweisung zwei Spalten mit demselben Namen oder Alias aus verschiedenen Tabellen enthält.
- Manchmal tritt beim Öffnen eines Berichts im i-net Designer eine NullPointerException auf.
- Nur die erste Spalte wurde dem Bericht hinzugefügt, wenn MySQL verwendet wurde und die verwendete Stored Procedure zwei gleichnamige Spalten aus verschiedenen Tabellen enthält.
- Java Bean Eigenschaften:
- In der Combobox des Java-Bean-Eigenschaften-Dialogs wurde ein falscher (Standard-)Eintrag ausgewählt.
- Der JavaBean-Editor des Designers hat denselben Editor für dieselbe Klasse verwendet und verschiedene Editoren für verschiedene Eigenschaften desselben Typs ignoriert.
- Beim Start des i-net Designers unter Mac OSX ist ein Deadlock aufgetreten, wenn die Java VM Version 7 verwendet wurde.
- Der Wert der Eigenschaft "Cascading Parent" im Parameterfeld-Eigenschaften-Dialog wurde nicht korrekt gespeichert.
- Wenn Sie einen Undo- oder Redo-Schritt im Designer durchführen, verlieren alle JavaBeans, die nicht auf dem Monitor sichtbar sind, ihre Einstellungen. Die JavaBean-Eigenschaften fallen auf die Standardwerte zurück.
- Java-Bean-Eigenschaftsformeln wurden in der Design-Ansicht ausgewertet.
- Das Attribut "Permissions" fehlte in der Manifestdatei des JNLPDesigners. Dies ist seit Java 7 Update 45 erforderlich.
- Eigenschaften "Standard-Syntax für neue Formeln" und "Standard-Null-Verhalten für neue Formeln" zur Kategorie "Extra" der Designer-Optionen hinzugefügt. Mit diesen Eigenschaften ist es möglich, das Standard-Nullverhalten und die Standardsyntax des Formeleditors einzustellen.
- Prompt-Beschreibungen werden nun nicht mehr automatisch als HTML interpretiert, so dass Zeichen wie spitze Klammern nun korrekt angezeigt werden. Wenn Sie die HTML-Formatierung für Ihre Prompt-Beschreibung verwenden möchten, stellen Sie Ihrer Beschreibung jetzt "<html>" voran.
- Eigenschaft "Leere Berichte unterdrücken" zu den Eigenschaften eines Unterberichts hinzugefügt.
- Verschiedene Verbesserungen und Fehlerkorrekturen für den Prompt-Editor-Dialog des Designers vorgenommen.
- Der Designer unterstützt jetzt Repository-URLs mit Weiterleitungen.
- Der Feldbrowser-Baum des Unterberichts wurde anstelle des Feldbrowsers des Hauptberichts angezeigt, wenn der Dialog "Unterberichtsverknüpfungen" über das Kontextmenü der Eingabeaufforderungsfelder des Unterberichts geöffnet wurde.
- Im Designer führte das erneute Ausführen eines Berichts in der Vorschau-Registerkarte dazu, dass die Fehlerleiste jedes Mal für einen Sekundenbruchteil "Ladefehler" anzeigte.
- Der Tooltip für Warnungen aus dem Problemfinder erscheint nun unterhalb der Warnung.
- Ein spezielles Feld vom Typ Zahl beachtet nicht mehr die "Dezimal"-Eigenschaften, die in den Standardwerten für Zahlenfeldelemente definiert sind.
- Das Tutorial "Wie man eine Datenquelle erstellt" hat auf Macs OSX nicht funktioniert.
- In einem deutschen Gebietsschema interpretierte der Eingabeaufforderungsdialog des Designers die Grenzlängen von Strings falsch.
- Manchmal konnte die ausgewählte Datei im Dateiauswahldialog des Designers nicht geöffnet werden, weil die Schaltfläche "Öffnen" deaktiviert war.
- Das Kontextmenü für Links im Datenbank-Assistenten war nicht sichtbar, wenn der i-net Designer unter Mac OS X läuft.
- Das Öffnen eines Unterberichts verhält sich nicht mehr wie eine Änderung des Berichts. Es wird ein Rückgängig-Schritt erzeugt, aber das Speichern ist nicht möglich, wenn keine anderen Änderungen vorgenommen wurden.
- Wenn im Designer eine Datenbankverbindung eine Zeitüberschreitung erfuhr und der Vorschauprozess durch Drücken der Escape-Taste abgebrochen wurde, konnte der Prozesslader dazu führen, dass der Designer für 20-30 Sekunden hängen blieb, bevor er einen Fehler anzeigte.
- Wenn ein Bericht im Designer ein falsches Datenbankpasswort enthielt, wurde der Passwortdialog nicht angezeigt, um das Passwort zu korrigieren, wenn versucht wurde, eine Vorschau des Berichts zu erstellen.
- Wenn ein neuer Bericht gespeichert wird und dann die Änderungen rückgängig gemacht werden und der Bericht erneut gespeichert wird, warnte der Designer den Benutzer fälschlicherweise, dass der Bericht ein altes Format hat.
- Der Dialog Seitenlayout wurde überarbeitet.
- Es gibt jetzt eine Vorschau, die alle Ränder, Lücken und Spalten mit Beispieldaten anzeigt.
- Viele Bugs wurden behoben.
- Der Dialog hat ein neues und verbessertes Look&Feel.
- Verbesserte Fehlerbehandlung.
- Neue Etiketten von Avery und Herma wurden hinzugefügt.
- Der Formel-Editor-Dialog wurde überarbeitet.
- Jetzt ist es möglich, mehrere Formeln im Formeleditor zu erstellen/zu bearbeiten, ohne ihn zu schließen und wieder zu öffnen.
- Der Dialog hat ein neues und verbessertes Look&Feel.
- Neue Formelfunktion 'SectionPosition' hinzugefügt. Sie gibt die relative Position des aktuellen Abschnitts auf der Seite zurück.
- Es ist möglich, im Formeleditor benutzerdefinierte Funktionen für den Bericht zu erstellen.
- Problem Finder hinzugefügt, um Warnungen im Berichtsentwurf anzuzeigen und zu beheben. Wenn er aktiviert ist, wird er auf der linken Seite unter dem Feldbrowser angezeigt.
- Neue Formelfunktionssignatur für 'ToWords' hinzugefügt. Sie ermöglicht die Einstellung des Übersetzungsgebietsschemas.
- Verläufe in Diagrammen werden unterstützt.
- Beim Starten der Free Designer Edition von i-net Clear Reports wird eine neue Konfiguration für den aktuellen Benutzer erstellt, falls noch keine vorhanden ist.
- Parameterfeld-Eigenschaften:
- Es ist nun möglich, Formeln für Standardwerte im i-net Designer oder über API einzugeben (siehe Klasse FormulaDefaultValue). Das bedeutet, dass Sie z.B. für eine Datumsabfrage eine Formel "currentdate" als Standardwert eingeben können. Dies führt dazu, dass das aktuelle Datum immer ein Standardwert für diese Abfrage ist.
- Funktion "Format Painter" hinzugefügt.
- Fehlerdialoge im i-net Designer zeigen jetzt Fehlermeldungen der Report-Engine einschließlich Fehlernummern an.
- funktion "Berichtsdaten-Cache" hinzugefügt. Er speichert die Berichtsdaten, um die Anzahl der Datenbankabfragen im i-net Designer zu reduzieren. Er kann in der Konfigurationsmanager-Kategorie "Performance" aktiviert/deaktiviert werden.
- Wenn derselbe Bericht im Designer mehr als einmal in der Vorschau angezeigt wurde, wurde der Bericht bei jeder zusätzlichen Vorschau zweimal gerendert.
- NullPointerException trat beim Öffnen eines Berichts im i-net Designer auf Unix-Systemen auf, auf denen kein /media-Ordner vorhanden ist.
- Willkommensseite: Es war nicht möglich, einen Bericht aus der Liste der letzten Berichte zu öffnen, der das Zeichen "#" in seinem Pfad enthielt.
- SQL-Editor: Neue Zeile nach dem Schlüsselwort "Select" wurde als Fehler erkannt.
- NullPointerException trat auf, wenn der i-net Designer als Remote Designer (JNLP) verwendet wurde und i-net Crystal-Clear auf JBoss ausgeführt wurde.
- Es trat ein Speicherleck im Diagrammeigenschaften-Dialog auf.
- Eine mögliche Deadlock-Situation beim Öffnen von Berichten wurde beseitigt.
- Das Anzeigen der Vorschau eines Berichts im Designer konnte den Designer für eine Weile blockieren, solange der Datenbankserver nicht geantwortet hat.
- Es wurde eine falsche Fehlermeldung angezeigt, wenn ein "Bericht als Ordner" in einem Verzeichnis gespeichert wurde, für das der Benutzer nicht die erforderlichen Berechtigungen hat.
- Bessere Fehlermeldung, wenn ein "Crystal Reports"-Bericht im Online Designer geöffnet wird.
- Bei der Eingabe von Zahlen als Parameter-Standardwerte im Parameterfeld-Eigenschaften-Dialog gab es Probleme mit Gebietsschemata, die nicht "." als Dezimaltrennzeichen verwenden.
- Problem Finder:
- hat den Status der Warnungen/Fehler beim Umschalten zwischen Haupt- und Unterbericht nicht beibehalten.
- zeigt keine falschen Warnungen mehr für On-Demand-Subreports an.
- zeigt eine Warnung über einen Fehler in einer Eigenschaftsformel auch dann an, wenn das zugehörige Element in der Zwischenzeit entfernt worden ist.
- IllegalArgumentException trat beim Ziehen eines Diagramms auf die Größe Null im i-net Designer auf.
- Aufgrund eines Fehlers wurde eine rpt-Datei überschrieben, wenn der i-net Designer mit "-new parameter" aufgerufen wurde und auf einen bestehenden Bericht zeigte.
- Die Java Bean-Vorschau in der Entwurfsansicht war falsch, wenn eine Eigenschaftsformel für die Skalierungseigenschaft der Java Bean verwendet wurde.
- In seltenen Fällen trat eine IllegalArgumentException auf, wenn ein Element in der Entwurfsansicht an eine Position gezogen wurde, an der es in den nächsten Abschnitt einrasten musste.
- Die Schaltfläche Speichern wurde nach dem Speichern des Berichts nicht deaktiviert, wenn der Bearbeitungsmodus eines Textfelds aktiv war.
- Der benutzerdefinierte Zusammenfassungsname im Diagrammeigenschaften-Dialog wurde bei der nächsten Verwendung des Diagrammeigenschaften-Dialogs überschrieben.
- Beim Klicken auf eine fehlerhafte Java-Bean (korrupte Bean) in der Design-Ansicht des i-net Designers wurde eine Exception ausgelöst.
- Kleinere Internationalisierungs- und Lokalisierungsfehler traten im Report Viewer auf.
- Wenn bei der Bearbeitung von Prompts ein kaskadierendes Parent für einen Prompt gewählt wurde, der eine andere Tabellenquelle hatte, konnte die OK-Schaltfläche des Dialogs grau werden und nicht wieder aktiviert werden.
- Nur die Änderung der Groß- und Kleinschreibung des Namens eines Parameterfeldes führte zu dem Fehler "Parameterfeldname existiert bereits".
- In der Kategorie "Visueller Datenbank-Assistent" des Report-Assistenten ist es nun möglich, einen neuen Befehl per Drag&Drop hinzuzufügen.
- Datenbank-Assistent: Schaltfläche "Verbindung bearbeiten" hinzugefügt.
- Die "Prompt Behavior"-Einstellung (konfigurierbar im Configuration Manager) "TAKE_VALUE_FROM_DEFAULT_VALUES" hatte keine Auswirkung auf den Designer. Wenn diese Einstellung in der aktuellen Konfiguration vorhanden ist, prüft der Designer auf Standardwerte in Eingabeaufforderungen und zeigt beim ersten Rendern eines Berichts keinen Eingabeaufforderungsdialog an, wenn jede Eingabeaufforderung einen Standardwert hat.
- Das Umbenennen von Formeln und Feldern in unorthodoxe Namen wie "@" oder " " konnte zu falschen Fehlermeldungen oder ungültigen Berichten führen.
- Es war nicht möglich, die Standardschriftart Bold von Feldelementen in einer Kreuztabelle in eine andere Schriftart, z. B. Standard, zu ändern. Nach dem erneuten Öffnen der rpt-Datei war die Schriftart wieder auf Bold gesetzt.
- Im Dialog "Parameterfeldeigenschaften" war es möglich, den Kalender zu öffnen, auch wenn die Kalenderschaltfläche deaktiviert war.
- Doppelte Einstellungen für die Position von Minus- und Währungssymbolen wurden entfernt.
- Der Fortschrittsbalken des i-net Designers wurde nicht für andere Sprachen als Englisch lokalisiert.
- Das Öffnen der Verknüpfungseigenschaften von Unterberichten über das Kontextmenü wechselt nun auf die richtige Registerkarte des Eigenschaftsdialogs.
- Fehler, der die Änderungen auf der Registerkarte Kreuztabellendaten nicht rückgängig machte, wenn die Schaltfläche "Abbrechen" im Eigenschaftsdialog gedrückt wurde.
- Die Namen der Treiber- und Datenbankklassen in der Kategorie "Datenquellen-Manager" des Optionen-Dialogs wurden nicht angezeigt, wenn es kein passendes Stylesheet für die aktuelle Konfiguration gab.
- Die Eigenschaftskategorien Datum, Zeit und datetime wurden für Zeilen- und Spaltenüberschriften in Kreuztabellen nicht angezeigt.
- Wenn derselbe Bericht im Designer mehr als einmal in der Vorschau angezeigt wurde, wurde der Bericht bei jeder zusätzlichen Vorschau zweimal gerendert.
- NullPointerException trat auf, wenn der eingebettete i-net Designer mit einem geöffneten Bericht geschlossen wurde.
- Bei der Initialisierung des Feldbrowsers traten mögliche Thread-Probleme auf.
- Das Schließen und erneute Öffnen des Designers innerhalb der gleichen Java VM konnte zu einer NullPointerException führen.
- Die Formel für die Eigenschaft "Bildschlüssel" wurde in Berichten nicht korrekt gespeichert und geladen, so dass sie bei jedem Laden eines Berichts neu eingegeben werden musste.
- Beim Öffnen des Diagrammeigenschaften-Dialogs eines Diagramms, das Eigenschaftsformeln verwendet, trat eine Endlosschleife von GUI-Ereignissen auf.
- Der benutzerdefinierte Zusammenfassungsname im Diagramm wurde bei der nächsten Verwendung des Diagrammeigenschaften-Dialogs überschrieben.
- Thailändische Zeichen wurden falsch angezeigt.
- Der Formeldialog wird nicht geöffnet.
- Im Dialogfeld für die Eigenschaften von Parameterfeldern war es nicht möglich, den Typ eines Parameterfelds von Zeit auf String zu ändern.
- Nur die erste Spalte wurde dem Bericht hinzugefügt, wenn HSQLDB verwendet wurde und die SQL-Anweisung zwei Spalten mit demselben Namen oder Alias aus verschiedenen Tabellen enthält.
- der Dialog "Sortieroptionen" erscheint nicht, wenn man auf die Schaltfläche "Sortieroptionen" im Dialog "Sortierung" der "Diagrammeigenschaften" klickt. Stattdessen trat eine NullPointerException auf.
- Das Attribut "Permissions" fehlte in der Manifestdatei des JNLPDesigners. Dies ist seit Java 7 Update 45 erforderlich.
- Formeleditor: Es ist nun möglich, eigene Formelfunktionen zu definieren. Diese Funktionen können in Crystal- oder Basic-Syntax geschrieben werden und können in jeder Formel wie eingebaute Funktionen verwendet werden.
- Zahleneigenschaft "Ein Währungssymbol pro Seite" wird unterstützt.
- Datenbank-Assistent: Ein Ersetzungsdialog wird im Datenbank-Assistenten angezeigt. Er unterstützt Sie beim Ersetzen und Verschieben von Tabellen und Stored Procedures, beim Bearbeiten von Befehlen und beim Anpassen der Berichte an die geänderte Datenbankstruktur nach einer Aktualisierung der Datenbankverbindung.
- Java Beans
- Customizer Komponente unterstützt.
- 2D Barcode JavaBean hinzugefügt.
- Beim Laden eines Berichts, der eine Java Bean verwendet, die im aktuellen Designer nicht verfügbar ist, wird nun eine Warnung angezeigt.
- Wenn die entworfene Höhe eines Abschnitts größer als die Seitenhöhe ist, wird der Hintergrund des Abschnitts rot und eine Warnung wird im Abschnitt angezeigt.
- Der Formeleditor im i-net Designer prüft nun konstante Teile der Formel sofort. Dadurch werden z.B. Fehler bei der Division durch Null bereits zur Entwurfszeit angezeigt.
- Datenbank-Assistent: Es ist jetzt möglich, die Werte der Stored-Procedure-Parameter über den Popup-Menüpunkt "Change Parameters..." zu ändern.
- Der Datei-Öffnen-Dialog erlaubt nun die Eingabe von absoluten oder relativen Pfaden. Bisher musste der Benutzer den Ordner auswählen und den Dateinamen eingeben.
- Der Dateiname im Datei-Öffnen-Dialog des i-net Designers wird nun während der Eingabe validiert.
- SQL-Ausdruck Feld zeigt einen Fehler an, wenn mehr als eine Spalte zurückgegeben wird.
- Der SQL-Editor für Abfragen wurde leicht verbessert, kleinere Macken wurden beseitigt.
- Eine NullPointerException ist aufgetreten, wenn die Zahlenkategorie im Eigenschaftseditor für mehrere ausgewählte Feldelemente mit unterschiedlichen Einstellungen im Währungstyp geöffnet wurde.
- Befehle, die auf eine Eingabeaufforderung mit einem Standardwert verweisen, konnten beim Aktualisieren der Spalten des Befehls eine ungültige SQL-Anweisung erzeugen.
- Bei der Bearbeitung eines Berichts, der sich auf einem entfernten Repository befindet, zeigte das Schriftfeld im Diagramm-Dialog nicht die auf dem Server, auf dem sich der Bericht befand, verfügbaren Schriftarten an, sondern die auf dem Client verfügbaren.
- Datenbank-Assistent: "Verbindung aktualisieren" hat die Datenbankobjekte nicht aktualisiert.
- Neuer Berichtsassistent. Es ist jetzt möglich, Berichte mit Diagrammen und/oder Kreuztabellen mit dem Berichtsassistenten zu erstellen.
- Neue Implementierung des Datenbank-Assistenten (in früheren Versionen: Visual Database Wizard).
- Der Menüpunkt "Datenbankverbindung" wurde entfernt. Verwenden Sie stattdessen den Datenbank-Assistenten.
- Die Menüstruktur der i-net Designer GUI wurde vereinfacht.
- Feld-Browser:
- Der Feldbrowser zeigt ein anderes Symbol für eine Formel an, wenn diese eine Warnung enthält.
- Es ist jetzt möglich, die Datenbankfelder im Feldbrowser alphabetisch zu sortieren.
- Formel-Editor:
- Automatische Vervollständigung für Formelfunktionen und Namen von anderen Formeln hinzugefügt.
- Warnmeldung hinzugefügt, falls eine Formel in einem WhileReading-Kontext (z. B. als Gruppe) verwendet wird, aber WhilePrinting-Funktionen (z. B. PageNumber) verwendet. Das Ignorieren dieser Warnung kann zu unerwarteten Ergebnissen führen, da die Funktion Null zurückgibt.
- Die Funktion color(r,g,b,a) (mit 4 Parametern) wurde in den Funktionsbaum aufgenommen.
- Leistungsverbesserungen beim Start von i-net Designer.
- Willkommensseite:
- Aktualisiert ihren Inhalt, sobald neue Inhalte vom Webserver heruntergeladen wurden.
- Enthält eine neue Feedback-Schaltfläche.
- Repository:
- Mit dem Repository ist es nun möglich, den i-net Designer ohne Installation auf einem Client zu nutzen.
- Der i-net Designer akzeptiert eine Verbindung zu einem Repository nur, wenn die Hauptversion von i-net Crystal-Clear gleich oder größer ist als die Hauptversion des i-net Designers.
- Berichte aus einem Repository können nun mit der Schriftartenliste gestaltet werden, wie sie auf dem Server und nicht auf dem Client-System vorliegt.
- Es ist jetzt möglich, die Dokumenteigenschaft "Bericht unterdrücken, wenn keine Zeilen" und die Eigenschaft "Titel" in den Eigenschaften der Unterberichte zu konfigurieren.
- Ein Doppelklick auf einen Abschnittsnamen im i-net Designer öffnet nun den Abschnittseigenschaften-Dialog und wählt den angeklickten Abschnitt vor.
- Parameterfeld-Eigenschaften:
- Verschiedene Verbesserungen in der Benutzerfreundlichkeit des Dialogs für die Eigenschaften von Parameterfeldern: Sie können schnell eine neue Eingabeaufforderung mit Strg+N erstellen, der Fokus wird automatisch auf den Namen der Eingabeaufforderung gesetzt. So können Sie schnell so viele Parameterfelder erstellen, wie Sie benötigen.
- Der Standardwerttyp eines neuen Parameterfelds ist jetzt String statt Number. Diese Änderung wurde vorgenommen, weil unsere Statistiken zeigen, dass Eingabeaufforderungen mit Zeichenfolgen fast 50 % häufiger vorkommen als Eingabeaufforderungen mit Zahlen.
- In den Feldeigenschaften ist es jetzt möglich, die Hintergrundfarbe eines Feldes dynamisch über eine Formel einzustellen.
- Der Parameter -open akzeptiert nun Berichte, die als "Reports as Folder" gespeichert wurden.
- Die Eigenschaftsdialoge enthalten nun auch die Kategorien Datum, Zeit, Datetime und Zahl für Feldelemente vom Typ Bereich, wie z.B. ein Datumsbereichsparameterfeld.
- Es ist jetzt möglich, die Felder im Datenbank-Assistenten alphabetisch zu sortieren.
- Neuer Dialog Optionen. Er enthält jetzt die i-net Crystal-Clear-Konfiguration, die Datenquellenkonfiguration und die Repository-Konfiguration. Außerdem ist es jetzt möglich, Eigenschaften zu suchen.
- Es ist möglich, mehrere Repository-Server im neuen Optionsdialog hinzuzufügen.
- Der neue Berichtsassistent unterstützt jetzt eine Historie mit den Einstellungen der letzten 5 erstellten Berichte in der aktuellen Sitzung.
- Wenn eine Eigenschaftsformel nicht geparst werden konnte, wurde der Eigenschaftsdialog nicht angezeigt.
- Ein ausgewähltes Berichtselement wurde aus dem Bericht entfernt, wenn die Löschtaste gedrückt wurde, um ein Feld im Feldbrowser zu löschen, z.B. ein Parameterfeld.
- Das Öffnen eines Berichts mit einer unbekannten Datenquelle und das anschließende Ändern der Datenquelle führte nicht dazu, dass die Änderung auf alle Unterberichte angewendet wurde.
- Es ist jetzt möglich, Ad-hoc-Datenansichten mit dem i-net Designer zu erstellen. Diese Ad-hoc-Datenansichten können in der Ad-hoc-Reporting-Webanwendung verwendet werden (siehe Remote Interface).
- Relative Pfade für "Dynamic Image Location" der Bildeigenschaften haben für Subreports nicht korrekt funktioniert.
- Die Farbauswahl hat die benutzerdefinierte Farbe nicht gespeichert, wenn sie für einen Abschnitt erstellt wurde.
- Die Schaltfläche "Speichern" in der Symbolleiste wurde nicht immer aktiviert, obwohl Änderungen am Bericht vorgenommen wurden.
- Übersetzer:
- Zur Ausführungszeit wurden die Übersetzungen für Parameterfelder und Strings in Formeln nicht verwendet.
- Der Rahmentitel der Entwurfsansicht wird jetzt unter Verwendung des übersetzten Berichts generiert, falls vorhanden.
- Der Spracheditor hat nicht den gesamten Text angezeigt.
- Die Eigenschaft "Mögliche Rückgängig-Schritte" wurde aus dem Dialog Designer-Optionen, Kategorie "Bearbeitung", entfernt.
- Die Eigenschaft "Manuelle Formatierung" im "Eigenschaftseditor", Kategorie "Text", war immer deaktiviert.
- Entwurfsansicht:
- Die Größenänderung am unteren Rand von Elementen, die sich über mehrere Abschnitte erstrecken, rastet am korrekten Raster ein, auch wenn ein Abschnitt eine benutzerdefinierte Höhe hat.
- Ein Doppelklick auf einen Unterbericht öffnet den Unterbericht in einer neuen Registerkarte anstelle des Eigenschaftsdialogs.
- Die Breite von Etiketten wurde falsch angezeigt, wenn das Layout "Mehrspaltig" oder "Etiketten" verwendet wurde.
- Leistungsprobleme traten auf, wenn die Datenbankverbindungsdaten ungültig waren.
- Die Schaltfläche für die Eigenschaft "Manuelle Formatierung" war immer deaktiviert.
- Aufgrund einer falschen Kodierung konnten Hyperlinks in der Berichtsvorschau einige Zeichen wie z. B. einen Doppelpunkt verlieren, wenn der i-net Designer unter Windows ausgeführt wurde.
- Die Scrollposition in der Entwurfsansicht hat sich geändert, wenn Rückgängig gemacht wurde.
- NullPointerExeption trat auf, wenn der Rahmeneigenschaften-Dialog für mehrere Textelemente mit unterschiedlichen Rahmentypen geöffnet wurde.
- Bericht als Ordner:
- Wenn ein Bericht, der Bilder enthält, als Ordner gespeichert wurde, war es nicht möglich, ihn wieder zu öffnen, nachdem der Ordner dem Subversion-Kontrollsystem hinzugefügt wurde.
- Wenn ein Bericht als Ordner gespeichert wurde, wurde die gesamte Ordnerstruktur überschrieben und nicht nur der Inhalt des Ordners. Daher wurden die .svn-Unterordner der Versionsverwaltung vollständig entfernt.
- Reports, die als "Report as Folder" gespeichert wurden, wurden nicht auf der Startseite angezeigt.
- Im i-net Designer konnten Berichte, die eine Weile zum Rendern brauchten, den Viewer blockieren, wenn ihr Fortschritt mehrmals hintereinander abgebrochen und neu gestartet wurde.
- Ausschneiden und Einfügen mit Bildern war nicht möglich. Das ausgeschnittene Bild wurde nicht korrekt eingefügt.
- Eine seltene NullPointerException trat beim Starten des i-net Designers auf, wenn der Benutzer, der den i-net Designer ausführt, keine Berechtigung zum Schreiben in das Temp-Verzeichnis hatte.
- Beim Umschalten zwischen mehreren Report-Editoren zeigte das Kombinationsfeld für die Schriftarten nicht die Schriftarten des aktuellen Editors, sondern die der älteren Editoren an, oder es blieb ganz leer.
- Berichtsassistent:
- Es war nicht möglich, gespeicherte Prozeduren im neuen Report Wizard der Version 10 zu verwenden.
Sicherheitskorrekturen
- Kritisches Sicherheitsupdate für Help Plugin (CVE-2020-11431)
- Behebung einer XXE-Schwachstelle für authentifizierte Benutzer mit Berechtigungen für Ad-hoc-Berichterstattung oder Remote-Designer (CVE-2020-12684)
- Mehrere XSS-Schwachstellen behoben (Anmeldung war nicht erforderlich).
- Behebung einer Path-Traversal-Schwachstelle, die den Zugriff auf Dateien innerhalb des Installationsordners und seiner Unterordner ermöglichte
Behobene Fehler
- PDF-Export: Fehler "OTF-Typ ist nicht gesetzt!" ist beim PDF-Export aufgetreten, wenn nicht einbettbare Schriftarten verwendet wurden.
- Regressionen:
- Alias-Namen haben in MySQL-Datenbanken nicht funktioniert.
- Das boolesche Format von älteren Berichten wurde nicht gelesen. Es wurde der Standardwert verwendet.
- Die falsche Gruppe in einem Drill-Down-Bericht wurde markiert.
- Es traten Probleme mit dem ASP.NET Proxy und .NET Framework 4 auf. Bei einigen Drill-Down- und Subreport-on-Demand-Berichten sind Fehler aufgetreten.
- Die Ausführungsreihenfolge von Formeln mit benutzerdefiniertem Zahlenformat und festem Währungssymbol war falsch.
- Postscript-Export: In seltenen Fällen kann es vorkommen, dass eine exportierte Postscript-Datei (Postscript Level 3) zwar angezeigt werden kann, aber beim Drucken ein Fehler auftritt.
- String Prompt wurde im SQL-Ausdruck nicht in Anführungszeichen gesetzt.
- In seltenen Fällen wurde eine Hintergrundfarbe von Unterberichtselementen nicht oder nur einmal angezeigt, wenn nur eine Hintergrundfarbe für die Berichtselemente verwendet wurde und wenn für mindestens einen Berichtsabschnitt eine Hintergrundfarbe eingestellt wurde.
- IndexOutOfBoundsException trat bei der Verarbeitung der Datensatzauswahlformel auf.
- Bei aktiviertem Bereich zusammenhalten hat der Java-Viewer in einigen Fällen nach einem Klick auf einen Gruppenbaumknoten die Seite vorher angezeigt.
- Ein Thread-Fehler zwischen Cache und Scheduler ist aufgetreten. Er führte zu dem sporadischen Fehler [Die Seite "x" liegt außerhalb des Bereichs (y)]
- Regression in Version 11.1: Ein Aufruf der Methode setData(ResultSet) hat eine Datenbankverbindung erstellt, wenn eine gültige DataSourceConfiguration vorhanden war.
- In seltenen Fällen wurde ein Minuszeichen vor Zahlenfeldern angezeigt, wenn der alte ReportReader zum Lesen von mit Crystal Reports erstellten rpt-Dateien verwendet wurde.
- ReportReader: Die Eigenschaftsformel für die Eigenschaft "Decimals" in Zahleneigenschaften wurde nicht korrekt gelesen.
- Planer: Alle Scheduler CustomActions wurden deaktiviert.
- Excel-Export: NullPointerException ist aufgetreten.
- Die Seitenfußzeile wurde im nicht druckbaren Bereich gedruckt, wenn die Berichtsfußzeile mit aktivierter Option "Unterlegen nach Abschnitt" nicht auf die Seite passte.
- Absteigende Sortierreihenfolge von Daten und die Sortierposition von Nullwerten war falsch.
- Eine Zeile über mehrere Abschnitte fehlte auf einer Seite in einem Unterbericht, wenn sie in der Gruppenfußzeile endete und keine Gruppenfußzeile auf dieser Seite vorhanden war.
- PDF-Export: Ein Bild in der exportierten PDF-Datei war beschädigt, wenn seine Position mit der Bildeigenschaft "Dynamic Image Location" festgelegt wurde.
- Datenexport: Einige Daten in Gruppenfußzeilen waren falsch.
- XLS-Export: Aufgrund von statischem Text in Teilberichten konnte es vorkommen, dass Excel einige exportierte .xls-Dateien in der geschützten Ansicht öffnete.
- JNDI-Datenbankverbindungen haben nicht funktioniert, wenn ein PropertiesChecker verwendet wurde.
- Eingebettete Schriftarten werden für die Berechnung der Metrik des TXT-Exports verwendet.
- Optimierung des Index für das DBRepository und Verhinderung von Mehrfachverbindungen für die Nutzung der Indexdatenbank.
- In einem sehr seltenen Fall ist ein Problem mit den Einstellungen aufgetreten, wenn i-net Clear Reports im Websphere Application Server verwendet wurde.
- Die Methode getProcedureColumns hat eine SQLException ausgelöst, wenn der JDBC-Treiber ein falsches Verhalten aufweist. Jetzt enthält i-net Clear Reports einen Workaround für dieses Problem.
- RTF-Export: Row Heighth war falsch. Bekannte Schriftarten werden dem entsprechenden Zeichensatz zugewiesen.
- Zeichen aus einer bestimmten Barcode-Schriftart (Code128) konnten im PDF-Export und im Java-Viewer nicht angezeigt werden.
- Die Ausnahme "Ungültiges Bildformat" trat auf, wenn dem Bericht ein bestimmtes JPG-Bild hinzugefügt wurde.
- IllegalMonitorStateException trat auf.
- RTF-Export: Einem langen Text wurden zusätzliche Leerzeichen hinzugefügt, wenn die Schriftart geändert wurde.
- HTML-Export:
- Eigenschaftsformel für die Hyperlink-Eigenschaft wurde nicht ausgewertet.
- In einigen Browsern wurden bei Feldern mit aktivierter Textinterpretation "HTML(advanced)" Scrollbars angezeigt.
- PDF-Export: Es gab ein Problem mit dem angegebenen Zertifikat für die PDF-Signatur, wenn IBM Java VM verwendet wurde.
- HTML-Export: NullPointerException aufgetreten.
- Es konnte vorkommen, dass die Gruppenfußzeile am oberen Rand der Seite gedruckt wurde, wenn "am unteren Rand der Seite drucken" und "zusammenhalten" für den Gruppenfußbereich aktiviert war.
- Die Berechnung der Mindestbreite für Schriftarten wie Chinesisch und Japanisch war falsch.
- NullPointerException beim PDF-Export aufgetreten.
- NullPointerException trat bei der Deserialisierung einer Engine auf, die bereits gerendert wurde.
- PDF-Export: Wegen einiger Sonderzeichen konnte eine exportierte PDF-Datei im Acrobat Reader angezeigt, aber nicht gedruckt werden.
- Invalid license key exception trat manchmal auf, wenn BouncyCastle JCE provider verwendet wurde.
- PDF-Export:
- Ein leerer Unterbericht mit aktivierter "Suppress if Blank"-Eigenschaft konnte die folgenden Daten verbergen.
- Eine zusätzliche leere Seite wurde erstellt, weil die Eigenschaft "Suppress if Blank" für einen leeren Unterbericht aktiviert war.
- Ein Speicherleck mit dem JDBC-Treiber von Oracle und Engine.setSQL ist aufgetreten.
- Die Funktion toWords konvertierte die Zahl 1000000 in die französische Sprache mit dem Präfix "Un".
- Das korrekte französische Zahlenwort lautet: Un Million.
- Speicherleck und Leistungsabfall traten nach einiger Zeit auf, wenn gestylte Schriftarten wie arialbd.ttf verwendet wurden.
- Hyperlinks funktionieren nicht auf der zweiten Seite, wenn sie Teil eines Feldes mit aktivierter Textinterpretation "HTML(advanced)" sind, das länger als eine Berichtsseite ist.
Geändertes Verhalten
- Es ist jetzt möglich, die SQL-Anweisung eines Befehls im Datenbank-Assistenten anzuzeigen, auch wenn die Datenbankverbindung ungültig ist.
- Formel-Editor: Die Begriffe "{field} = null" und "{field} <> null" können nun auch als Null-Checks verwendet werden.
- Der Zusammenfassungsdialog wurde überarbeitet.
- Der Designer akzeptiert jetzt auch einen Dateipfad ohne -open als Startparameter.
- Der Designer erstellt nun eine eigene Konfiguration namens "Designer_Default", wenn der Designer zum ersten Mal gestartet wird oder die Konfiguration, auf der der Designer basierte, gelöscht wurde. Diese i-net Clear Reports-Konfiguration ist mit verschiedenen Einstellungen vorkonfiguriert, die eher für die Arbeit am Berichtsdesign als für den Betrieb eines i-net Clear Reports-Servers sinnvoll sind.
- Java 6 erforderlich.
- Der Performance-Fehler beim Löschen einer Kreuztabelle mit vielen Zeilen oder/und Spalten wurde verbessert.
- Diagramm-Eigenschaften: Es ist nun möglich, verschiedene Farbformeln für kombinierte Diagramme festzulegen.
- Der Designer verwendet jetzt den Spaltenalias (falls eingestellt), um die Datenbankfelder anzuzeigen.
- Die Eigenschaft Balkenbreite in der Registerkarte Plot des Dialogs Diagrammeigenschaften funktioniert jetzt mit allen Konfigurationen des Datensatzes und auch mit gestapelten Balkendiagrammen.
- Dialogfeld Seitenlayout: Die verfügbaren Papierformate werden jetzt gruppiert angezeigt.
- Verschiedene Fehlermeldungen wurden verbessert und Details hinzugefügt.
- In verschiedenen Fällen "fror" der i-net Designer ein, bis die Datenbank Informationen zurückgab. Diese Informationen werden nun im Hintergrund abgerufen, so dass die Darstellung reaktionsschnell bleibt.
- Die Statusleiste zeigt Position und Größe des ausgewählten Berichtselements im Bereich der Entwurfsansicht an.
- Problem-Finder:
- ersetzt nicht mehr den kompletten Baum, sondern aktualisiert ihn, um den Expansions-/Selektionsstatus besser zu erhalten.
- ist nun in der Lage, gefundene Probleme von Unterberichten direkt aus dem Hauptbericht zu beheben.
- zeigt jetzt eine neue Warnung an, wenn die Bean-Klasse für eine verwendete Java-Bean nicht verfügbar ist.
API-Änderungen
- Entfernte Methoden
- AbstractDesignerDataModel.editElementsDialog(PropertyElementsHandle)
- AbstractDesignerDataModel.editElementsDialog( PropertyElementsHandle, PropertyEditor)
- AbstractDesignerDataModel.openPropertiesDialog(PropertyElementsHandle)
- DesignerDataModel.openPropertiesDialog(PropertyElementsHandle)
- Entfernte Methoden
- com.inet.designer.AbstractDesignerDataModel
- getCustomReportTypes()
- com.inet.designer.DesignerDataModel
- getCustomReportTypes()
- isOpenDriverLibrariesAllowed()
- setOpenDriverLibrariesAllowed(boolean)
- com.inet.designer.AbstractDesignerDataModel
- Entfernte veraltete Methoden
- com.inet.designer.DesignerDataModel
- chooseReportFile(Komponente)
- com.inet.designer.BasicDesignerDataModel
- chooseReportFile(Komponente)
- com.inet.designer.DesignerDataModel
SDK
- HTML-Viewer Drucken über PDF-Plugin: Es ist ein Fehler aufgetreten: Klasse nicht gefunden: com.inet.htmlviewer.printpdf.HTMLViewerPrintViaPDFPlugin
- Beispiele für PropertiesChecker und EngineFactory Plugins hinzugefügt
- API-Methode CertificateInfo.getInstance, Parameter keyStorePathOrUrl unterstützt Pfad oder URL. Keystore-Datei zum Signieren von PDF-Dateien kann als URL gesetzt werden
- Die C#-Implementierung auf Basis von IKVM ist veraltet. Sie wurde durch die ProcessBridge ersetzt
- Ordner samplereports hinzugefügt. Er enthält die Beispiel rpt Dateien.
Sicherheitskorrekturen
- Sicherheitsfix: Offene Redirect-Schwachstelle aufgetreten (CVE-2020-28150)
- Sicherheits-Fix: Jetty CVE-2020-27216
- In den Eclipse-Jetty-Versionen 1.0 bis 9.4.32.v20200930, 10.0.0.alpha1 bis 10.0.0.beta2 und 11.0.0.alpha1 bis 11.0.0.beta2O wird auf Unix-ähnlichen Systemen das temporäre Verzeichnis des Systems von allen Benutzern auf diesem System gemeinsam genutzt. Ein kollokierter Benutzer kann den Prozess der Erstellung eines temporären Unterverzeichnisses in dem gemeinsam genutzten temporären Verzeichnis beobachten und um die Erstellung des temporären Unterverzeichnisses wetteifern. Wenn der Angreifer das Rennen gewinnt, hat er Lese- und Schreibrechte für das Unterverzeichnis, das zum Entpacken von Webanwendungen verwendet wird, einschließlich ihrer WEB-INF/lib jar-Dateien und JSP-Dateien. Wenn aus diesem temporären Verzeichnis heraus Code ausgeführt wird, kann dies zu einer lokalen Schwachstelle führen, die eine Ausweitung der Rechte zur Folge hat
- Verhinderung möglicher JavaScript-Injektionen
- Sicherheitsfix für CVE-2020-13692
- PostgreSQL JDBC-Treiber (alias PgJDBC) vor 42.2.13 erlaubt XXE
Behobene Fehler
- Nullwert wird mit Vorzeichen (-0) angezeigt, wenn das Ergebnis aus einer Negation in einer Formel stammt
- Fehler "Report Error [1401] Illegales Argument für DATE sproc ..." trat bei SP-Parameter vom Typ DATE auf
- Arabischer Text im Textexport wurde abgeschnitten
- Sicherheitsfehler: Verbesserte Sicherheit, um 'efail'-Angriffe zu verhindern. Bild-URLs müssen in der Textinterpretation "Advanced HTML" gültig sein
- Behebung von Problemen, wenn NofM und PageCount nur in einem Unterbericht und nicht im Hauptbericht verwendet werden und der Festplatten-Cache aktiviert ist. Dies kann zu fehlenden Seiten im Hauptbericht führen und der Unterbericht verpasst die Ausgabe von NofM
- Überlappende Felder in Ad-Hoc-Berichten mit Summen in Gruppenfußzeilen traten auf
- Abgeschnittener arabischer Text trat beim Textexport auf
- Ursprüngliche SQLException wurde durch TransferException verdeckt
- Benutzerdefinierte Funktionen können nun in der Datensatzauswahl verwendet werden, um auf der Datenbank ausgeführt zu werden. Dazu müssen alle Parameter des Funktionsaufrufs Konstanten oder Promptfelder sein
- Verbesserte Zellenverteilung bei Kreuztabellen im ODS- und XLSX-Format
- Anmeldung von Mitgliedern der Windows-Gruppe Gast ist möglich
Aufgabenplaner
- Verwendung der Client-Zeitzone (falls vorhanden) zur Anzeige der nächsten Ausführungszeiten
- Platzhalter von einigen Triggern wurden hinzugefügt
- Ein Task kann nun mehrfach parallel ausgeführt werden
- XML-Export zum Task-Planer hinzugefügt
- Prompt-Werte als Platzhalter hinzugefügt, die z.B. für Berichtsnamen oder in E-Mail-Aktionen verwendet werden können.
- Es wird nun unterstützt, "Vorherige Ergebnisse nach X Tagen löschen" für eine Datei-Aktion zu setzen. Mit dieser Eigenschaft ist es zum Beispiel möglich, alte Backups zu löschen
- Fehlermeldung beim Auftreten des Engine Cache Timeouts verbessert. In früheren Versionen trat eine ArrayIndexOutOfBoundsException auf
- Berechtigungen für den Aufgabenplaner können nun über Gruppen gesetzt werden. Der Aufgabeneigentümer muss sich nach dem Update einmalig anmelden, um dies zu aktivieren
- Alle Standardwerte eines Prompt-Parameters werden gesetzt, wenn das Prompt-Feld bei neuen Berichtsaufträgen mehrere Werte unterstützt
- Die Rechte für den Aufgabenplaner können über Gruppenrechte in der App "Benutzer und Gruppen" gesetzt werden
- Es ist möglich, eine Aufgabe über die Web API zu exportieren/importieren
- Sortierung und Gruppierung von Aufgaben nach Eigentümer war falsch
- Wenn ein Eingabeaufforderungsfeld eines Berichts "Mehrere Werte" unterstützt, werden alle Standardwerte der Eingabeaufforderung zum Wertefeld hinzugefügt
Behobene Fehler
- Die Formatierung war fehlerhaft, wenn eine alphanumerische Sortierung für eine Gruppe verwendet wurde
- Verwenden Sie getColumnLabel() anstelle von getColumnName() für DB2 JDBC Treiber Version 4 und höher. Dies hat Auswirkungen auf SQL-Befehle, die Spalten-Alias ("AS"-Schlüsselwörter für Spalten) verwenden
- Hairline-Box ohne Hintergrund wurde in der Java-Ausgabe nicht gedruckt (Berichtsvorschau)
- "Verbindung prüfen" in den Datenquelleneigenschaften war sehr langsam mit Oracle Datenbank Version 12c Release 2
Sicherheitskorrekturen
- Behobene XXE-Schwachstelle für authentifizierte Benutzer mit Berechtigungen für Ad-hoc-Berichterstattung oder Remote-Designer (CVE-2020-12684)
- Mehrere XSS-Schwachstellen behoben (eine Anmeldung war nicht erforderlich).
- Behebung einer Path-Traversal-Schwachstelle, die den Zugriff auf Dateien innerhalb des Installationsordners und seiner Unterordner ermöglichte
- Die Formelfunktionen BytesFromFile und TextFromFile schränken nun den Zugriff auf Dateien ein, um einen Path Traversal für normale Benutzer zu verhindern. Die Datei muss von einem gültigen Berichtsspeicherort stammen, und wenn sie aus dem Dateisystem kommt, muss sie aus demselben Verzeichnis oder Unterverzeichnis wie der Bericht selbst stammen
- Die "Externe sichtbare URL", die für den EHLO-Befehl bei der Verbindung mit einem SMTP-Server verwendet wird
- Jede Subdomain (wie *.example.com) auf "Allowed Cross Origins" wird unterstützt
- PDF-Export: Dejvu-Sans wird als Standardschriftart für die Schrifteinbettung verwendet, wenn keine andere Schriftart im Schriftartenpfad verfügbar ist
- Korrektur der Erkennung von Wert-Datentypen für JSON-Datenquellen, wenn die Quelldateien Leerzeichen enthalten
- Nullwerte in JSON-Datenquellen werden unterstützt
- Neue Datenquellen werden nun im neuen Anwendungsbereich gespeichert
- Die Eigenschaft "driverLibrary" wurde aus der Liste der Eigenschaften für Data Sources entfernt. Zusätzliche Treiber für Datenbanken müssen über das "lib"-Verzeichnis der Installation bereitgestellt werden
- Thai-Unterstützung für die Formelfunktion ToWords
- Hinzufügen von Engine.SetData zur .NET Prozessbrücke
- Persistence Repository Implementierung hinzugefügt
- Benchmark für CPU- und IO-Bewertung in der Wartungsanwendung hinzugefügt
- Engine.SetData zur .NET-Prozessbrücke hinzugefügt
Datenquellen-Manager
Der Datenquellen-Manager wurde von Grund auf überarbeitet und verfügt nun über eine völlig neue Remote-GUI-Schnittstelle. Er unterstützt jetzt die Zuweisung von Datenquellenberechtigungen an bestimmte Benutzergruppen
- Völlig neue Schnittstelle des Datenquellen-Managers
- Neue Datenquellen werden immer im Anwendungsbereich erstellt
- Bestehende Datenquellen in den bisherigen User/System/Temp/Session - Scopes werden in der Remote GUI schreibgeschützt
- Die Zuweisung von Benutzergruppenberechtigungen für Datenquellen kann von Benutzern mit der Berechtigung User Manager durchgeführt werden.
- Datenquellen können einzeln über das Kartenmenü exportiert werden, und mehrere Datenquellen können mit Klick und STRG+Klick / CMD+Klick zum Auswählen und dann über die Schaltfläche "Export" im oberen Menü exportiert werden
- Der Import (oberes Menü → Hinzufügen → Importieren) von Datenquellen wird die neuen Datenquellen immer im editierbaren Anwendungsbereich erstellen
- Die früheren Scopes sind nur über die API verfügbar. Die Remote-Schnittstelle zeigt nur indirekt über den Eintrag "Sichtbarkeit" in der Datenquellenkarte an
- Standardwert der Eigenschaft "Unterstützt SQL92" in einer neuen Oracle-Datenquelle ist jetzt true
- Für eine neue Oracle-Datenquelle war der Standardwert der Eigenschaft "Unterstützt SQL92" falsch. Seit Oracle Version 9 wird die SQL ANSI 92 Syntax unterstützt. Daher ist der Standardwert jetzt true
- Der Datenquellen-Manager ermöglicht die Eingabe eines benutzerdefinierten Datenbank-/Katalognamens und schlägt gleichzeitig bestehende Namen vor
- Die Eigenschaft 'driver.group.basic' von undefined konnte nicht gelesen werden, wenn eine Datenquelle ohne Änderungen gespeichert wurde
Behobene Fehler
- Möglicher Deadlock beim Starten, wenn eine benutzerdefinierte Konfiguration über "clearreports.config" oder "clearreports.configfile" gesetzt wurde
- Berechtigungsprüfung mit Authentifizierungsgruppen für angemeldete Benutzer war falsch
- Mehrere Werte in der Eigenschaft "Andere VM-Argumente" im Konfigurationsdialog "Webserver" wurden nicht unterstützt
- Ein seltener Rundungsfehler trat auf, wenn die Skalierung einer Zahl in einer Formelfunktion um mehr als 9 Stellen reduziert wurde
- Der Zugriff auf das Repository mit Login über WebDav hat unter Windows nicht funktioniert
- OutOfMemory- oder ReportCache-Fehler traten aufgrund von Problemen mit der falsch-positiven Erkennung von zu wenig Speicher auf. Die Protokollausgabe enthält die Warnung: "Es gab eine Situation mit wenig Speicherplatz und möglicherweise wurden einige Aufträge abgebrochen" und möglicherweise andere nachfolgende Fehler
- Sicherheitsproblem "Cross-Site Scripting" aufgetreten
- Unbekannte Operation:
com.inet.report.renderer.doc.controller.bk@0trat mitTotalPageCount(NofM) in Subreports auf - Die Eigenschaft
RELOAD_ON_NEW_REQUESTfunktioniert nicht, wenn in der URL des Berichts kein Ausgabeformat angegeben wurde - "java.io.NotSerializableException: com.inet.font.truetype.i" trat auf, wenn ein Fontpfad gesetzt wurde und "Page NofM" oder PageCount in sehr großen Reports verwendet wurde. Dadurch konnte der Server hängen bleiben
- Regression aufgetreten: Spezialfeld "aktueller Benutzer" und die Formel WebUserName gibt den Anzeigenamen zurück. Jetzt wird wieder die ID des Benutzers und nicht der Anzeigename zurückgegeben
- Eingebettete Schriftarten in PDF-Dokumenten, die in einem Teilbericht eingebettet sind, fehlten im erstellten Bericht
- Das Layout von Text in Schriftarten von rechts nach links (Arabisch, Hebräisch) war falsch, wenn die Textteile unterschiedliche Stile haben (fett, kursiv, etc.). Es tritt bei den Ausgabeformaten auf: PDF, PostScript, Bild und Java Report Viewer
- Die Sortierung in Diagrammen mit 2 Gruppen war falsch, wenn der erste Kategoriewert nicht alle Serienwerte des Diagramms enthält. In diesem Fall war die Sortierung der Serien fehlerhaft
- PDF-Export: Eingebettete Schriftarten mit Glyphen im Bereich von 0xF000-0xF0FF wurden in der PDF-Datei nicht angezeigt
- CSV-Export: Leerer CSV-Export mit Kodierung UTF8 wurde mit MS Excel geöffnet. MS Excel zeigt den Inhalt "ï "¿" in der ersten Zelle anstelle einer komplett leeren Tabelle
- ORA-01000: Maximale Anzahl offener Cursor überschritten - trat auf, wenn Oracle JDBC-Treiber verwendet wurde
- NullPointerException im Debug-Modus, wenn ein Plugin keine Versionsinformationen hat
- Patching des SQL-Befehls zur Abfrage der Metadaten (Spaltennamen) war falsch, wenn der Befehl die Funktion
listagg(...) innerhalb der Gruppe ...enthält. In diesem Fall wurdeWHERE 1=0zur listagg-Funktion hinzugefügt - XLSX / ODS-Export: Prozentzahl wurde falsch angezeigt (mit 100 multipliziert)
- Patches der SQL-Befehl zur Abfrage der Metadaten (Spaltennamen) war falsch, wenn die SQL-Anweisung Strings enthält, die Klammern enthalten, z.B.
REPLACE(A.FIELD,';)',')'). In diesem Fall wurdeWHERE 1=0nach derORDER ByKlausel hinzugefügt - Umbruchalgorithmus für die Textinterpretation "HTML(advanced)" verbessert, um Umbrüche in Textzeilen zu verhindern
- Oracle-Tabellen-Quellbezeichner mit einem Paketnamen werden immer als Name einer gespeicherten Prozedur und nie als Name einer Tabelle verwendet. Dadurch ist es möglich, denselben Namen für eine Stored Procedure und eine Tabelle zu verwenden
- IllegalStateException: REGISTER-Fehler ist aufgetreten, weil eine Classloader-Schleife aufgetreten ist, wenn die i-net Clear Reports-Bibliotheken zum /lib-Verzeichnis hinzugefügt worden sind
- Das Layout von Text in Schriftarten von rechts nach links (Arabisch, Hebräisch) war in der Entwurfsansicht falsch, wenn die Textteile unterschiedliche Stile haben (fett, kursiv, etc.)
NullPointerExceptiontrat auf, wenn einerpt-Datei mit beschädigtem Unterbericht geöffnet wurde, die mit einer älteren i-net Designer-Version erstellt wurde- XLSX-Export: Der Zeilenversatz war auf dem dritten Blatt falsch, wenn "Neues Blatt pro oberster Ebene" aktiviert war
- Die automatische Schriftskalierung funktionierte im Internet Explorer nicht wie erwartet
- Schaltflächen zum Sortieren und Filtern der Aufgabenliste wurden nicht angezeigt, wenn die Liste des Aufgabenplaners sehr lang ist
- Berichtsserver wurde mit Kommandozeilenparameter "-importdatasource" oder "-forceimportdatasource" gestartet
Sicherheitskorrekturen
- Kritisches Sicherheitsupdate für Help Plugin (CVE-2020-11431)
- Behebung einer XXE-Schwachstelle für authentifizierte Benutzer mit Berechtigungen für Ad-hoc-Berichterstattung oder Remote-Designer (CVE-2020-12684)
- Mehrere XSS-Schwachstellen behoben (Anmeldung war nicht erforderlich).
- Behebung einer Path-Traversal-Schwachstelle, die den Zugriff auf Dateien innerhalb des Installationsordners und seiner Unterordner ermöglichte
- Ein Neustart in der Serverschnittstelle löst einen Neustart aller Knoten aus, wenn Datenbankpersistenz (MongoDb, Redis) verwendet wird
- Das Ereignisprotokoll enthält eine Spalte "Knoten", wenn es mit Datenbankpersistenz (MongoDb, Redis) läuft
- Let's Encrypt Zertifikatsanfragen funktionieren jetzt mit mehreren Servern und Datenbankpersistenz
- Standard-Schriftartenpfad" für PDF-Export und Java-Viewer hinzugefügt. Der Standard-Schriftartenpfad enthält DejaVu-Schriftarten für Monospaced-, Sans Serif- und Serif-Schriftarten. Die Einbettung von DejaVu-Schriften ist standardmäßig aktiviert
- Aufforderungsdialog zum Aufgabenplaner hinzugefügt
Behobene Fehler
- Konfigurationsdaten gingen verloren, wenn MongoDB für die Persistenz mit mehreren Berichtsserver-Instanzen verwendet wurde
- Die Synchronisierung von zwischengespeicherten Benutzerdaten, Gruppen, Aufgabenplanern und Wartungsdaten zwischen mehreren Knoten war bei Verwendung von Datenbankpersistenz (MongoDb, Redis) fehlerhaft
- Korrektur der Erkennung von Wertdatentypen für JSON-Datenquellen, wenn die Quelldateien Leerzeichen enthalten
- Im Chrome-Browser war es nicht möglich, das PDF-Ergebnis eines Berichts zu speichern, wenn es bereits im PDF-Viewer des Chrome-Browsers angezeigt wurde. Die Speicheraufforderung zeigt 'Speichern unter Typ: Alle Dateien (.)' statt PDF
- Text-Export: Charset wurde falsch eingestellt
- Die Eigenschaft RELOAD_ON_NEW_REQUEST funktioniert nicht, wenn in der URL des Berichts kein Ausgabeformat angegeben wurde
- NoSuchMethodError: 'void java.lang.SecurityManager.checkSystemClipboardAccess()' trat auf, wenn Java Report Viewer mit Java 11 verwendet wurde
- Hairline-Box ohne Hintergrund wurde in der Java-Ausgabe (Berichtsvorschau) nicht gedruckt
- Benachrichtigung bei geringem Speicherplatz hinzugefügt
- Das Gebietsschema des Clients wird für die Formatierung im Eingabeaufforderungsdialog verwendet, z. B. für die Datumsformatierung
- Der Webserver kann so konfiguriert werden, dass er zusätzliche Header-Felder mit HTTP-Antworten sendet, um z.B. HSTS zu erzwingen oder dem Web-Client benutzerdefinierte Server-Informationen zur Verfügung zu stellen
- Benutzer müssen Java nicht mehr separat installiert haben: der Designer unterstützt jetzt einen Protokoll-Handler, um einen lokal installierten i-net Designer anstelle der JNLP-Variante zu öffnen
- Es ist nun möglich, Benutzern oder Benutzergruppen die Berechtigung (Serverprint) zu erteilen, aus der Ferne auf bestimmten, mit dem Server verbundenen Druckern zu drucken. Jede Gruppe kann nun so eingestellt werden, dass sie nur auf ihrem eigenen Server/Netzwerkdrucker drucken kann
- Unterstützung mehrerer LDAP-Server bei der Authentifizierung als Fallback
- Konto-ID des Benutzers in der Ansicht "gespeicherte Daten" hinzugefügt
- Ein Master-Konto wird nach einem gültigen Login mit dem Master-Passwort angelegt, auch wenn die Einstellung "Neuen Benutzer anlegen" deaktiviert ist
- Neue Funktion "eingeloggt bleiben". Nach dem Login bleibt jeder Benutzer eingeloggt, bis er sich abmeldet. Nach 28 Tagen wird er automatisch abgemeldet. Es ist auch möglich, Benutzersitzungen im Modul "Benutzer und Gruppen" zu löschen, wenn Sie die Berechtigung zum Zugriff auf dieses Modul haben
- In den Benutzerdetails angezeigte Login-Sitzungen
- Es wird nun unterstützt, eine vorkonfigurierte Datenquelle für eine Datenbankserie im Aufgabenplaner auszuwählen. Die benutzerdefinierten JDBC-Einstellungen sind weiterhin möglich
Behobene Fehler
- Die Prozentformatierung im XLSX-Exportformat war falsch
- Warnung für erforderliches .NET Framework 3.5 entfernt
- Konfigurationsdaten gingen verloren, wenn MongoDB für die Persistenz mit mehreren Berichtsserverinstanzen verwendet wurde
- Endlosschleife trat auf, wenn der Berichtsbetrachter in einem iFrame verwendet wurde
- Text-Export: Kodierung von Linien und Boxen im Textformat verbessert
- Repository-Ereignisse zum Ereignisprotokoll hinzugefügt
- XML-Export zum Aufgabenplaner hinzugefügt
Behobene Fehler
- Endlosschleife mit einem mehrseitigen (PDF-)Dokument an einer dynamischen Bildposition aufgetreten
- Prozentformat im XLSX-Format zeigt 0% an
- FactoryConfigurationError: "Provider com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl nicht gefunden" aufgetreten
- Postscript-Export: Bilder mit 8 Bit Graufarbe werden falsch dargestellt oder Postscript-Drucker druckt sie nicht
- IllegalStateException aufgetreten mit Meldung "Unbekannte Operation: com.inet.report.renderer.doc.controller.bk@0"
- Sicherheitsproblem "Cross-Site Scripting" aufgetreten
- Ein seltener Rundungsfehler trat auf, wenn die Skala einer Zahl in einer Formelfunktion um mehr als 9 Ziffern reduziert wurde
- ORA-01000: Maximum Open Cursors exceeded - trat auf, wenn der Oracle JDBC-Treiber verwendet wurde
- Stacktrace von ReportError wurde dem Benutzer angezeigt
- Berichte, für die eine Eingabeaufforderung erforderlich war, wurden im Internet Explorer 11 nicht ordnungsgemäß geöffnet, nachdem der Dialog zur Eingabeaufforderung geschlossen worden war
- Der Standardzoom war zu klein, wenn der Bericht in nur eine HTML-Seite exportiert wurde
- Die Authentifizierung am Repository schlug fehl, wenn der Remote Designer im Repository Browser gestartet wurde
- Hairline-Box ohne Hintergrund wurde in der Java-Ausgabe (Berichtsvorschau) nicht gedruckt
- "NamingException: LDAP response read timed out" trat auf, wenn Windows Active Directory für die Authentifizierung mit einer großen Anzahl von Gruppen verwendet wurde
- Beim Wiederherstellen eines Backups ist im Internet Explorer folgender Fehler aufgetreten: "Objekt unterstützt die Eigenschaft oder Methode 'includes' nicht"
- Die Sortierung und Gruppierung von Aufgaben nach Eigentümer war falsch
- Die JDBC-ODBC-Bridge unterstützt nun VARCHAR-Werte größer 255 Zeichen
- Unterstützung für SSL-Zertifikate im PEM-Format hinzugefügt
- Der Bericht-URL-Parameter "reports" unterstützt jetzt XLSX und ODS. Für jeden Bericht wird ein neues Blatt erstellt
- Userinfo (user:password) wird im URL-Parameter des Berichts unterstützt. Es wird als Basic-Authentifizierungs-Header gesendet
- Unterstützung für XLSX- und ODS-Format für Berichte mit mehreren Berichtsdateien hinzugefügt
- "Bean Data Source" wurde aus Sicherheitsgründen entfernt
- Option "Font Mapping" zum Ersetzen von Schriften, die nicht in PDF-Dateien eingebettet werden können, ist standardmäßig aktiviert. Die Änderung hat direkte Auswirkungen auf die Font Path Einstellungen
Bericht-Repository
- Neuimplementierung der Repository-Suche mit unserer eigenen Suchmaschine
- Java Report Viewer aus der Liste der Ausgabeformate entfernt, da Java-Applets von den meisten aktuellen Browser-Versionen nicht unterstützt werden
- Eine Ausnahme trat auf, wenn das Datenbank-Repository umbenannt wurde.
Konfigurations-Manager
- Funktion zum Aktivieren einer Konfiguration vorübergehend entfernt
- Eigenschaft "Keystore File" zum Signieren von PDF-Dateien unterstützt URL
- Die Meldung "Konfiguration nicht verfügbar. Bitte installieren Sie die Anwendung neu" wurde manchmal angezeigt, während die Web-GUI des Konfigurationsmanagers die Konfiguration lud
- Fehler "$rootScope.model.activeCategory ist undefiniert" trat nach einem Server-Neustart auf
- Der maximale Heap-Speicher (-Xmx) für die Java VM, auf der der Berichtsserver läuft, kann im Konfigurationsmanager-Dialog "Webserver" eingestellt werden. Der Standardwert ist 1/4 des Arbeitsspeichers (bei 32-Bit sind es 256 MB).
- Die Tastaturbedienung für Tabellen und Listen im Konfigurationsmanager wurde verbessert.
- Erhöhung der Sicherheit, stärkere Einwegverschlüsselung für das Master-Passwort hinzugefügt.
Um die Konfiguration von i-net Clear Reports zu verbessern und zu vereinfachen, wurde der Konfigurationsmanager umgestaltet und neu implementiert. Die Zuordnung von Eigenschaften zu Gruppen wurde verbessert. Außerdem wurde eine "einfache" und eine "erweiterte" Ansicht eingeführt.
- Einfache / Erweiterte Ansicht hinzugefügt. Eigenschaften wurden in verschiedene Ansichten unterteilt, um die Konfiguration zu vereinfachen.
- Für ein besseres Verständnis wurden Eigenschaften teilweise in andere Gruppen verschoben.
- Alle verfügbaren Benutzer und Gruppen werden in der Dropdown-Box der Kategorie Berechtigungen angezeigt.
- Die Kategorien Systemberechtigungen und Berichtsberechtigungen wurden zu einer Kategorie zusammengefasst: Berechtigungen. In der Kategorie Berechtigungen kann nun festgelegt werden, welche Benutzer und/oder Gruppen alle Berichte ausführen dürfen. Die Berechtigungen für Repository-Berichte werden im Repository Browser festgelegt.
- Neue Komponenten "E-Mail Einstellungen" und "Fehlerbenachrichtigungen" hinzugefügt.
- Es ist nun möglich, für einzelne Komponenten unterschiedliche Log-Level zu setzen.
- Wenn die Windows-Authentifizierung verwendet wird, enthält die Liste der Benutzer und Gruppen in den Kategorien "Report Permissions" und "System Permissions" die Domänenbenutzer und -gruppen.
- Schnittstelle com.inet.authentication.UsersAndGroupsProvider zur API hinzugefügt. Sie ist nützlich für das Hinzufügen von Benutzer- und Gruppennamen aus einer Datenbank oder ähnlichem zu der Dropdown-Liste in den Konfigurationsmanager-Kategorien Berichtsberechtigungen und Systemberechtigungen.
- Zwei "HTTP URL"-Eigenschaften wurden zum Abschnitt "Remote Interface" in der Konfigurationsmanager-Kategorie "Webserver" hinzugefügt, um ein Logo-Bild und einen Impressum-Link zur Fußzeile des Remote Interface hinzuzufügen.
- Die i-net Clear Reports Konfiguration hat eine neue Eigenschaft 'Logging des internen Servers' in der Kategorie 'System - Logging', die das Logging des Jetty Servers aktiviert/deaktiviert.
- Die Schaltflächen in der Kategorie des Konfigurationsmanagers: "Report Permissions" wurden in Firefox Version 28 abgeschnitten.
- HTML-Berichtsviewer wird als Standardviewer verwendet. Das Standard-Rendering-Format kann in der Kategorie "Verhalten" eingestellt werden.
- Es ist jetzt möglich, ein neues Master-Passwort in der Konfigurationsmanager-Kategorie "Login/IP Filter" zu setzen.
- Neue Eigenschaften für den Datencache in der Kategorie "Cache".
- Neue Eigenschaft "Font Mapping" für Postscript Level 3 hinzugefügt.
- Neuer Kommandozeilenparameter "-client.ip" für die Standalone-Konfiguration auf dem Headless Server hinzugefügt.
- Anmeldetypen "LDAP-Server" und "PAM-Authentifizierung" hinzugefügt.
- Der Formeleditor verfügt nun über eine Textsuche, die mit Strg+F aufgerufen werden kann.
- Ein einzelner negativer IP-Filter führte dazu, dass alle IP-Adressen blockiert wurden. Wenn jetzt nur negative IP-Filter eingegeben werden, werden alle IP-Adressen AUSSER denen, die als negative Filter eingegeben wurden, zugelassen.
- Eigenschaft "Servlet Filter" hinzugefügt.
- Der Bereich USER_SESSION wurde für Datenquellen hinzugefügt.
- Es war nicht möglich, mehr als 17 Benutzer und/oder Gruppen zu den Systemberechtigungen hinzuzufügen.
- Die i-net Clear Reports Konfiguration war nicht in der Lage, sehr lange Werte in den Voreinstellungen zu speichern. Dies hatte zur Folge, dass es nicht möglich war, Systemberechtigungen für mehr als 15-20 Benutzer zu verwalten. Dies wurde nun behoben, die Werte können nun beliebig lang sein und es können beliebig viele Benutzer im i-net Clear Reports Konfigurationsmanager angelegt und verwaltet werden.
- Eigenschaftskatalog und Schema zur Datenquellenkonfiguration hinzugefügt, so dass es möglich ist, die Werte zur Designzeit zu ändern.
- Die Formelauthentifizierung kann jetzt mit dem Anmeldetyp "Externer Webserver" verwendet werden.
- Beim Scannen der Parameterfelder eines Berichts konnte der Scheduler Werte als "DefaultValue@ffffff" anzeigen, wenn das Feld eine mehrwertige Eingabeaufforderung war.
- Es war nicht möglich, einen SMTP-Server ohne Authentifizierung zu verwenden.
- Es gibt zwei neue Befehlszeilenargumente, die Sie verwenden können: -exportconfig <config> <file> exportiert die angegebene Konfiguration in die angegebene Datei und -listconfigurations zeigt eine Liste der installierten i-net Crystal-Clear Konfigurationen auf dem Server an.
- Konfigurieren von Berechtigungen: Der Remote-Konfigurationsmanager in der Remote-Schnittstelle bietet jetzt auch eine Liste mit bereits angemeldeten Benutzern an, wenn der Anmeldetyp auf Windows-Authentifizierung eingestellt ist.
- Es war nicht möglich, eine Eigenschaftsdatei, die den Schlüssel "allow.param.dll" enthält, als Konfiguration zu importieren.
Geändertes Verhalten
- Die Systemberechtigungen wurden auf die grundlegenden Funktionen reduziert, um eine verständliche Konfiguration zu ermöglichen.
- Es ist nun möglich, Netzwerkfreigaben als Repository-Speicherorte im Remote-Konfigurationsmanager hinzuzufügen.
- Backslashes in Benutzernamen werden in den Kategorien "Benutzerverzeichnisse", "Berichtsberechtigungen" und "Systemberechtigungen" in Schrägstriche umgewandelt.
Behobene Bugs
- Konfigurationen, die bestimmte Einstellungen enthielten, die zu extrem langen Werten führten (z. B. eine hohe Anzahl von Berechtigungseinstellungen), konnten nicht erfolgreich exportiert und anschließend in ein anderes System wieder importiert werden.
Java-Berichtsbetrachter
- NullPointerException trat auf, wenn kein Standarddrucker vorhanden war
- XLSX-Export zum Export-Dialog hinzugefügt.
- Es ist jetzt möglich, zwischen den Abfragen im Abfragedialog mit "Strg+Alt+P" (für Zurück) und "Strg+Alt+N" (für Weiter) zu wechseln.
- Unterstützung von Open Type-Schriften.
- Eingebettete mehrseitige Formate, wie PDF, werden korrekt angezeigt.
- Schriftdaten für Schriftarten mit unterschiedlichen Stilen werden nur dann eingebettet, wenn sich die Daten unterscheiden.
- Wenn der Java-Report-Viewer mindestens mit Java 7u65 lief, dann wurde der Druckereigenschaften-Dialog nach einem Klick auf die Eigenschaften-Schaltfläche im Druckdialog nicht angezeigt.
- Der Druckereigenschaften-Dialog wurde seit Java VM Version 7u65 nicht mehr angezeigt. Ab Java Version 7u65 wird der Druckereigenschaften-Dialog nun sofort angezeigt.
- Es fehlten Zeichen in der Diagrammlegende.
- Wenn der Java Report Viewer mindestens mit Java 7u65 lief, wurde der Druckereigenschaften-Dialog nach einem Klick auf die Eigenschaften-Schaltfläche im Druckdialog nicht angezeigt.
Berichtsserver
- LDAP-Authentifizierung: Es war nicht möglich, sich mit einem Benutzer anzumelden, der in einer LDAP-Gruppe mit einem Gruppennamen (Full Distiguished Name) von mehr als 100 Zeichen enthalten war
- Die JAR-Datei inetslf4j.jar wurde umbenannt in inetloggeradapter.jar. Sie enthält auch einen Adapter für Commons Logging
- PDF-Export: JPEG-Bilder im EXIF-Format werden jetzt unterstützt
- Speicherverbesserungen für Bilder mit Bildschlüssel
- Datums-Parsing-Reihenfolge optimiert, um den geänderten Datumsmustern in Java 9 zu entsprechen
- Login-Typ "Interner Webserver" ist auch verfügbar, wenn i-net Clear Reports nicht auf einem Applikationsserver läuft, sondern ein Login-Filter verwendet wird
- Leistungsoptimierung für User-Expander-Formeln
Servlet
- Servlet Spec wurde auf Version 3.1 geändert und die Klasse des Login-Servlets wurde auf com.inet.authentication.LoginServlet geändert
Behobene Fehler
- Mehrere Probleme mit dem Java 9 Release Candidate sind aufgetreten
- PDF-Export: Einige Fehler im PDF/A-1b-Export wurden behoben
- XLS/XLSX-Export:
- Zahleneigenschaftsformeln wurden verwendet, obwohl das Dezimalzahlenformat anstelle des benutzerdefinierten Zahlenformats verwendet wurde und die Eigenschaftsformeln deaktiviert werden sollten. Dies konnte z.B. zu einem falschen Vorzeichen führen
- Client-Zeitzone wurde für Datums- und Zeitwerte im XLSX-Format ignoriert
- "Unterdrücken, wenn doppelt" unterdrückt in manchen Fällen keine doppelten Felder
- Prozentformat im XLSX-Format zeigt 0% an
- Kein Cipher-Suite-Fehler bei HTTPS-Verbindungen aufgetreten
- Der Stil für die Zeilenhöhe wurde nur in der ersten Zeile des umgebrochenen Textes verwendet, wenn die Textinterpretation "HTML(advanced)" verwendet wurde
- Behebung eines Fehlers bei rekursiven Tabellen-Joins über mehrere Datenquellen (DS-A → DS-B → DS-A). Die resultierende Fehlermeldung war: "Report Error [1403] Error occurred while fetching data or while using data cache."
- Unbehandelte Exception "java.lang.InternalError" mit der Meldung "couldn't create component peer" trat bei Java 8u152 auf
- Clip/Ausrichtung von kursivem, rechtsbündigem Text mit großem Kursivwinkel war falsch
- Wortumbruch der thailändischen Sprache im erweiterten HTML-Inhalt war falsch. Das korrekte Verhalten erfordert, dass das Gebietsschema des Berichts auf 'Thai' eingestellt ist
- Fehler "Report Error [1401] Illegales Argument für DATE sproc ..." mit SP-Parameter vom Typ DATE trat auf
- Fehler "Schriftart mit ID X konnte nicht erstellt werden" trat auf, wenn eine OTF-Schriftart verwendet wurde und die Eigenschaft "Compress Viewer Fonts" im Konfigurationsmanager-Dialog "Schriftart" aktiviert war
- RTF-Export:
- Schriftartennamen in der Schriftartentabelle sollten mit einer ostasiatischen Zeichensatzkodierung anstelle von Unicode geschrieben werden
- Inhalt einiger Textfelder wird nicht vollständig angezeigt, wenn das Textfeld viel Text enthält
- PDF-Export: Barcode-Schriftart war zu groß
- ArrayIndexOutOfBoundsException trat auf, wenn die Arrays facename und familyname eine unterschiedliche Länge haben
- "Das Design der Kreuztabelle ist zu groß" trat bei einer Kreuztabelle in einem Teilbericht auf
- Währungssymbol wurde angezeigt, obwohl das Feld unterdrückt war
- Wenn für einen Abschnitt in einem Unterbericht "Unterlegen nach Abschnitt" aktiviert war, konnte es vorkommen, dass der Unterbericht auf die Berichtsseite verschoben wurde
- Wenn die in der Funktion BytesFromFile verwendete URL einen 404-Fehler zurückgibt, wurde im ausgeführten Bericht ein "unbekanntes Bildformat" angezeigt. In diesem Fall wird das Bild als leer angezeigt
- Exception: "org.bouncycastle.asn1.pkcs.PrivateKeyInfo kann nicht in org.bouncycastle.openssl.PEMKeyPair umgewandelt werden" ist aufgetreten
- Kreuztabellen-Eigenschaft "Suppress Row Labes" in "Group Options" funktioniert nicht für mehr als ein Feld in Kreuztabellenzeilen, wenn sie für mehr als ein Feld in Kreuztabellenzeilen aktiviert ist
- Behebung von Problemen, wenn NofM und PageCount nur in einem Unterbericht und nicht im Hauptbericht verwendet werden und der Festplatten-Cache aktiviert ist. Dies kann zu fehlenden Seiten im Hauptbericht führen und der Unterbericht verpasst die Ausgabe von NofM
- Beim 2. Erscheinen eines Feldes "Kann wachsen" wurde nur das Ende des Feldes angezeigt, wenn das Feld auf einer zweiten Seite fortgesetzt wurde
- Wenn eine eingebettete Schriftart eine andere Schriftmetrik als die Systemschriftart mit demselben Namen hat und die Textinterpretation "HTML(Advanced)" verwendet wurde, konnte das Textlayout fehlerhaft sein
- SVGDecoder funktioniert nicht mit Java 9 (oder höher): ClassNotFoundException: org.w3c.dom.css.DOMImplementationCSS
- PDF-Dokument wurde im Bericht nicht korrekt angezeigt
- Dezimalzahlenformat im XLSX- und ODS-Ausgabeformat war 0 anstelle der korrekten Zahl
- Schriftarten eines PDF-Dokuments, das in einen Unterbericht eingebettet ist, fehlten
- Sicherheitsproblem "Cross-Site Scripting" aufgetreten
- ORA-01000: Maximum Open Cursors exceeded - trat auf, wenn der Oracle JDBC-Treiber verwendet wurde
Java Report Viewer
- ClassCastException mit benutzerdefiniertem L&F aufgetreten
- Der Report Viewer setzte nur dann eine Druckerauflösung, wenn Java 9 verwendet wird und keine Druckerauflösung gesetzt war. Der Fehler wurde in Java 10 behoben: https://bugs.openjdk.java.net/browse/JDK-8186987
- In seltenen Fällen konnte es bei Berichten zu Fehlermeldungen im Report Viewer kommen, wenn leere Textteile vorhanden waren.
- Die Entwurfsränder beim Drucken über PrinterJobProgress API wurden geändert, wenn die Entwurfsränder kleiner sind als die druckbaren Ränder des Druckers. Zuvor war dies nur im Druckdialog möglich.
- Regression: Wenn ein Bericht länger als 10 Minuten gerendert wurde, kam die Fehlermeldung "wrong mimetype text/html".
- Regression seit Version 15.0: Der Gruppenbaum enthielt einen Knoten mehr als einmal, wenn auf der vorherigen Berichtsseite nicht genug Platz für die Gruppe war.
- Zeichen in den Diagrammlegenden oder Überschriften fehlten, wenn das Diagramm in einem Unterbericht enthalten war und eine eingebettete Schriftart verwendet wurde.
- Unterbericht bei Bedarf und interaktive Sortierung funktionieren nicht korrekt mit Java Report Viewer.
- Java Report Viewer zeigt einen Bericht nicht an, wenn er mit Java Version 7 ausgeführt wird.
- NullPointerException trat auf, wenn eine Berichtsansicht über API zum Report Viewer hinzugefügt wurde.
- Es ist nun möglich, mit Strg+Alt+P und Strg+Alt+N zwischen den Eingabeaufforderungen im Parameterabfragedialog zu wechseln.
- Sie können eine "Support-E-Mail-Adresse" in der Konfigurationsmanager-Kategorie "E-Mail-Einstellungen" konfigurieren, damit der Java-Report-Viewer beim Auftreten von Fehlern einen Link "Support anfordern" anzeigt.
- Die Suche mit regulären Ausdrücken im Report-Viewer sucht jetzt nicht mehr wortweise, sondern über den gesamten Text.
- Wenn der Exportdialog mit der Eingabetaste geschlossen wurde, wurde zweimal gefragt, ob eine bestehende Datei überschrieben werden soll.
Aufgaben-Planer
- Export Eigenschaften fehlten im "Jobs" Dialog "Bericht" für Excel und Open Document Spreadsheet
- CSV-Export fehlte
- Probleme im TaskPlanner mit dem Berichts-Cache traten auf, wenn eine vorherige Task-Ausführung einen Fehler produziert hat
- Es konnte vorkommen, dass der TaskPlanner die 'normalen' Benutzervergleiche aufräumte
- Standardwerte von Prompt-Feldern wurden nicht aus der rpt-Datei gelesen
- NumberFormatException: For input string: "<Lange Zahl>" aufgetreten
- Der Dateiname des CSV-Exports bei aktivierter Eigenschaft "Nur Daten" und Postscript-Export war falsch.
Repository
- MIME-Typ-Fehlanpassung über SSL-Verbindung mit strenger MIME-Typ-Prüfung für Echo2-Module wie Repository Browser
- Berechtigungen im Repository-Browser geändert: Dateien und Ordner sind jetzt sichtbar, wenn der Benutzer das Ausführungsrecht für diesen Ordner hat. Berechtigungen werden an Unterordner vererbt und können in einem Unterordner überschrieben werden.
- Remote Repository Browser aktualisiert nun die Ordner und Dateien beim Aktualisieren des Browsers.
- Das Repository erlaubt nun die Verwendung von Benutzerverzeichnissen.
- Die Ausführungsberechtigung im Browser des entfernten Repositorys enthält jetzt auch die Rechte für den Berichtsspeicherort für die Repositories.
- Repositories verbinden sich jetzt nur noch bei Bedarf mit Datenbanken. Dies führt zu einem schnelleren Starten des i-net Crystal-Clear-Servers.
- Es ist nicht mehr möglich, den i-net Designer im Repository-Browser über JNLP zu starten. Es ist keine Client-Installation notwendig.
- Die HTML-Ausgabe der WebDAV-Verbindung verfügt über zusätzliche Spalten, um das Rendering der Berichte von dieser Seite zu ermöglichen.
Webschnittstelle
- java.lang.NullPointerException trat beim Öffnen des Dateiauswahlfensters auf
Sicherheitskorrekturen
- Kritisches Sicherheitsupdate für Help Plugin (CVE-2020-11431)
- Behebung einer XXE-Schwachstelle für authentifizierte Benutzer mit Berechtigungen für Ad-hoc-Berichterstattung oder Remote-Designer (CVE-2020-12684)
- Mehrere XSS-Schwachstellen behoben (Anmeldung war nicht erforderlich).
- Behebung einer Path-Traversal-Schwachstelle, die den Zugriff auf Dateien innerhalb des Installationsordners und seiner Unterordner ermöglichte
Behobene Fehler
- ORA-28040: Kein passendes Authentifizierungsprotokoll - aufgetreten mit Oracle 12c
- Die aktuelle Ausführung der Formel "x" wurde aufgrund eines Nullwertes abgebrochen
- Verzeichnis Plugins und lib nicht gefunden, wenn UNC-Pfad mit Java 8 verwendet wurde
Behobene Fehler
- NullPointerException trat bei verschachtelten Benutzerfunktionsaufrufen in Formeln auf
- XLS-Export: "Suppress if Duplicated" unterdrückt in manchen Fällen keine doppelten Felder
- Unbehandelte Exception "java.lang.InternalError" mit der Meldung "couldn't create component peer" trat bei Java 8u152 auf
- Behebung des Fehlers "Report Error [1401] Illegal argument for DATE sproc ..." bei SP-Parameter vom Typ DATE
- RTF-Export:
- Schriftartennamen in der Schriftartentabelle sollten mit einer ostasiatischen Zeichensatzkodierung anstelle von Unicode geschrieben werden
- Inhalt einiger Textfelder wird nicht vollständig angezeigt, wenn das Textfeld viel Text enthält
- Kreuztabellen-Eigenschaft "Zeilenlaschen unterdrücken" in "Gruppenoptionen" funktioniert nicht für mehr als ein Feld in Kreuztabellenzeilen, wenn sie für mehr als ein Feld in Kreuztabellenzeilen aktiviert ist
- Behebung von Problemen, wenn NofM und PageCount nur in einem Unterbericht und nicht im Hauptbericht verwendet werden und der Festplatten-Cache aktiviert ist. Dies kann zu fehlenden Seiten im Hauptbericht führen und der Unterbericht verpasst die Ausgabe von NofM
- Nur das Ende eines "Kann wachsen"-Feldes wurde beim zweiten Auftreten des Feldes angezeigt, wenn das Feld auf einer zweiten Seite fortgesetzt wurde
- Das Patchen des SQL-Befehls zur Abfrage der Metadaten (Spaltennamen) war falsch, wenn der Befehl die Funktion "listagg(...) within group ..." enthält. In diesem Fall wurde "WHERE 1=0" an die listagg-Funktion angehängt
- Das Zertifikat der Zertifizierungsstelle Let's Encrypt kann im Dialogfeld "Webserver" angefordert werden.
Behobene Fehler
- Kursiver Text mit Rechtsbündigkeit wurde am rechten Rand eines Textelements abgeschnitten.
- XLSX-Export: Wenn die Eigenschaft "Neues Blatt pro übergeordneter Gruppe" aktiviert war, konnte es vorkommen, dass ein Bild nicht auf einem neuen Blatt angezeigt wurde, wenn es nicht bereits auf dem ersten Blatt angezeigt wurde.
- CSV- und DATA-Export: UTF-8 BOM hinzugefügt.
- Unbekannter Operationsfehler trat auf, wenn der Bericht "Seite N von M" oder TotalPageCount nicht auf der ersten Seite, sondern auf anderen Seiten enthält und der Festplatten-Cache verwendet wird.
- Java-Script-Injektion war im Error-Handler möglich.
- "IllegalArgumentException: Invalid character found in the request target." trat auf. Um dies zu beheben wurde der Benutzername für StyleSheet URLs normalisiert.
- PDF-Export: NullPointerException trat beim Export im PDF/A-Format auf.
- ORA-28040: Kein passendes Authentifizierungsprotokoll - aufgetreten mit Oracle 12c
- Es war nicht möglich, eine .rpt-Datei mit einem Doppelklick im i-net Designer zu öffnen. Das i-net Designer-Installationsprogramm registriert nun die .rpt-Erweiterung korrekt.
- Es war nicht möglich, ZxingBarCode JavaBean zu einem Bericht hinzuzufügen, da Dateien im Verzeichnis "lib/beans" der i-net Designer-Installation fehlten.
- Formel-Editor: NullPointerException trat auf, wenn keine Werte für die in der Formel verwendeten Parameterfelder gesetzt wurden.
- Die Größe des Rendering-Fensters im Repository-Browser konnte nicht geändert werden, wenn der Internet Explorer verwendet wurde.
- Hinzufügen der Klasse DocumentOutputStream, um gerenderte Dokumente mit geringerem Speicherverbrauch zu erstellen oder asynchron zu schreiben.
- Stored Procedure wird nicht ausgeführt, bevor der Dialog zur Parameterabfrage erscheint. Dies verbessert die Leistung beim Hinzufügen großer Stored Procedures zum Bericht.
Behobene Fehler
- Fügen Sie auch Teile von WHERE aus der Datensatzauswahlformel hinzu, wenn es zusätzlich zu den verbundenen Tabellen einen SQL-Befehl gibt.
- NegativeArraySizeException trat beim Parsen eines BMP-Bildes auf. BMP-Bilder mit Zeilenfolge von oben nach unten werden jetzt unterstützt.
- PDF-Export:
- Die gewählte eingebettete Schriftart für ergänzende Codepunkte war falsch. Symbolische Schriftarten wie SansSerif wurden nicht korrekt ersetzt.
- Das Ersetzen von logischen Fonts funktionierte nicht korrekt, wenn der PDFA-Export verwendet wurde.
- Texte mit ergänzenden Zeichen können nun im PDF-Format exportiert werden.
- Die folgende Ausnahme trat auf, wenn ein Zertifikat mit IBM JavaVM verwendet wurde: java.security.NoSuchAlgorithmException: SunX509 KeyManagerFactory nicht verfügbar.
- XLSX-Export:
- Überspringen Sie Null-Zeichen in der XLSX-Ausgabe, da dies korrupte XLSX-Dateien erzeugt.
- Der Rand von Textelementen wurde mit doppelter Linienstärke gezeichnet.
- Der Fehler "Data not found : page=1.html" ist manchmal aufgetreten.
- Ein nicht leerer Abschnitt konnte als leerer Abschnitt erkannt werden, wenn:
- die Abschnittseigenschaften "Leeren Abschnitt unterdrücken" und "Zusammenhalten" aktiviert sind
- der Abschnitt nur einen Unterbericht enthält, dessen Top-Position nicht am oberen Rand des Abschnitts liegt
- der freie Platz des Abschnitts oberhalb des Unterberichts nicht auf die vorherige Seite passt
Scheduler
- NeedPromptException trat auf, obwohl kein Prompt benötigt wurde.
- Text und Anhänge in E-Mails, die vom Scheduler gesendet wurden, waren in falscher Reihenfolge.
- Die Einstellungen bestimmter Scheduler-Aktionen konnten nach einem Server-Neustart eine Fehlermeldung anzeigen.
- Die Methode ScheduleAction.isAttachReport() gibt nun standardmäßig true zurück. Das Verhalten stimmt mit der Dokumentation überein.
- Der Scheduler wird im Internet Explorer 11 nicht geöffnet.
- Die alte Web-GUI des Schedulers wurde durch ein neues Scheduler-Modul für die Remote-Schnittstelle ersetzt.
- Der URL-Parameter "init=scheduler" wird nicht mehr unterstützt. Sie können die folgende URL verwenden, um das Scheduler-Remote-Modul zu öffnen: http://<servername>:<port>[/<servlet-context>]/remote/scheduler.
- "Cache Action" und die Eigenschaft "Cache Filter Enabled" wurden entfernt. Verwenden Sie die Datei-Aktion, um den Bericht als Datei zu speichern und dann diese Datei anzufordern.
- Der Html-Export im Scheduler unterstützt nun das Anhängen von Datum und/oder Uhrzeit an den Dateinamen.
- Der Scheduler verwendet nun die Protokollierung von i-net Clear Reports.
Änderungen in Version 16.1
- Der Cache für gerenderte Berichte wurde komplett neu geschrieben, um eine große Anzahl sporadischer Fehler zu vermeiden und die Leistung zu verbessern.
- Enthält Leistungsverbesserungen für große XLSX-Dateien.
- Formel-Funktionen Ceiling, Floor, MRound und RoundUp hinzugefügt.
- crossdomain.xml und robots.txt können im Konfigurationsmanager eingestellt werden.
- Enthält Speicherverbesserungen für Berichte, die "Seite N von M" enthalten, die wirksam werden, wenn ein anderer Cache-Typ als Memory Cache verwendet wird.
- Unterstützung für Surrogate/Ergänzungszeichen (32-Bit-Zeichen) hinzugefügt.
- BOM (Byte Order Mark) wurde zum Textexport hinzugefügt, wenn die Kodierung UTF-8 ist, damit Texteditoren UTF-8-Zeichen korrekt anzeigen.
WAR-Datei
- Datei initial_configuration.properties hinzugefügt. Sie kann modifiziert und verwendet werden, um die Konfiguration des i-net Clear Reports Servlet zu erstellen.
Einrichtung
- Das Berichtsserver-Setup erstellt ein Berichts-Repository für Beispielberichte, wenn keine Konfiguration von einer anderen Installation existiert. Das Verzeichnis samplereports wird im Verzeichnis ProgramData erstellt.
- NoClassDefFoundError: com.sun.management.OperatingSystemMXBean trat unter AIX mit IBM Java VM auf.
- Remote GUI Klassen aus der Datei ClearReports.jar in die neue Datei RemoteGUI.jar extrahiert.
- Oracle OC4J Application Server wird nicht mehr unterstützt. Er unterstützt nur noch Java 5.
- Standalone Configuration & Recovery Manager wird mit i-net Clear Reports installiert.
- Bei der Installation werden nun standardmäßig ::1 und 127.0.0.1 in der IP-Filterliste angezeigt, so dass Benutzer localhost nicht vom Server aussperren, wenn ihr System z.B. IPv6 verwendet.
- Auch bei einer Paketinstallation werden die ReportReader-Dateien in das Installationsverzeichnis kopiert.
- Der Name des Standard-Servlet-Kontextes lautet "reporting" statt "crystalclear".
- Websphere Version 7 (oder höher) ist erforderlich, da Java 6 (oder höher) erforderlich ist.
- Der Dialog für die Datenquellenzuordnung für Weblogic und Websphere Application Server wurde entfernt.
- MySQL Connector/J wurde auf Version 5.1.13 aktualisiert.
- JDBC-Treiber für PostgreSQL wurde hinzugefügt.
- Die Remote-Schnittstelle ist für eine Remote-Installation (Paket-Installation) standardmäßig aktiviert.rect
- Der Nachrichtenschlüssel "ApachePanel.containsCC.msg" wurde anstelle der korrekten Fehlermeldung angezeigt.
- Die Start- und Stopp-Skripte für die Standalone-Anwendung wurden auf Unix-Umgebungen wie Solaris und AS400 nicht installiert.
- Glassfish-Anwendungsserver wird unterstützt.
- Das Setup wurde überarbeitet.
- Nicht-GUI-Headless-Setup verfügbar, um den Berichtsserver auf einem Headless-Server zu installieren.
- Apache Procrun zur Installation von i-net Crystal-Clear als 32- oder 64-Bit-Windows-Dienst.
- Daemon-Installation auf Linux/Unix wird jetzt unterstützt.
- Auf Linux-Systemen werden die Dateierweiterungen ".rpt", ".jra" und ".dataview" jetzt registriert und als Mimetyp "application/crystalclear.report" oder "application/crystalclear.archive" zugeordnet. Als Standardprogramme werden sie durch den Designer bzw. den Viewer geöffnet.
- Das textbasierte Setup wurde hinsichtlich Lesbarkeit und Übersichtlichkeit verbessert.
- Unterstützung für GlassFish-Anwendungsserver hinzugefügt.
- Englisch war nicht die Standardsprache auf Systemen mit einem anderen Gebietsschema als Deutsch oder Englisch.
- Während des Setups war es nicht möglich, IPv6-Adressen in der Eigenschaft IP-Filter einzugeben.
- Nicht GUI Headless Setup auf der Konsole: Der Standardport für JBoss war falsch. Der richtige Port ist 8080.
Behobene Fehler
- "Leeren Abschnitt unterdrücken" hat nicht korrekt funktioniert, wenn "Zusammenhalten" für denselben Abschnitt aktiviert war. Das Problem trat nur auf, wenn sich der dynamische Inhalt am unteren Ende des Abschnitts befand.
- Die Suche innerhalb von erweiterten HTML-Elementen funktionierte nicht in der i-net Designer-Vorschau und im Report Viewer.
- NullPointerException trat auf, wenn nur JSP oder Cache API verwendet wurde und der Berichtsname nicht mit vollständigem Pfad angegeben wurde.
- Das Löschen einer Unterbericht-Verknüpfung, deren Unterbericht-Eingabeaufforderung im Bericht verwendet wurde, führte dazu, dass die Unterbericht-Eingabeaufforderung im Eingabeaufforderungsdialog nicht angefordert wurde, obwohl sie notwendig war.
- Ein Problem mit dem in einem Befehl verwendeten Spaltenalias trat auf, wenn der MySQL Connector 5.x verwendet wurde.
- Eine Endlosschleife trat auf, wenn ein Bericht mit SQL-Ausdrücken und Joins mit i-net Designer geöffnet wurde.
- Ein OutOfMemoryError konnte auftreten, wenn Remote Interface oder Repository Browser stark genutzt wurden.
- Verschiedene Sonderzeichen wie /, \, {, etc. in Formelnamen führten zu Problemen beim Umbenennen von Formeln.
- Bidirektionaler Inhalt mit LTR und RTL gemischt in einem Wort wird jetzt in einem DText-Element korrekt angezeigt.
- Ein HR-Element in einem Feld mit Textinterpretation HTML(advanced) wurde nicht angezeigt.
- Das Öffnen und Schließen des Eigenschaftsdialogs einer Kreuztabelle ohne Zeilen verursachte eine Größenänderung im Gesamtzeilenkopf.
- Das Ändern des Tabellen-Alias modifiziert nun auch die Diagrammfarbe und andere Eigenschaftsformeln.
- Wenn der erste Aufruf einer benutzerdefinierten Funktion Null-Parameter enthält, war i-net Crystal-Clear nicht in der Lage, die richtige aufzurufende Methode zu finden.
- HTML-Text-Auswertung: Ein Bild wurde nicht angezeigt, wenn es über einen Redirect von HTTPS auf HTTP geladen wurde.
- Die Verwendung von "Leeren Abschnitt unterdrücken" mit "Objekt zusammenhalten" führte dazu, dass Abschnitte unterdrückt wurden, obwohl der Inhalt des Abschnitts auf der nächsten Seite vorhanden gewesen wäre.
- Wenn der Bericht auf der DB2-Datenbank erstellt wurde, war es nicht möglich, Datumsgruppen in der Datenbank zu sortieren.
- In dem seltenen Fall, dass mehrere Zusammenfassungsfelder mit denselben Namen, aber unterschiedlichen Parametern in mehreren Formeln verwendet wurden, die in einer Kreuztabelle verwendet wurden, konnte die Kreuztabelle Probleme beim Rendern der Zusammenfassung haben.
- Eine Endlosschleife trat aufgrund von java.util.WeakHashMap auf, einem nicht Thread-sicheren Objekt.
- Ein Abschnitt wurde unterdrückt, wenn er nur eine Java Bean enthält und "Leeren Abschnitt unterdrücken" aktiviert war.
- Ein Problem mit dem MySQL Connector 5.x trat auf, wenn Spalten-Aliase in Befehlen verwendet wurden, die mehrere Spalten mit demselben Namen enthielten.
- Ein seltenes Problem trat beim Laden älterer Berichte aus Crystal Reports 9 und früher auf, die mehrere Zusammenfassungen in Formelfeldern enthielten. Der Fehler lautete "Berichtsdatei nicht gefunden"
- Sicherheitskorrektur zur Verhinderung von Cross-Site-Scripting (XSS).
- Die Abwärtskompatibilität für die Verwendung der Zeichenketten "true" und "false" als Boolean in einer Formel zur Datensatzauswahl in einer PostgreSQL-Datenbank wurde behoben.
- Nur "true" und "false" wurden als boolesche Strings in einer Datensatzauswahlformel in der PostgreSQL-Datenbank akzeptiert. Jetzt ist es case insensitiv.
- Die Größe von Kreuztabellen mit Zeilen und ohne Zeilen war zur Laufzeit unterschiedlich. Daher konnte es vorkommen, dass 2 Kreuztabellen zur Laufzeit eine unterschiedliche Größe hatten, obwohl die entworfene Größe die gleiche war.
- Es wurde ein Sicherheitsproblem behoben, durch das ein Benutzer teilweise im System authentifiziert werden konnte, wenn ein anderer Benutzer den Remote-Designer öffnete.
- PDF-Export: Die Länge der Unterstreichung in Rich-HTML-Hyperlinks war falsch.
- In seltenen Fällen wurde eine Hintergrundfarbe von Unterberichtselementen nicht oder nur einmal angezeigt, wenn nur eine Hintergrundfarbe für die Berichtselemente verwendet wurde und wenn für mindestens einen Berichtsabschnitt eine Hintergrundfarbe festgelegt wurde.
- Bei der Erstellung einer CCcore-Datei ist eine ClassCastException aufgetreten.
- Die Ausnahme "Unerwarteter Typ der Elementklasse java.math.BigInteger" ist beim Export nach XLS aufgetreten.
- Bei GlassFish-Servern konnte es beim Herunterfahren zu einer NullPointerException kommen. Dies wird nun korrekt gehandhabt.
- Report Reader:
- Umbenannte gespeicherte Prozeduraufforderungen in Crystal Reports-Vorlagen wurden vom .NET-basierten Report Reader nicht korrekt konvertiert.
- Das Report Reader-Tool konnte einen Fehler anzeigen, wenn es nicht über die Rechte zur Protokollierung in einer Datei verfügte. Auch wenn es keine Rechte für die Protokollierung hat, wird kein Fehler mehr angezeigt.
- Ein möglicher Deadlock im Festplatten- und Datenbank-Cache ist aufgetreten. In diesem Fall enthielt die Protokollausgabe die endlos wiederholte Meldung "wait for unlock in delete".
- Ein Sicherheitsfehler ist aufgetreten: Mit dem Header HTTP X-Forward war es möglich, den IP-Filter zu umgehen. Jetzt ist es auch notwendig, die Adresse eines Proxys anzugeben.
- Die Windows-Authentifizierung hat mit Jetty Application Server Version 7.2 funktioniert, aber nicht mit Version 7.0.
- Die Ausnahme "Invalid render state. Page already finished." ist bei Berichten aufgetreten, die nur einen Berichtskopf zeigen und bei denen die Eigenschaft "New Page After" für einen der unterdrückten Abschnitte aktiviert ist.
- Beim Lesen von Spaltenbeschriftungen (Aliasen) eines Befehls ist eine Ausnahme aufgetreten.
- DatabaseBean hat falsche Werte zurückgegeben, wenn die Subbeans null waren.
- PDF-Export:
- Unterberichte, die Bilder enthalten, wurden manchmal nicht in die erstellte PDF-Datei aufgenommen.
- Wenn die Eigenschaft "Replace Missing Characters" aktiviert war, wurden Unterberichte manchmal nicht in die erstellte PDF-Datei aufgenommen.
- IllegalArgumentException trat manchmal während der Erstellung einer signierten PDF-Datei auf.
- Unicode-Zeichen, die einige spezielle Byte-Werte (0x28, 0x29, 0x5c) enthalten, konnten in den Lesezeichen der PDF-Datei nicht korrekt angezeigt werden.
- Ränder und Schatten von Elementen, die in den nächsten Abschnitt gemalt wurden.
- Die Position eines Hyperlinks in der PDF-Datei war falsch, wenn der Hyperlink über ein Feld mit der Textinterpretation "HTML (advanced)" erstellt wurde.
- Die Hierarchie der Lesezeichen ging in der exportierten PDF-Datei verloren.
- Bilder, die als BMP mit BitFields und 16bpp (ARGB) kodiert waren, wurden in der exportierten PDF-Datei nicht korrekt dargestellt.
- Felder mit der Textinterpretation "HTML(advanced)" wurden nicht angezeigt, wenn die Eigenschaft "Bei Duplikaten unterdrücken" aktiviert war.
- Manchmal blieb der Cache 15 Minuten lang hängen, nachdem die Aktualisierungsschaltfläche im Java Report Viewer angeklickt wurde, wenn eingebettete Schriftarten verwendet wurden.
- N-Datentypen von JDBC 4 (z.B. NClob) wurden nicht unterstützt, wenn Java 6 verwendet wurde.
- Übersetzungen im Bericht wurden für Parameterfelder (Prompts) und Formeln nicht verwendet.
- Manchmal wurde keine Fehlermeldung angezeigt, wenn eine Basisformel die Variable 'formula' nicht zugewiesen hat.
- Bild-Export: Der Export von On-Demand-Teilberichten hat korrupte Bilddateien erzeugt.
- Umrandungen und Schatten von Elementen wurden manchmal in den nächsten Abschnitt gemalt.
- In seltenen Fällen trat eine zusätzliche Leerzeile in Textfeldern einschließlich Feldteilen und Leerzeilen auf.
- Bei Elementen, die die grundlegende HTML-Interpretation verwenden, wurden Aufzählungslisten im Blocksatz nicht in der ersten Zeile ausgerichtet
- RTF-Export: Nicht transparente Bilder wurden im OpenOffice Writer nicht angezeigt.
- Die Formeln für die Beschriftung von Unterberichten "auf Anfrage" wurden vom Report Reader nicht korrekt gelesen.
- Eine vertikale Linie oder Box vom Seitenkopf zum Gruppenfußbereich wurde nicht auf einer Seite gezeichnet, wenn es sich um den Gruppenfuß des letzten Datensatzes handelte, der Gruppenfuß oben auf der nächsten Seite war und es keinen Gruppenfuß auf der aktuellen Seite gab.
- Die Methoden RDC.loadEngine(File file) und RDC.loadEngine(File file, xxx) konnten keine Berichtsvorlagen lesen, die als Verzeichnis gespeichert waren.
- Eine Zeile oder ein Kasten vom Seitenkopfbereich zu einem Gruppenfußbereich wurde nicht gezeichnet, wenn es sich um den Gruppenfuß des letzten Datensatzes handelte und der Gruppenfuß am Anfang einer neuen Seite (nach dem Seitenkopf) angezeigt wurde.
- Eine Spalte für identische Gruppen wurde mehrfach zur OrderBy-Anweisung hinzugefügt.
- Beim Öffnen eines Berichts mit zwei Datenquellen, von denen eine bereits als Datenquellenkonfiguration registriert war und die andere nicht, konnten die Einstellungen der zweiten Datenquelle die Einstellungen der ersten überschreiben.
- HTML-Abfrage-Dialog: Die Eigenschaft "Nur Standardwerte" wurde nicht verwendet.
- Die Höhe eines Abschnitts wurde auf die Standard-Kreuztabellenhöhe erhöht, wenn der Abschnitt eine sehr kleine Kreuztabelle enthält (kleiner als die Standard-Kreuztabellenhöhe) und wenn die Höhe des Abschnitts kleiner als die Standard-Kreuztabellenhöhe war.
- Das Zeichen # wurde nicht in Anführungszeichen gesetzt, wenn der Bericht auf einer MySQL-Datenbank ausgeführt wurde.
- Excel-Export:
- Wenn die erste Gruppe unsichtbar ist und der Gruppenkopf in der zweiten Gruppe unterdrückt ist und die Gruppenfußzeile in der zweiten Gruppe Daten enthält, wurden die neuen Blätter pro erste Gruppe nicht erstellt.
- Textstrings wurden mit STANDARD-Format statt TEXT-Format formatiert. Daher wurden Zahlen und Datumsangaben, die als Text geschrieben werden, in Open Office mit einem Hochkomma als erstes Zeichen angezeigt.
- In der XLS-Datei wurde keine Spalte für dünne Berichtselemente (<3mm) hinzugefügt.
- Die Höhe eines Abschnitts wurde auf die Standard-Kreuztabellenhöhe erhöht, wenn der Abschnitt eine sehr kleine Kreuztabelle enthält (kleiner als die Standard-Kreuztabellenhöhe) und wenn die Höhe des Abschnitts kleiner als die Standard-Kreuztabellenhöhe war.
- Aufgrund eines Fehlers in der Java VM auf dem Mac OS trat eine Sicherheitsausnahme auf, wenn ein nicht privilegierter Benutzer versucht, die Benutzereinstellungen zu verwenden und i-net Crystal-Clear intern versucht, die Systemeinstellungen zu verwenden.
- ArrayIndexOutOfBoundsException im Übersetzer trat auf, wenn derselbe Platzhalter, z.B. {0}, mehrfach innerhalb desselben Strings verwendet wurde.
- Felder im Unterbericht wurden nicht angezeigt, wenn die Eigenschaft "Bei Duplikaten unterdrücken" aktiviert war und die Textinterpretation "Html (erweitert)" verwendet wurde.
- Die Texteigenschaft "Manuelle Formatierung" funktionierte in vielen Fällen nicht korrekt, wenn sie für Kreuztabellenfelder verwendet wurde.
- HTML-Export:
- Felder mit der Textinterpretation "HTML(advanced)" wurden nicht angezeigt, wenn die Eigenschaft "Bei Duplikaten unterdrücken" aktiviert war.
- Die Eigenschaft "Manuelle Formatierung", Kategorie "Text", funktionierte in vielen Fällen nicht für Felder in einer Kreuztabelle.
- Wenn im Bericht SQL-Ausdruckfelder vorhanden waren und die Datenquellen des Berichts in einen einzigen SQL-Befehl konvertiert wurden, wurden die Ausdrucksfelder aus dem Bericht entfernt. Jetzt werden sie stattdessen in Datenbankfelder umgewandelt, die auf der Spalte in der SQL-Anweisung basieren, die so benannt ist, wie das SQL-Ausdruckfeld benannt wurde.
- Wenn eine Berichtsdatei aus einer älteren Version von i-net Crystal-Clear auf einer Abfragedatei basierte und die Abfragedatei nicht gefunden werden konnte, konnte die Berichtsdatei nicht gelesen werden.
- Zeichen in Crystal-Reports-Vorlagen wie 0x01, die für XML-1.0-Dateien unzulässig sind, führten dazu, dass Berichte nicht korrekt konvertiert werden konnten. Diese Zeichen werden nun stattdessen in Leerzeichen umgewandelt.
- Zusammenfassungsfunktionen in Formeln, die ein Zahlen-Array als Parameter haben, geben bei leeren oder nicht initialisierten Arrays Null statt 0 zurück.
- Manuell eingegebene URL-Parameter nach dem UID-Parameter, die der HTML-Eingabeaufforderungsdialog erstellt, wurden abgeschnitten.
Änderungen in Version 16.0
- Unterstützung für Platzhalter in der SQL-Anweisung für die dynamischen Standardwerte von Parameterfeldern hinzugefügt.
- RTF-Export: Hintergrundfarbe für Textelemente in editierbaren RTF-Dateien unterstützt.
- PDF-Export: Es ist jetzt möglich, Zeichen von nicht eingebetteten Schriftarten, die im Bericht verwendet werden, durch eingebettete Schriftarten zu ersetzen.
- Der statische Logging-Binder für Slf4j wurde in eine separate JAR-Datei inetslf4j.jar extrahiert.
- Der veraltete Befehl "seac" für akzentuierte Zeichen ist in eingebetteten CID-Schriften implementiert.
- Der Report-Cache wird geleert, nachdem die (Report-)Berechtigungen geändert worden sind.
.NET-Ausgabe
- Die .NET-Bibliotheken sind Teil des SDK, das Sie von unserer Website herunterladen können.
- Die .NET Edition ist nicht mehr verfügbar. Bei der Einrichtung des Berichtsservers mit dem Installationstyp "Benutzerdefiniert" ist es möglich, die i-net Clear Reports .NET API zu installieren, mit der es möglich ist, i-net Clear Reports in eine .NET-Anwendung einzubetten.
Behobene Fehler
- Ein Übersichtsfeld mit aktiviertem Running Total und mit Evaluate "On Change Of" einer Gruppe und Reset "On Change Of" eines Nicht-Gruppenfeldes funktionierte nicht korrekt.
- Der benötigte Festplattenplatz bei einem Neustart wurde durch die Wiederverwendung von Dateien reduziert.
- Die Methode engine.getDefaultSqlOfAllStatements(boolean leavePrompts) ignorierte den Parameter leavePrompts.
- In einigen Exportformaten wurde die Höhe eines Abschnitts nicht vergrößert, auch wenn er ein Bild mit aktivierter Eigenschaft "Kann wachsen" enthielt.
- PDF-Formularfelder funktionierten in Teilberichten nicht korrekt.
- HTML-Export:
- Die Darstellung von Etiketten für Entwicklerausgaben war nicht korrekt.
- Text wurde nach mehrspaltigem Layout in Unterberichten nicht angezeigt.
- XLS-Export: ArrayIndexOutOfBoundsException trat auf, wenn ein Bild in einem Abschnitt nicht auf ein Blatt passte. Der Abschnitt beginnt jetzt auf einem neuen Blatt.
- ODS-Export: Abhängig von der verwendeten Zellverteilung und dem Berichtsdesign wurden Zeilen mit einer Höhe von 0 hinzugefügt.
- Kaskadierende Parameter mussten den gleichen Wertetyp wie ihre Eltern haben, was eigentlich nicht notwendig ist.
- Es gab mehrere Probleme mit der Einstellung der Elternreferenzen von kaskadierenden Parametern.
- Der Bericht wurde nicht ausgeführt (Die Datenquelle "xxx" ist nicht definiert.), wenn die Datenbankverbindung programmatisch mit setConnection eingestellt wurde, die Datenquelle, für die der Bericht erstellt wurde, jedoch nicht auf dem Server existiert, auf dem die Berichts-Engine läuft.
- NullPointerException trat beim XLSX- und ODS-Export auf, wenn sich die Woodstox Stax XML API im Klassenpfad befand.
- Die Ausnahme "SocketException: bad argument for IP_MULTICAST_IF2" trat unter Mac OSX auf, wenn der Ethernet-Adapter "en0" nicht verfügbar war.
Installationsprogramm
- Unter Suse SLES und OpenSuse traten während der Installation des rpm-Pakets die folgenden Fehler auf:
- daemonize wird von
clear-reports-server-16.0.225-1.noarchbenötigt - initscripts wird benötigt für
clear-reports-server-16.0.225-1.noarch
- daemonize wird von
Behobene Fehler
- ODS-Export: Mehrere Leerzeichen wurden ignoriert.
- Wenn der Berichtsserver mit "-Djava.net.preferIPv4Stack=true" gestartet wurde, trat "java.net.SocketException? Protocol family unavailable" aufgetreten.
- XLSX-Export: Leistungsverbesserungen für große Berichte.
- ZxingBarCodes JavaBean unterstützt jetzt die Eigenschaft "Format", um z.B. Barcode EAN-128 (GS1-128) zu erstellen.
- Die DateDiff-Formelfunktion unterstützt jetzt den TIME-Wert.
- Editierbarer RTF-Export: Hintergrundfarbe für Textelemente wird unterstützt. Linien und Boxen werden in diesem Format nicht unterstützt.
- Für die Kompatibilitätsstufe <= 8 ist der Standardwert für Statistikfelder jetzt Null statt Null. Dies war die ursprüngliche Voreinstellung in diesen Versionen.
Plugins
- Geändertes Remote Printing API Plugin zur Unterstützung einer globalen Druckauftragsliste. Überarbeitete Benutzeroberfläche für eine bessere Benutzerfreundlichkeit.
Zeitplaner
- Der Link "Configure Scheduler now" wurde aus der GUI des Schedulers entfernt.
- Unterstützung von verschlüsselten SMTP-Verbindungen (STARTTLS)
- Plugins sind notwendig, wenn benutzerdefinierte Zeitplan-Aktionen verwendet werden.
- Die Registrierung von benutzerdefinierten Aktionen oder dynamischen Eigenschaften im Scheduler funktioniert nicht mehr über das Hinzufügen einer jar-Datei zum lib-Pfad - hierfür muss ein Plugin verwendet werden. Weitere Details entnehmen Sie bitte dem Beispiel "scheduler" im Verzeichnis "client/documentation/samples" der i-net Clear Reports Installation.
- Die FTP-Aktion des i-net Schedulers ist nun in der Lage, gerenderte Berichte auf einen FTPS-Server (SSL) hochzuladen.
Behobene Fehler
- Bild-Export: IllegalStateException trat auf, wenn das Drucken für den exportierten Bericht deaktiviert war.
- Datumsbereiche wurden nicht immer korrekt lokalisiert.
- Unicode-Zeichen wie polnische Zeichen wurden in ZxingBarCodes JavaBean nicht kodiert. Es wurden nur iso_1-Zeichen kodiert.
- ClassNotFoundException trat auf, wenn die Konfiguration einen benutzerdefinierten PropertyChecker enthält.
- XLSX- und ODS-Export: NullPointerException trat auf, wenn der Klassenpfad die Woodstox Stax XML API enthält.
- Fehler "javax.xml.parsers.FactoryConfigurationError: Provider redirected.DocumentBuilderFactory not found" trat auf, wenn WildFly verwendet wurde.
- Die Formelfunktion "round" hat nicht immer wie dokumentiert ROUND_HALF_UP verwendet.
- In sehr seltenen Fällen liefert die Multiplikation von großen Zahlen oder Zahlen mit einer großen Skala ein falsches Ergebnis.
- Regressionen:
- Der Cursor von Oracle-Funktionen wurde nicht registriert.
- Doppelte Oracle-Prozeduren in der Wurzel und in einem Paket eines Schemas wurden nicht gefunden.
- Datenexport: Unterdrückte Felder wurden nicht aufgefrischt.
- ArrayStoreException trat auf, wenn eine FormulaExpanderClass mit binären Parametern für Funktionen verwendet wurde.
- In sehr seltenen Fällen hat das Liniendiagramm den Rand des Diagramms überschrieben.
- Die folgende Ora4SQLException trat auf, wenn eine gespeicherte Prozedur mit einem Eingabeparameter vom Typ Datum zu einem Bericht hinzugefügt wurde: [OraDriver?] #14 Unbekannter oder nicht unterstützter SQL-Typ. <0>.
- SocketException: Ungültiges Argument ist aufgetreten, wenn nur ipv4 verfügbar ist (-Djava.net.preferIPv4Stack=true).
- Die spezielle Feld- und Formelfunktion "ReportFile" hat die absolute URL der Berichtsdatei zurückgegeben. Im Falle einer http-URL wird wieder die relative URL zurückgegeben.
- IllegalStateException: PRE_INIT ist aufgetreten, wenn eine JSP-Seite die erste Anforderung nach einem Neustart des Berichtsservers ist.
- Login-Box wurde für den ersten Benutzer im Applikationsserver mehrfach angezeigt, wenn das Login des Applikationsservers verwendet wurde und der Benutzer sich zuerst in einem anderen Programmteil angemeldet hat.
- NullPointerException trat auf, wenn JsonData als Datenquelle verwendet wurde.
- CheckProperties-Methoden in Sample.jsp werden nicht korrekt aufgerufen.
- JSON-Datenquelle: Anführungszeichen ignoriert. Daher wurden Strings als Zahlen interpretiert.
- Aufgrund einiger Fehler in der JSON-RPC-Implementierung war es nicht möglich, die Bibliothek JSON-RPC 2.0 zu verwenden.
- OrderBy-Teil der SQL-Anweisung enthält das Ergebnis einer Formel, wenn der Bericht durch eine Formel gruppiert wurde.
- "Kann wachsen" Textelemente mit Feldteilen konnten fälschlicherweise ihre Daten in einer Zeile duplizieren, wenn die Daten einen Seitenumbruch in der vorherigen Datenzeile verursacht hatten.
- Manchmal konnte eine NullPointerException auftreten, nachdem der 10-Minuten-Timeout der Web-API eingetreten war.
- Fügen Sie auch Teile von WHERE aus der Datensatzauswahlformel hinzu, wenn es zusätzlich zu den verbundenen Tabellen einen SQL-Befehl gibt.
- NullPointerException trat auf, wenn nur JSP oder Cache API verwendet wurde und der Berichtsname nicht mit vollständigem Pfad angegeben wurde.
- NegativeArraySizeException trat beim Parsen eines BMP-Bildes auf. BMP-Bilder mit Zeilenanordnung von oben nach unten werden jetzt unterstützt.
- Verhindern Sie eine doppelte Login-Box für den ersten Benutzer im Anwendungsserver, wenn Sie den Login des Anwendungsservers verwenden und der Benutzer sich bereits in einem anderen Programmteil angemeldet hat.
- Die folgende Ausnahme trat auf, wenn ein Zertifikat mit IBM JavaVM verwendet wurde: java.security.NoSuchAlgorithmException: SunX509 KeyManagerFactory nicht verfügbar.
- XLSX-Export: Überspringen Sie Null-Zeichen in der XLSX-Ausgabe, da dies korrupte XLSX-Dateien erzeugt.
- NullPointerException trat bei verschachtelten Benutzerfunktionsaufrufen in Formeln auf.
- Postscript-Export: Bei der eingebetteten Schriftart Arial Narrow trat ein Speicherleck auf.
- XLS-Export: "Suppress if Duplicated" unterdrückt in einigen Fällen keine doppelten Felder.
- Regression: Die Exception "Total Page Count not supported in this context" trat auf, wenn TotalPageCount nur in einer Formel verwendet wurde, die dem Berichtsentwurf hinzugefügt wurde.
- Unbehandelte Exception "java.lang.InternalError" mit der Meldung "couldn't create component peer" trat bei Java 8u152 auf.
Ad Hoc Reporting
- IllegalArgumentException trat auf, wenn Ad-hoc-Reporting für ein Datenbank-Repository verwendet wurde.
- Ad-hoc-Datenansicht: der Fehler "Formula Field not found" trat auf, wenn das Formel-Feld nur in der Datensatzauswahl-Formel der Ad-hoc-Datenansicht verwendet wurde.
- im Ad-hoc-Reporting trat der Fehler "Cannot read property 'addEventListener'" auf.
- Die Berechtigung für 'Remote Designer' beinhaltet nun auch die (ehemaligen) Berechtigungen für 'Remote Datasources'.
- In der Ad-hoc-Berichterstattung darf der Benutzer nun alle Ad-hoc-Vorlagen und Ad-hoc-Datenansichten verwenden, es sei denn, ein Repository wird als Speicherort verwendet und die Berichtsberechtigungen werden im Berichts-Repository festgelegt.
- Wenn ein Dataview-Name Leerzeichen enthält und in einem Datenbank-Repository gespeichert wurde, war er im Ad Hoc Reporting nicht verfügbar.
- Es trat ein Ladeproblem auf einer entfernten Ad Hoc-Filterseite auf. Wenn derselbe Ad Hoc-Bericht mit verschiedenen Filterwerten geladen wurde, wurde nur der erste Filterwert verwendet.
- Das Ad-Hoc-Berichtsapplet konnte die Ad-Hoc-Datenansicht nicht verwenden, wenn ein Datenbank-Repository verwendet wurde.
- Die folgende Ausnahme ist aufgetreten, wenn kaskadierende Prompts im Ad Hoc Reporting verwendet wurden: NoClassDefFoundError: com/google/gwt/user/server/rpc/RemoteServiceServlet.
- Die Online-Hilfe wurde im Ad-hoc-Web-Client nicht angezeigt, wenn i-net Clear Reports als Servlet in einem Anwendungsserver wie Websphere oder Tomcat ausgeführt wurde.
- Das Attribut "Permissions" fehlte in der Manifestdatei des Adhoc Reporting Applets. Dies ist seit Java 7 Update 45 erforderlich.
- Das Attribut "Permissions" fehlte in der Manifestdatei des Adhoc Reporting Applets. Dies ist seit Java 7 Update 45 erforderlich.
- Für den AdHoc Swing Client kann nun ein MessageAdapter implementiert und in der AHConfig gesetzt werden. Dieser Adapter wird für jeden Meldungsdialog des AdHoc-Clients aufgerufen und ermöglicht so die Implementierung eines eigenen Meldungshandlings.
- Die Umbenennung von Summen in Berichten, die als Vorlagen im Ad Hoc Reporting verwendet werden, war fehlerhaft.
- Laufende Summen wurden in Berichten, die im Ad-hoc-Reporting als Vorlage verwendet wurden, nicht korrekt berechnet.
- Der Oracle Thin-Treiber und Spalten vom Typ Timestamp mit (lokaler) Zeitzone wurden nicht unterstützt.
- Das Attribut "Permissions" fehlte in der Manifestdatei des Ad-hoc-Berichts-Applets. Dies ist seit Java 7 Update 45 erforderlich.
- Das Ad Hoc Reporting ignoriert jetzt Verzeichnisse mit einem Punkt am Anfang des Namens (unsichtbare Verzeichnisse unter Unix/Linux).
- Die Ad Hoc Web-GUI verbietet nun standardmäßig das Überschreiben von Berichten mit gleichem Namen. Das Überschreiben kann durch ein Kontrollkästchen aktiviert werden.
- Es ist nun möglich, das Standard-Rendering-Format von Ad Hoc-Berichten im Konfigurations-Manager einzustellen.
- Seit Version 10.0 ist es möglich, Ad Hoc Reporting zu verwenden, um Berichte on the fly zu generieren.
- In der Ad-hoc-Berichterstattung wurden beim Wechsel der zugrundeliegenden Vorlage die Prompt-Werte gespeichert und auf die neue Vorlage angewendet, auch wenn diese andere Prompts enthielt, was zu Problemen führen konnte. Jetzt werden die Prompt-Informationen beim Wechsel der Vorlage zurückgesetzt.
Änderungen in Version 15.0
Die Java VM Version 8 ist in i-net Designer und Report Server auf Windows und Mac integriert. Sie wird installiert und verwendet, wenn keine Java VM Version 8 auf dem Rechner gefunden wurde. Während der Einrichtung des Berichtsservers unter Verwendung der benutzerdefinierten Installationsart ist es möglich, die i-net Clear Reports .NET API zu installieren. Dies ermöglicht die Einbettung von i-net Clear Reports in eine .NET-Anwendung.
- Berichts-URL-Parameter "reports" hinzugefügt - der Wert sollte mehrere Berichte enthalten, die als eine Ausgabe, z.B. als PDF-Datei, dargestellt werden sollen. Trennen Sie jeden Bericht durch ein Semikolon.
- XLSX-Export für neuere Microsoft Excel-Versionen hinzugefügt.
- Webserver-Plugin hinzugefügt.
- die
CHARundNCHARWerte werden auch für dynamische Prompt-Werte abgeschnitten. - Die Anzahl der Threads, die vom Jetty-Webserver auf einer Maschine mit hoher CPU-Anzahl verwendet werden, wurde begrenzt, um die
IllegalStateExceptionzu verhindern: Unzureichende Anzahl von Threads im ThreadPool` zu verhindern. - Die URL des Berichts wird nach
checkPropertiesaufgelöst. Das macht es einfacher, mit dem eigenen Adressraum zu arbeiten. - Jetty Version aktualisiert auf Version 9.2.10.
- Die Einbettung von OTF-Schriften im PDF-Export und im Java-Report-Viewer wird nun unterstützt.
- Die Formel für die Datensatzauswahl ist jetzt in einen Teil, der in der Datenbank ausführbar ist, und einen Teil, der nicht in der Datenbank ausführbar ist, unterteilt. Der Teil, der in der Datenbank ausführbar ist, wird in die Where-Klausel der SQL-Anweisung eingefügt. Der andere Teil wird im Speicher ausgeführt. In früheren Versionen wurde die komplette Datensatzauswahlformel im Speicher ausgeführt, wenn ein Teil davon in der Datenbank nicht ausführbar war.
- Wenn sowohl clearreports.config als auch clearreports.configfile in der Datei web.xml des i-net Clear Reports Servlet gesetzt sind, wird clearreports.configfile nur dann als Fallback verwendet, wenn die Konfiguration in clearreports.config nicht gefunden wurde.
- Der PHP Proxy wurde entfernt. Das Apache-Setup benötigt nun die zusätzlichen Module "rewrite", "proxy_http" und "headers" und nutzt den internen Mechanismus, um Anfragen über Apache an i-net Clear Reports weiterzuleiten.
Geändertes Verhalten
- Um einen
OutOfMemoryErrorzu verhindern, wurde die maximale Anzahl der Fehler inEngineStateauf 10 begrenzt. - Die ADD-Operation von Formeln ist jetzt strenger: Strings können nur zu Strings hinzugefügt werden. Versteckte interne Typkonvertierungen sind nicht mehr möglich.
- Formelfelder mit der Auswertungszeit
BeforeReading, die im Datensatzauswahlfilter enthalten sind, können auf der Datenbank ausgeführt werden, auch wenn sie lokale Variablen enthalten. - Für Oracle-Datenbanken wird der Spaltenname als Spaltenalias anstelle des Kommentars verwendet.
- Unterstützung für Datenbankfunktionen von MySQL v5 und höher hinzugefügt.
- Wenn die Eigenschaft
quotesToLowerCase(Quote Database Identifier) in der Datenquellenkonfiguration gesetzt ist, werden die Datenbankbezeichner immer in Anführungszeichen gesetzt. - Es wird nun unterstützt, kaskadierende Parameter aus verschiedenen Datenbanktabellen zu verwenden.
- Die Methode
Datasource.getConnection()hat jetzt einen Aufrufzähler. Sie müssenclose()so oft aufrufen, wie SiegetConnection()aufrufen. Andernfalls haben Sie ein Verbindungsleck. Wir empfehlen die Verwendung der try-with-resources-Funktion, die in Java 7 eingeführt wurde:
try( Verbindung conn = ds.getConnection() ) {
// einige Dinge
}
API-Änderungen
- Klassen, Methoden und Konstanten, die in Version 12 und älter auf "veraltet" gesetzt waren, wurden entfernt.
- Hinzugefügte Klassen oder Interfaces:
com.inet.report.EngineBundlecom.inet.report.database.fetch.DataCollectorcom.inet.report.database.fetch.FetchTablescom.inet.report.formula.UserDefinedFunction
- Methoden hinzugefügt:
SwingViewerContext.SwingViewerContext(Component)
Verwerfungen
- Bericht URL Parameter
sproc: Sie können jeden der Prompt-Parameter in der Berichts-URL verwenden, um stattdessen den Parameterfeldwert für eine gespeicherte Prozedur festzulegen. - Bericht-URL-Parameter
queryfile: Wenn Sie Berichtsdateien mit Abfragedateien haben, müssen Sie diese so migrieren, dass sie eine Datenquelle verwenden.
Statistik
- Wenn der 'Download' eines Cache-Berichts einen neuen Cache-Eintrag verursacht (weil ein anderer Benutzer denselben Bericht bereits angefordert hat o.ä.), wird der Download als 'Bericht erneut ausführen' angezeigt, um deutlich zu machen, dass der Bericht erneut gerendert wird.
- Benchmark-Widget hinzugefügt. Es kann verwendet werden, um die Serverauslastung und Geschwindigkeit zwischen Client und Server oder Server und Datenbank zu testen.
- Kategorie "System-Dumps" hinzugefügt. Sie ermöglicht das Herunterladen eines Speicherabbilds oder eines Thread-Dumps des Berichtsservers.
- Alphanumerische Sortierung ist jetzt auch für die interaktive Sortierung verfügbar.
- Login-Typ "Datenbank-Authentifizierung" hinzugefügt - verwenden Sie die Authentifizierung einer Datenbank als Authentifizierungsmethode.
- Neue Warnungen bei der Null-Prüfung durch =null und bei der Verwechslung von = und := in Crystal-Syntax hinzugefügt.
- Corporate Design Leitfaden zur Dokumentation hinzugefügt.
- Gruppierte Zusammenfassungsfelder sind jetzt ein Fehler in der Datensatzauswahlformel, da ihr Wert beim Filtern undefiniert ist. Verwenden Sie sie stattdessen in der Gruppenauswahl.
- Performance- und Stabilitätsverbesserungen für Berichte mit massiven Formelabhängigkeiten.
- Wenn die PostgreSQL-Datenbank verwendet wird und die Eigenschaft quotesToLowerCase (Quote Database Identifier) in der Datenquellenkonfiguration eingestellt ist, werden Datenbankbezeichner immer in Anführungszeichen gesetzt.
API-Änderungen
- Klassen hinzugefügt:
- AuthenticationProvider
- RemoteWebUserInfo
- WebUserInfo
- Hinzugefügte Methoden:
- BarPlot.getBarMarginPercent()
- BarPlot.setBarMarginPercent( double )
- CrossTabBody.moveSummaryField(int,int)
- Die Methodensignatur von DesignerDataModel.openPropertyFormulaDialog wurde geändert. Jetzt ist ein Eigenschaftsname und ein Flag zur Angabe eines Tristates notwendig.
Remote Schnittstelle
- Der Datei-Upload-Dialog im Repository Browser wurde optimiert.
- Die Statistikdaten werden jetzt in einer Zip-Datei gespeichert, um Speicherplatz zu sparen.
- Die Remote-Statistiken verfügen nun über eine Option zum Einstellen der maximalen Anzahl der zu ladenden Datensätze, um die Anwendung reaktionsschnell und reibungslos zu halten, was insbesondere für mobile Clients nützlich ist.
- Die Seite 'Connection Pool', die die aktuellen Datenbankverbindungen anzeigt, wurde dem Statistikmodul hinzugefügt.
- Die verfügbaren Gruppen und Benutzer werden in der Benutzer/Rollen-Dropdown-Liste in den Konfigurationsmanager-Kategorien System- und Berichtsberechtigungen angezeigt, wenn der Authentifizierungstyp LDAP verwendet wird.
Ad-hoc-Berichterstattung
- Ausschließende Filterkriterien im Ad Hoc Reporting werden nun mit AND statt OR verknüpft.
- Aufgrund von Berechtigungs- und URL-Codierungsproblemen für Ad-hoc-Datenübersichten in einem Berichts-Repository war es nicht möglich, Ad-hoc-Datenübersichten aus einem Berichts-Repository zu verwenden.
- Im Repository gespeicherte Ad-hoc-Datenansichten wurden im Ad-hoc-Reporting nicht angezeigt, da es Probleme mit der Berechtigung und der URL-Kodierung für Datenansichten in einem Repository gab.
- Die Ad-hoc-Berichterstattung ermöglicht nun den Download des aktuellen Berichts als i-net Clear Reports Berichtsdatei (.rpt).
- Die Ad-hoc-Berichterstattung ermöglicht nun das Exportieren und Importieren von Speicherpunkten und deren gemeinsame Nutzung in verschiedenen Konten.
- Die Leistung des Visual Database Wizard für Berichte mit sehr vielen Tabellen (ca. > 30) wurde verbessert.
- Das Rendern von Berichten in Ad-Hoc (Swing und Web) kann nun jederzeit gestoppt werden.
- Die eingebettete Ad-hoc-Web-GUI unterstützt nun das programmatische Öffnen des Hilfe-Panels zusätzlich zum Öffnen durch den Benutzer.
- Die Fähigkeit des Remote-Designers, Berichte aus einem Repository zu öffnen und auszuführen, hängt nicht mehr von der Aktivierung des Ad-hoc-Dienstes ab.
- Es war nicht möglich, einen gespeicherten Ad Hoc Bericht korrekt zu laden. Es war notwendig, die Ad Hoc Datenansicht erneut auszuwählen.
- Es war nicht möglich, einen gespeicherten Ad Hoc Bericht korrekt zu laden. Es war notwendig, die Ad Hoc Datenansicht erneut auszuwählen.
Behobene Fehler
- PDF-Export:
- Ein leerer Unterbericht mit aktivierter "Suppress if Blank"-Eigenschaft konnte die folgenden Daten verbergen.
- Ein leerer Teilbericht mit aktivierter Eigenschaft "Unterdrücken, wenn leer" könnte eine leere Seite erzeugen.
- Excel-Export: Die Eigenschaft Zellverteilung wurde in Unterberichten nicht verwendet.
- HTML-Export: Wenn die Eigenschaft "Mehrere HTML-Dateien" deaktiviert ist, wurde nur die erste Seite eines mehrseitigen Berichts im Browser angezeigt.
- Diagramme:
- Es trat ein Fehler mit StackedBarCharts auf. Er führte dazu, dass die Gesamtsumme nur dann angezeigt wurde, wenn die letzte oder vorletzte Reihe einen Wert in dieser Spalte hatte.
- ReportServletJSP wiederhergestellt.
- Die i-net Clear Reports Plugins wurden nicht korrekt geladen, wenn sie in Tomcat 8.0.11 eingesetzt wurden.
- Unicode-Probleme traten auf, wenn die Codepage der Java VM nicht mit der Codepage der Plattform übereinstimmte.
- Die Wiederherstellung von Unicode-Daten aus dem Festplatten-Cache und dem Datenbank-Cache war falsch.
- HTML-Eingabeaufforderung:
- Er öffnete sich beim Exportieren eines Berichts nicht, wenn der Bericht eine Datumsbereichsabfrage mit Bereichsvorgaben enthielt.
- Zeitabfragen wurden nicht korrekt gehandhabt.
- Zeitabfragen wurden nicht korrekt auf ihre Grenzen geprüft, wenn sie Grenzen für zulässige Werte hatten.
- Wenn mehr als ein Unterbericht eine Eingabeaufforderung mit demselben Eingabeaufforderungsnamen enthielt, setzte der HTML-Eingabeaufforderungsdialog nur den Wert der Eingabeaufforderung aus dem ersten Unterbericht, was dazu führte, dass der Eingabeaufforderungsdialog erneut angezeigt wurde, wenn man auf Senden drückte.
- URL-Parameter, die Prompt-Werte setzen, wurden nicht immer korrekt für die Einstellung der gewählten Werte verwendet.
- Datumsbereichswerte, die einen Grenzwert für zulässige Werte enthielten, wurden nicht immer korrekt auf den Grenzwert geprüft.
- Wenn eine Datumsabfrage auf "nur Standardwerte" eingestellt war, wurde trotzdem eine Kalenderschaltfläche zur Auswahl eines Datums angezeigt.
- Wenn ein Wert fehlte, wurden kaskadierende Unterprompts im Prompt-Baum im HTML-Prompt-Dialog nicht korrekt ausgewählt.
- Werte von Datenbankfeldern und dynamischen Eingabeaufforderungsfeldern mit dem Typ CHAR oder NCHAR wurden nicht abgeschnitten.
- PDF-Formularfelder funktionierten in Teilberichten nicht korrekt.
- HTML-Export:
- Die Darstellung der Bezeichnungen von Entwickler-Editionen war nicht korrekt.
- Der Seiteninhalt wurde nach einem Unterbericht an den rechten Rand der Seite verschoben.
- NullPointerException in MemoryStream.writeUTF8(SourceFile:196) aufgetreten.
- Exception: "Protokoll ist keine Datei: jndi:...rpt" trat in einer Formel auf.
- Die Formelfunktion CurrentDate hat die aktuelle Zeit als versteckten Wert zurückgegeben. Wenn sie für die Berechnung verwendet wurde, konnte dies zu falschen Ergebnissen führen.
- Regression: Wenn ein Bericht länger als 10 Minuten gerendert wird, trat eine Fehlermeldung "Wrong Mime Type text/html" auf, wenn der Java Report Viewer verwendet wurde.
- Die Formelfunktion "Runden" hat nicht immer wie dokumentiert ROUND_HALF_UP verwendet.
- In sehr seltenen Fällen liefert die Multiplikation von großen Zahlen oder Zahlen mit einer großen Skala ein falsches Ergebnis.
- Datenexport:
- Unterdrückte Felder wurden nicht aufgefrischt.
- Die spezielle Feld- und Formelfunktion "ReportFile" hat die absolute URL der Berichtsdatei zurückgegeben. Im Falle einer http-URL wird wieder die relative URL zurückgegeben.
- Die Formelfunktion "truncate" hat aufgrund eines internen Rundungsfehlers einen falschen Wert zurückgegeben.
- NegativeArraySizeException trat beim Parsen eines BMP-Bildes auf. BMP-Bilder mit Zeilenanordnung von oben nach unten werden jetzt unterstützt.
- Die folgende Ausnahme trat auf, wenn ein Zertifikat mit IBM JavaVM verwendet wurde: java.security.NoSuchAlgorithmException: SunX509 KeyManagerFactory nicht verfügbar.
- XLS-Export:
- Einige unterschiedliche Zeichenketten konnten nicht unterschieden werden, daher wurde statt zweier unterschiedlicher Zeichenketten die gleiche Zeichenkette zweimal in die XLS-Datei eingefügt.
- Unbehandelte Exception "java.lang.InternalError" mit der Meldung "couldn't create component peer" trat bei Java 8u152 auf.
- Manchmal konnte eine NullPointerException auftreten, nachdem der 10-Minuten-Timeout der Web-API eingetreten war.
.Net Edition
- IKVM wurde auf Version 7.4 aktualisiert.
- Bilder in erweitertem HTML fehlten.
- Standard-Implementierung des .Net Report Viewers im Beispielverzeichnis hinzugefügt.
- IKVM 7.3 wird verwendet.
- Tutorials in i-net Designer jetzt in i-net Clear Reports .Net verfügbar.
- Der Bildexport aus dem Java Report Viewer war fehlerhaft.
- Hilfe für Remote Designer fehlte.
- Fehlende Bilder in Advanced HTML aufgetreten.
- Jetzt gibt es nur noch ein Setup für die .Net Version des i-net Clear Reports Servers. Dieses Setup kombiniert die 32/64 Bit Version. Es unterstützt auch Windows 8 (.Net 4.0).
- Zxing JavaBean hinzugefügt.
- Windows 8 mit Microsoft .Net Framework 4.0 wird unterstützt. Es wird kein Popup zur Installation von Microsoft .Net Framework 3.5 mehr angezeigt.
- Postgres-Datenbanktreiber zum Setup hinzugefügt.
- Das Setup der i-net Clear Reports .Net Edition kann in Deutsch oder Englisch aufgerufen werden.
- Neue API-Methode Engine.SetData(String, Datatable) hinzugefügt.
- ASP.Net Proxy Beispiel hinzugefügt.
- ein Beispiel für einen .Net-Berichtsbetrachter wurde dem Samples-Ordner hinzugefügt: "<Installationsverzeichnis>\Client\Dokumentation\\Beispiele\\viewer_.net".
- Auf 64-Bit-Rechnern wurde i-net Clear Reports .NET fälschlicherweise im Ordner "Program Files (x86)" installiert.
- Der Serverfehler "Content-Length oder Chunked Encoding ..." trat bei .NET Framework 4 auf.
- Auf 64-Bit-Rechnern wurde i-net Clear Reports .NET fälschlicherweise in den Ordner "Program Files (x86)" installiert.
- i-net Clear Reports .NET: Eine der Verknüpfungen im Windows-Startmenü wurde falsch generiert und war ungültig.
- Wenn der .NET-basierte Clear Reports-Dienst gestartet wird, während der Port bereits durch eine andere Instanz blockiert ist, wird jetzt eine bessere Fehlermeldung angezeigt.
Behobene Fehler
- Eine Kreuztabelle in einem Unterbericht konnte unvollständig sein, wenn die Eigenschaft "Zusammenhalten" für diesen Unterbericht aktiviert war und der Unterbericht nicht auf die Seite passte.
- RTF-Export: Der Kopfbereich des Berichts wurde nicht auf der ersten Seite angezeigt, wenn die "Gesamtseitenzahl" nicht auf der ersten Seite verwendet wurde.
- PDF-Export:
- Hindi-Text wurde in PDF-Dateien falsch angezeigt, wenn SansSerif als Schriftart eingestellt war. Für die Anzeige von Hindi muss eine Schriftart gewählt werden, die die Hindi-Zeichen enthält (z. B. Arial Unicode MS).
- Der PDF/A-Export war bei signierten PDF-Dateien nicht korrekt.
- Grauskalierte JPEG-Bilder wurden nicht angezeigt.
- Web-optimierter Export nach PDF konnte zu einer ungültigen PDF-Datei führen.
- die Ausnahme "Ungültiger Renderstatus. Die Ausnahme "Ungültiger Renderstatus. Seite bereits fertig." trat auf, wenn die Eigenschaften Neue Seite nach und Unterdrücken für den letzten Berichtskopfabschnitt aktiviert waren.
- Excel-Export: Eine Kreuztabellenzelle war eine einzelne Zeile, obwohl die ursprüngliche Kreuztabellen-Spaltenbeschriftung mehrere Zeilen enthielt.
- Dialog zur HTML-Eingabeaufforderung: Die Beschreibung des Standardwerts wurde nicht in der Liste der ausgewählten Werte angezeigt.
- ORDER BY bei mehreren Gruppen für dasselbe Datumsfeld war nicht korrekt.
- In einigen Fällen begann der Zeilen-/Spaltenindex in Formelfehlermeldungen bei 0 statt bei 1 wie im Formeleditor.
- Ein benutzerdefinierter Servlet-Filter, der einen umhüllten HttpServletRequestWrapper erstellt, wurde nicht überall verwendet.
- Ein seltener Textlayout-Fehler für HTML-Felder konnte auftreten und wurde behoben.
- Die Umleitung von HTTP zu HTTPS funktionierte nicht korrekt.
In der .NET Edition wurden die Methodennamen wieder auf die Java-Konvention der Kleinschreibung umgestellt und nicht mehr auf die in C# üblichen groß geschriebenen Namen.
- Es trat ein Fehler mit dem Berichtsdaten-Cache auf. "Distinct" wurde ignoriert, wenn die Daten aus dem Cache geladen wurden.
- Unbenutzte Formelfelder wurden geprüft, wenn andere Formelfelder oder Parameterfelder in der Datensatzauswahlformel verwendet werden. Dadurch kann es vorkommen, dass ein Bericht wegen einer ungültigen unbenutzten Formel nicht ausgeführt werden kann.
- NullPointerException trat bei der Deserialisierung einer bereits gerenderten Engine auf.
- Bei Label-Elementen führten mehrere Zeilenumbrüche, die über einen Seitenumbruch hinausgehen, dazu, dass einige Zeilen im Label unterdrückt wurden.
- HTML-Export:
- Die exportierte HTML-Datei war fehlerhaft, wenn im mehrspaltigen Abschnitt die Unterlegung des folgenden Abschnitts aktiviert war.
- Der Unterbericht war im mehrspaltigen Abschnitt nicht korrekt.
- Report Listener startete nicht mit optionalen Remote Interface Bibliotheken.
- Einige Berichtsfelder enthielten Bildlaufleisten, wenn die HTML-Datei im Chrome-Browser angezeigt wurde.
- PDF-Export:
- PDF-Signatur-Problem trat auf, wenn die verwendete Keystore-Datei mehrere Einträge enthält.
- Die Positionierung von thailändischen Vokalen in exportierten PDF-Dateien war falsch.
- Der Rand eines Unterberichts wurde im Kopfbereich der Seite gezeichnet, wenn er in zwei Seiten aufgeteilt war.
- Wenn es kaskadierende Eingabeaufforderungen gab und eine der "übergeordneten" Eingabeaufforderungen Listen von Werten akzeptierte, führte eine leere Liste zu einem Fehler auf dem Server.
- NullPointerException trat beim Einbetten von Schriftarten auf, da die Groß- und Kleinschreibung der Schriftartennamen beachtet wurde.
- Die Berechnung der Mindestbreite für CJK-Texte war falsch.
- NullPointerException während der Deserialisierung einer bereits gerenderten Report-Engine trat auf.
- Das Scannen des Klassenpfads für Datenbanktreiber im Datenquellenmanager nach einer Neuinstallation konnte zu einem internen Fehler führen.
- Datenexport: Wenn der Bericht keinen Datensatz enthält, dann enthält die exportierte .csv-Datei auch keine Datensätze, nicht einmal einen leeren Datensatz.
- Bei der Textinterpretation HTML(Advanced) kam es beim Export in ein Format mit eingebetteten Schriftarten zu Inkonsistenzen zwischen eingebetteten Schriftarten und Systemschriftarten.
- Wenn Sie im HTML-basierten Eingabeaufforderungsdialog einen Wert eingeben und direkt die Eingabetaste drücken, anstatt auf OK zu klicken, wird der Wert möglicherweise nicht an den Server übertragen.
- ReportReader & Crystal Reports 2011:
- Spezialfelder wurden noch korrekt rot dargestellt. Sie wurden als Seitenzahlfeld rot dargestellt.
- Joins zwischen Tabellen fehlten.
- Mehrere Probleme mit der neuesten Version von ReportReaderStart und ReportReaderNET wurden behoben, die insbesondere beim Einlesen von Berichtsvorlagen aus älteren Crystal Reports Versionen zu Problemen führen konnten.
- NullPointerException trat auf, wenn einige Mac OS X-Schriften mit nicht standardmäßiger Zeichenzuordnung verwendet wurden.
- Zeichen aus einer bestimmten Barcode-Schriftart (Code128) konnten nicht korrekt angezeigt werden.
- Der Fehler "Der Wertetyp des Feldes unknownname: 'null' in Gruppe 0 ist unbekannt" ist aufgetreten, wenn eine Kreuztabelle verwendet wurde.
- SQLException: Es ist ein nicht unterstützter Methodenaufruf aufgetreten.
- RTF-Export: Es wurden zusätzliche Leerzeichen zu einem langen Text hinzugefügt, wenn die Schriftart geändert wurde.
- Gruppierung auf Datumsfeld wurde in der Datenbank nicht ausgeführt, da das erstellte SQL falsch war.
- Es trat ein Fehler im Report Data Cache auf. "Distinct" wurde ignoriert, wenn die Daten aus dem Cache geladen wurden.
- PHPProxy: Es traten gzip-Fehler auf.
- Unbenutzte Formelfelder wurden überprüft, wenn andere Formelfelder oder Parameterfelder in der Datensatzauswahlformel verwendet werden. Dadurch kann es vorkommen, dass ein Bericht wegen einer ungültigen unbenutzten Formel nicht ausgeführt werden kann.
- NullPointerException trat bei der Deserialisierung einer Engine auf, die bereits gerendert wurde.
- In der DB2-Datenbank ist der Fehler "Spalte nicht gefunden" aufgetreten.
- Excel-Export: Nicht aussagekräftige Log-Meldung: "Anzahl der Dezimalstellen bei Ganzzahlformat: x statt 0" entfernt.
- Eine Kreuztabelle in einem Unterbericht konnte unvollständig sein, wenn die Eigenschaft "Zusammenhalten" für diesen Unterbericht aktiviert war und der Unterbericht nicht auf die Seite passte.
- Text-Export: Kreuztabellenspalten werden nicht korrekt positioniert, wenn die Zeichen in der verwendeten Schriftart (z.B. MingLiu) die doppelte Länge haben. In diesem Fall werden die ASCII-Zeichen anstelle der Box-Zeichen verwendet.
- PDF-Export: Die Schriftfarbe wurde als Hintergrundfarbe für den nächsten Abschnitt verwendet.
- Excel-Export: NullPointerException aufgetreten.
- Eine weitere NullPointerException trat bei der Fehlerbehandlung einer NullPointerException auf.
- In einigen Fällen begann der Zeilen-/Spaltenindex in Formelfehlermeldungen bei 0 statt bei 1 wie im Formeleditor.
- Excel-Export: Eine Kreuztabellenzelle war eine einzelne Zeile, obwohl die ursprüngliche Kreuztabellen-Spaltenbeschriftung mehrere Zeilen enthielt.
- PDF-Export:
- Ein leerer Teilbericht mit aktivierter "Suppress if Blank"-Eigenschaft konnte die folgenden Daten ausblenden.
- Eine zusätzliche leere Seite wurde erstellt, weil die Eigenschaft "Unterdrücken, wenn leer" für einen leeren Unterbericht aktiviert war.
- Excel-Export:
- ArrayIndexOutOfBoundsException: 1 aufgetreten.
- ArrayIndexOutOfBoundsException: 129 >= 2 aufgetreten.
- Wenn die URL den Parameter promptonrefresh enthielt, wurden die Parameter eines HTML-Eingabedialogs nicht korrekt übermittelt.
- Feldformatierungsprobleme bei der Verwendung von "suppress if zero" in Kombination mit einem "fixed currency symbol" sind aufgetreten.
- IllegalArgumentException bei Zahlenformeln für Java Beans trat auf, wenn der Ziel-Java-Type der Java Beans double war. Dies konnte zum Beispiel bei der Gauge Bean auftreten.
- In seltenen Fällen wurde eine Hintergrundfarbe von Subreport-Elementen nicht oder nur einmal angezeigt, wenn nur eine Hintergrundfarbe für die Report-Elemente verwendet wurde und für mindestens einen Report-Abschnitt eine Hintergrundfarbe gesetzt wurde.
- IndexOutOfBoundsException trat bei der Verarbeitung der Datensatzauswahlformel auf.
- Die Formelfunktion "PreviousIsNull" hat null statt true zurückgegeben, wenn sie für den ersten Datensatz verwendet wurde.
- Ein Aufruf der Methode setData(ResultSet) hat eine Datenbankverbindung erstellt, wenn eine gültige DataSourceConfiguration vorhanden war.
- Nur die erste Spalte wurde dem Bericht hinzugefügt, wenn MySQL verwendet wurde und die verwendete Stored Procedure zwei gleichnamige Spalten aus verschiedenen Tabellen enthält.
- Seitenfuß wurde im nicht druckbaren Bereich gedruckt, wenn der Berichtsfuß mit aktivierter "Underlay Following Section" nicht auf die Seite passte.
- ReportReaderNet:
- Verschiedene Zahleneigenschaften wie "Feldbeschneidung zulassen" und andere werden jetzt korrekt gelesen, einschließlich ihrer Eigenschaftsformeln.
- Wenn sich Nicht-Teilberichtselemente im gleichen Abschnitt wie ein Teilbericht befanden, wurden Crystal Reports-Vorlagen oft mit Warnungen wie "Mögliche Fehler im Teilbericht..." geladen.
- Die Gruppeneigenschaft "Gruppe zusammenhalten" wurde von Crystal Reports-Vorlagen nicht korrekt gelesen. Sie wurde immer auf false gesetzt.
- Zusammenfassungsfelder in Crystal-Reports-Vorlagen, die auf laufende Summenfelder eingestellt waren und sowohl eine Einstellung "Auswerten bei Änderung von" als auch eine Einstellung "Zurücksetzen bei Änderung von" hatten, verloren die Einstellung "Auswerten bei Änderung von".
- Es trat ein Fehler bei der Verwendung von ReportReaderNet mit Crystal Reports XI R2 auf.
- Es trat ein Fehler bei der Verwendung von ReportReaderNet mit Crystal Reports 2011 auf.
- Excel-Export:
- NullPointerException aufgetreten.
- Wenn ein Schrägstrich als Trennzeichen in einem benutzerdefinierten Datumsformat verwendet wurde, wurde dieses Datum mit dem Standard-Begrenzungszeichen des Gebietsschemas angezeigt.
- Es konnte ein Problem bei der Erstellung einer Datenbankverbindung zu einer Apache Derby Datenbank auftreten.
- Eine Ausnahme trat auf, wenn ein Bericht als Unterbericht hinzugefügt wurde, der Zeilen und/oder Felder enthält, die sich über mehrere Abschnitte erstrecken und im Seitenkopf beginnen oder in der Fußzeile enden.
- Eine Zeile, die sich über mehrere Abschnitte erstreckt, fehlte auf einer Seite, wenn sie in der Gruppenfußzeile endete und es keine Gruppenfußzeile auf dieser Seite gab.
- Deadlocks unter MacOS traten beim Start des i-net Designers oder des Berichtsservers auf.
- PDF-Export:
- Titel und Betreff aus den Dokumenteigenschaften wurden nicht in die erzeugte PDF-Datei geschrieben.
- Ein Bild in der exportierten PDF-Datei war beschädigt, wenn seine Position mit der Bildeigenschaft "Dynamic Image Location" festgelegt wurde.
- Die Unicode-Zuordnung für Multibyte-Zeichen war falsch.
- RecordSelection-Optimierung für Subreports - dies funktioniert nun vollständig gleich wie der Hauptbericht. Die Entfernung von Prompt-Platzhaltern für den Fall, dass getSQL vor der Ausführung auf der Engine aufgerufen wurde, wurde behoben.
- Datenexport: Einige Daten in Gruppenfußzeilen waren fehlerhaft.
- Excel-Export: Wegen einiger statischer Texte in Unterberichten konnte es vorkommen, dass Excel eine exportierte .xls-Datei in der geschützten Ansicht öffnet.
- Ein Datenbankverbindungsleck beim Aufruf von SQLValueProvider.getDefaultValues() ohne Aufruf von Engine.execute().
- Text-Export: Eingebettete Fonts wurden bei der Berechnung der Metrix des TXT-Exports ignoriert.
- Der Java-Viewer zeigt keine Zeichen an, wenn die verwendete Schriftart nicht eingebettet werden kann, aber zum Schriftartenpfad hinzugefügt wurde.
- Die Fehlermeldung "Die Fehlerursache für den Bericht konnte nicht zurückgegeben werden" wurde angezeigt. Jetzt wird die korrekte Fehlermeldung angezeigt.
- HTML-Export:
- Wenn in einer HTML-Ausgabe eines Berichts mit Prompts auf die Schaltfläche "Neu laden" geklickt wurde, gingen in einigen Fällen die ursprünglich eingegebenen Prompt-Werte verloren.
- Elemente im Kreuztabellen-Beschreibungsabschnitt wurden außerhalb der Tabelle angezeigt, wenn der Internet Explorer verwendet wurde.
- ReportReader hat alle speziellen Felder als Druckdatum gelesen, wenn eine Crystal Reports 2011 rpt-Datei verwendet wurde.
- In seltenen Fällen wurden beim Speichern älterer Berichte mit SQL-Ausdruckfeldern die Felder nicht korrekt gespeichert, wodurch sie ungültig wurden.
- In seltenen Fällen gab es bei älteren Berichten mit SQL-Ausdruckfeldern Probleme, die dazu führten, dass sie in der neuesten Version von i-net Clear Reports mit dem Namen "null" geladen wurden. Dies führte dazu, dass der Bericht nicht mehr funktionierte.
- Prompt-Namen, die "</script>" im Namen enthielten, konnten im HTML-basierten Prompt-Dialog Probleme verursachen. Die Namen werden nun korrekt escaped.
- Eine IllegalArgumentException trat auf, wenn ein kontinuierliches Diagramm mit mehreren Nullwerten gezeichnet wurde.
- Eine Login-Anfrage (HTTP-Code 401) brauchte bei JBoss sehr lange, weil die falsche Inhaltslänge an den Client gesendet wurde.
- Berichtsleser:
- In einigen Fällen wurden beim Lesen einer Crystal-Reports-Vorlage die Zeilen so gelesen, als befänden sie sich unterhalb der Boxen, was in Crystal Reports jedoch nicht möglich ist. Jetzt werden die Boxen immer unter allen Zeilenelementen im Abschnitt platziert, so wie es in Crystal Reports funktioniert.
- Beim Lesen von Crystal Reports-Vorlagen wurden Statistikfelder mit der Einstellung "Zurücksetzen bei Gruppe" fälschlicherweise so gelesen, dass sie bei dem Feld zurückgesetzt wurden, auf dem die Gruppe basierte, und nicht bei der Gruppe selbst.
- Die Gruppenoption "Auswerten bei Feldänderung" wurde vom Report Reader fälschlicherweise aus Crystal Reports-Vorlagen ausgelesen.
- Beim Lesen eines Berichts mit dem Report Reader auf Systemen mit Crystal Reports 2008 SP3 oder höher verursachte eine mit dem SP3-Update eingeführte API-Änderung für bestimmte Statistikfelder den Fehler "Objektreferenz nicht auf eine Instanz eines Objekts gesetzt".
- Der Parameter "Groß-/Kleinschreibung" wurde ignoriert, wenn die Formelfunktion InStr auf der Datenbank ausgeführt wurde.
- Ein Abschnitt wurde als leer (leer) erkannt, wenn er nur eine JavaBean über diesem Abschnitt enthält (Top = 0).
- Es wurde ein Sicherheitsproblem behoben, durch das ein Benutzer teilweise im System authentifiziert werden konnte, wenn ein anderer Benutzer den Remote-Designer öffnete.
- Formeln konnten nicht alle Zeichen speichern, auch solche, die normalerweise in XML-Dokumenten ungültig sind.
- Spezielle Felder mit Zahlen (wie Seitenzahl und andere) verloren alle benutzerdefinierten Zahlenformateinstellungen, wenn der Bericht gespeichert und erneut geladen wurde.
- Die XML-RPC-Methode "listResources" gab einen Fehler zurück, wenn einer der Ressourcennamen Multi-Byte-Zeichen enthielt.
- Das Spezialfeld "Seite N von M" wurde im PDF-Export nicht korrekt angezeigt, wenn die Schriftart SansSerif verwendet wurde.
- Feldreferenzen im Feldbrowser-Baum wurden falsch gezählt, wenn sie von Parameter-Standardwertformeln referenziert wurden und dann mehrere Schritte der Berichtsgestaltung rückgängig gemacht wurden.
- PDF-Export:
- Die Länge der Unterstreichung in Rich-HTML-Hyperlinks war nicht korrekt.
- Einige Muster wurden nach der ersten Seite nicht mehr angezeigt.
- HTML-Export: Der erste Absatz wurde nicht angezeigt, wenn er leer war.
- Die Textinterpretation "HTML(Advanced)" stützt sich jetzt auf die von einem Renderer (z. B. PDF oder XLS) verwendeten Schriftarten, was eine genauere Rendering-Ausgabe für Schriftarten ermöglicht, die dem Java-Schriftsystem nicht bekannt sind.
- Das Herunterfahren und erneute Starten eines i-net Clear Reports-Servers führte dazu, dass die Protokollierung beim zweiten Mal deaktiviert wurde.
- Die Daten des Berichts wurden emtpy, wenn der Bericht dreimal ausgeführt wurde, indem der Berichtsdaten-Cache verwendet wurde.
- Nicht JDBC-Datenbankklassen haben nicht funktioniert, wenn die Datenquellenkonfiguration des Berichts nicht auf dem Server existiert. In diesem Fall wurde versucht, eine Verbindung zu einer JDBC-Verbindung herzustellen.
- Kreuztabelle: Manuelle Formatierungsformel wurde vom Referenzzähler nicht gezählt, was unter Umständen dazu geführt hat, dass diese Formel nicht korrekt ausgewertet wurde.
- HTML-Export:
- Hyperlinks auf Java Beans und Diagrammen haben nicht funktioniert.
- Bei der Berechnung der Schriftgröße trat ein Rundungsfehler auf.
- Alle Bilder, die den gleichen Bildschlüssel haben, werden jetzt im Java-Viewer und im PDF-Export als das gleiche Bild betrachtet. Daher wird nur noch das erste Bild gerendert.
- Bilder wurden nicht korrekt geladen, wenn sie über HTTP-Redirects von HTTPS nach HTTP geladen wurden.
- Die Formel für die Eigenschaft "Bildschlüssel" wurde in Berichten nicht korrekt gespeichert und geladen, so dass sie bei jedem Laden eines Berichts neu eingegeben werden musste.
- Kreuztabellen in Crystal Reports-Vorlagen ohne Zeilen und/oder Spalten wurden aufgrund eines Fehlers in der Crystal Reports-API nicht korrekt gelesen. Dieser Fehler wird nun durch den i-net Clear Reports Report Reader umgangen.
- Bestimmte Zusammenfassungsfelder von Diagrammen in Crystal-Reports-Vorlagen wurden aufgrund eines Fehlers in der Crystal-Reports-API nicht korrekt gelesen. Dieser Fehler wurde nun im i-net Clear Reports Report Reader behoben.
- Die Gruppenbeschriftungen auf der Berichtsseite und in der Gruppenstruktur waren nicht korrekt, wenn Gruppierung nach Formel und Gruppenauswahlformel verwendet wurden.
- In dem seltenen Fall, dass mehrere Zusammenfassungsfelder mit denselben Namen, aber unterschiedlichen Parametern in mehreren Formeln verwendet wurden, die in einer Kreuztabelle verwendet wurden, konnte die Kreuztabelle Probleme beim Rendern der Zusammenfassung haben.
- Die Reihenfolge von hierarchischen Gruppen mit absteigender Reihenfolge war falsch.
- Ein grafischer Fehler mit den weißen Streifen im kontinuierlichen Flächendiagramm ist aufgetreten.
- Bei Subreports, die nicht in Crystal Reports Vorlagen eingelesen werden konnten, wurde die Warnmeldung, die beim Laden angezeigt wurde, immer länger, da die älteren Meldungen nicht zurückgesetzt wurden. Jetzt wird die Warnmeldung nach jeder Konvertierung zurückgesetzt.
- Eine Endlosschleife trat wegen java.util.WeakHashMap auf, die ein nicht thread-sicheres Objekt ist.
- Ein Abschnitt wurde unterdrückt, wenn er nur eine Java Bean enthält und "Suppress Blank Section" aktiviert war.
- Subreports mit speziellen Feldern als Subreport-Links konnten nicht korrekt geladen werden.
- Konfigurationsmanager: Die Eigenschaft "All JNDI locations allowed" in der Kategorie "Report Permissions" hat nicht funktioniert, wenn i-net Crystal-Clear auf einem Jetty Application Server lief.
- Remote-Schnittstelle: Die WebDav-Schnittstelle gab keine Ordner und Dateien zurück, wenn Sonderzeichen in den Namen enthalten waren.
- Repository: Kodierungsprobleme bei Ordner- und Dateinamen sind im Repository aufgetreten.
- Scheduler: NullPointerException trat manchmal beim Stoppen des Schedulers auf.
- Setup: Startskripte fehlten, wenn i-net Crystal-Clear auf Solaris als eigenständige Anwendung installiert wurde.
Änderungen in Version 14.0
- JNDI-Datenquellen sind jetzt in der Ad-hoc-Berichterstattung erlaubt.
- Exportformat "Editierbares RTF" hinzugefügt. Beachten Sie, dass es keine Textfelder für die Textpositionierung enthält.
- Es ist jetzt möglich, eine E-Mail-Benachrichtigung im Falle eines Fehlers zu senden.
- ToWords-Implementierung für die serbische Sprache hinzugefügt.
- Der Standalone-Server unterstützt jetzt HTTPS-Verbindungen. In der Konfigurationsmanager-Kategorie "Webserver" können Sie HTTPS auswählen und den Port, das Zertifikat und den Schlüssel einstellen. Für Testzwecke von HTTPS-Verbindungen kann ein selbstsigniertes Zertifikat generiert werden, bevor ein Zertifikat von einem Anbieter erworben wird.
Geändertes Verhalten
- Die Funktion CDate unterstützt nun besser lokalisierte Datums-Kurzmuster.
- Ein Formelvergleich von <irgendwas>=<null> ergibt jetzt immer null, was mit der SQL-Konvertierung dieses Ausdrucks übereinstimmt.
- Bilder in HTML-Feldern werden jetzt immer in das Dokument eingebettet, wenn der HTML-Export verwendet wird. Diese Lösung ist ähnlich wie bei Bildern, die in PDF-Dateien eingebettet sind.
- Wenn eine Zeitüberschreitung der Webschnittstelle aufgetreten ist, wird anstelle einer Fehlermeldung ein Redirect an den Client gesendet.
- Optimierung der Schrifteinbettung: Schriftdaten der gleichen Schriftart werden nur noch einmal eingebettet.
- Transparente Farben werden beim PDFA-Export durch gedeckte Farben ersetzt.
- Microsoft Report-Dateien (.rdl) werden nicht mehr unterstützt.
- XmlRPC hängt nicht mehr von aktivierten Report-Berechtigungen ab.
- Listener-API wurde geändert, um die Konfiguration mehrerer Verbindungen einschließlich SSL für HTTPS zu unterstützen.
- Erweiterte Listener-API: Überschreiben Sie getActiveServices(), um einen Satz von Diensten zu definieren, für die die entsprechenden Servlets registriert und gestartet werden sollen.
- Die Formelfunktionen toNumber, isNumeric und numericText akzeptieren jetzt nur noch vollständige Zahlen. Strings mit einem Zahlenpräfix werden nicht mehr als Zahl betrachtet.
- Die Aggregatorfunktionen maximum, minimumn, distinct count, median, percentile und most frequent haben die Einstellungen für Gruppierung und Sortierung nicht verwendet. Dies hat nur Auswirkungen, wenn Sie die Standardeinstellungen geändert haben.
- PDF-Export:
- Texte, die keine eingebetteten Schriften verwendet haben, sind jetzt näher an der Berichtsvorschau im i-net Designer, da die gleichen Zeilenmetriken verwendet werden.
- Pixel mit sehr niedrigen Alphastufen werden beim PDFA-Export in Hintergrundfarben (oder Weiß) umgewandelt.
- Datenquelle in den Konfigurationseigenschaften: Der Konfigurationsmanager erlaubt nicht mehr den Import von alten Datenquellendefinitionen aus i-net Crystal-Clear Version 6 und älter. Wenn Sie Konfigurationsdateien mit diesen alten Datenquellendefinitionsdateien verwenden, können Sie diese zunächst mit einem i-net Clear Reports Server, Version 7 bis 13, konvertieren und dann als XML-Datei exportieren, die in Version 14 importiert werden kann.
- Die Schnittstelle
com.inet.report.RequestHandlerwurde entfernt. Sie wird durch die Plugin-Architektur ersetzt.
API-Änderungen
- Die folgenden Konstruktoren der Klasse Listener wurden entfernt:
- Listener(int port, boolean throwException)
- Listener(boolean standalone, int port, boolean throwException)
- Die anderen Konstruktoren der Klasse Listener lösen nun im Falle eines I/O-Fehlers eine IOException aus.
- Das Paket der folgenden Schnittstellen und Klassen wurde von "com.inet.report.config" auf "com.inet.config" geändert:
- Konfiguration
- ConfigurationChangeListener
- ConfigurationChangeEvent
- ConfigurationManager
- Die folgenden Schnittstellen und Klassen wurden hinzugefügt:
- com.inet.authentication.UsersAndGroupsProvider
- com.inet.authentication
- ProblemFinderRule
- AbstractRuleElement
- AbstractRuleField
- AbstractRulePropertyFormula
- AbstractRuleSection
- com.inet.plugin
- ServerPlugin
- ServerPluginManager
- com.inet.report
-
ListenerSettings
-
Remote-Schnittstelle
- Statistik-Modul hinzugefügt.
- Es ist nun möglich, ein Logo und/oder ein Impressum in die Fußzeile des Remote Interface einzufügen (siehe Konfigurationsmanager-Kategorie "Web Server".
- Die Anmeldung war nicht möglich, wenn i-net Clear Reports als Servlet ausgeführt wurde und "Master Password" als Anmeldetyp verwendet wurde.
- Die Methode isRunning() wurde der Listener-Klasse hinzugefügt. Sie gibt zurück, ob der Listener gerade läuft.
- Unterstützung für Berichte mit LDAP-Daten zur Datenbank-API hinzugefügt.
- XML und JSON Datenquelle hinzugefügt.
- Jetty 9.0.3 und Servlet API 3.0 werden jetzt verwendet.
- CCservlet-api-2.5.jar ersetzt.
- CCservlet-api.jar und jsp-api-2.0.jar entfernt.
- Datensatzauswahl-Formel: Die Formel-Operation <String-Wert> IN <String-Wert> ist jetzt in Datenbanken ausführbar.
- HTML-Berichtsbetrachter: Der linke und rechte Rand neben dem Berichtsblatt wurde von 10% auf 1% reduziert.
Remote-Schnittstelle / Scheduler
- Es wird nun unterstützt, E-Mails über eine verschlüsselte (TLS oder SSL) Verbindung im Scheduler zu versenden.
Berichts-Repository
- Erlaubt spezielle UTF-8-Zeichen in Berichtsnamen, wenn der Remote Designer verwendet wird, um den Bericht vom Repository-Browser aus zu öffnen.
.Net Ausgabe
- Export-Dialog hinzugefügt.
- XmlRPC wird mit der .NET Version unterstützt.
Behobene Fehler
- IllegalArgumentException aufgetreten: Der Name eines Summenfeldes kann nicht leer sein.
- Ein sporadischer OutOfMemoryError beim Export mit großen Berichten und einer langsamen Festplatte oder Datenbank-Cache.
- XMLRPC-Client hat in Version 13.0 nicht mit externem Log-Typ funktioniert.
- HTML-Export: Haarlinie wurde falsch dargestellt.
- Box- oder Linienelemente, die sich über mehrere Abschnitte erstrecken und die im Seitenkopf beginnen und in einem unterdrückten Abschnitt enden, wurden nicht angezeigt.
- Wenn "Underlay Following Section" für den Berichtskopf eines Unterberichts aktiviert war und der Berichtskopf höher als der Unterbericht war, wurde der Unterbericht abgeschnitten.
- NoClassDefFoundError: com.inet.report.config.ConfigurationManagerImpl trat auf, wenn Engine in ANT task verwendet wurde.
- Excel-Export: Nicht aussagekräftige Log-Meldung: "Anzahl der Dezimalstellen bei Ganzzahlformat: x statt 0" entfernt.
- Die Eigenschaft "ResetPageCount" wurde für jede Seite ausgeführt, auch wenn sich der Abschnitt über mehrere Seiten erstreckte. In diesem Fall muss "ResetPageCount" nur auf der letzten Seite des Abschnitts ausgeführt werden.
- Eine Kreuztabelle in einem Unterbericht konnte unvollständig sein, wenn die Eigenschaft "Zusammenhalten" für diesen Unterbericht aktiviert war und der Unterbericht nicht auf die Seite passte.
- RTF-Export: Der Kopfbereich des Berichts wurde auf der ersten Seite nicht angezeigt, wenn die "Gesamtseitenzahl" auf der ersten Seite nicht verwendet wurde.
- PDF-Export: Hindi-Text wurde in PDF-Dateien falsch angezeigt, wenn SansSerif als Schriftart eingestellt war. Es muss nun eine Schriftart gewählt werden, die die Hindi-Zeichen enthält (z. B. Arial Unicode MS).
- Der PDF/A-Export war nicht korrekt, wenn der Bericht Bilder mit Transparenz enthielt.
- Der PDF/A-Export war nicht korrekt, wenn der Report Bilder mit Transparenz enthielt.
- "Ungültiger Renderstatus. Die Ausnahme "Seite bereits fertig." trat auf, wenn die Eigenschaften "Neue Seite nach" und Unterdrücken für den letzten Berichtskopfabschnitt aktiviert waren.
- Einige Vergleiche (> und <) von Zahlen mit einer großen Genauigkeit (> 9 Stellen) in Formeln waren falsch, wenn der Standard-Kompatibilitätsmodus verwendet wurde. Diese Regression tritt nicht im Kompatibilitätsmodus 12.x oder früher auf.
- Die Dropdown-Liste im HTML-Parameterfeld-Abfragedialog zeigt nur den Zahlenteil der Standardwerte an.
- HTML-Abfrage-Dialog: Die Beschreibung des Standardwertes wurde nicht in der Liste der ausgewählten Werte angezeigt.
- ORDER BY bei mehreren Gruppen für dasselbe Datumsfeld war nicht korrekt.
- Eine weitere NullPointerException trat während der Fehlerbehandlung einer NullPointerException auf.
- In einigen Fällen begann der Zeilen-/Spaltenindex in Formelfehlermeldungen bei 0 statt bei 1 wie im Formeleditor.
- Ein benutzerdefinierter Servlet-Filter, der einen gewickelten HttpServletRequestWrapper erzeugte, wurde nicht überall verwendet.
- NullPointerException trat auf, wenn eine XML- oder JSON-Datenquelle oder ein CSV-Daten-Upload mit Java 8 verwendet wurde.
- Der Dialog zur HTML-Anfrage wird im Internet Explorer 11 nicht geöffnet.
- PDF-Export: Grauskalierte JPEG-Bilder wurden nicht angezeigt.
- PDF-Export:
- Ein leerer Unterbericht mit aktivierter "Suppress if Blank"-Eigenschaft konnte die folgenden Daten ausblenden.
- Eine zusätzliche leere Seite wurde erstellt, weil die Eigenschaft "Unterdrücken, wenn leer" für einen leeren Unterbericht aktiviert war.
- Ein Speicherleck mit dem JDBC-Treiber von Oracle und Engine.setSQL ist aufgetreten.
- Excel-Export: Die Eigenschaft "Cell distribution" in Subreports wurde nicht verwendet.
- ReportServletJSP für Sample.jsp wiederhergestellt.
- Ausnahme im Thread "MemoryCacheTimeoutThread" java.lang.NullPointerException.
- Der Parameter "HTTP servlet request" in der Methode PropertiesChecker.checkProperties war null.
- HTML-Export:
- NullPointerException in Subreport mit Zeilen, die sich über mehrere Abschnitte erstrecken, aufgetreten.
- Die Position des Unterberichts im Abschnitt mit aktiviertem "Underlay Following Section" war falsch.
- Unbehandelte Exception "java.lang.InternalError" mit der Meldung "couldn't create component peer" trat bei Java 8u152 auf.
Java Viewer
- Das Attribut "Permissions" fehlte in der Manifestdatei von ReportViewer.jar. Dies ist seit Java 7 Update 45 erforderlich.
- Wenn der Java ReportViewer mindestens mit Java 7u65 lief, wurde der Druckereigenschaften-Dialog nach einem Klick auf den Eigenschaften-Button im Druckdialog nicht angezeigt.
- Beim Drucken von Bildern unter Mac OS X konnten die Bilder unscharf erscheinen.
- Das thailändische Zeichen \u0E33 wurde im Java Report Viewer nicht angezeigt, wenn die Schrifteinbettung verwendet wurde.
- Bei der Anzeige von Java-Berichtsarchivdateien in einem "Offline"-Viewer führte das Anklicken von Unterberichtslinks zu einem internen Fehler. Es wird nun eine für Menschen lesbare Fehlermeldung angezeigt.
Remote Interface / Scheduler
- Die Web-GUI von Remote Interface und Scheduler lässt sich im Internet Explorer 11 nicht öffnen.
- Die Anmeldung war nicht möglich, wenn i-net Clear Reports als Servlet ausgeführt wurde und "Master Password" als Anmeldetyp verwendet wurde.
- Es war nicht möglich, über ein Proxy-Servlet auf Web-Komponenten wie Ad-hoc-Reporting, Repository-Browser, Scheduler etc. zuzugreifen.
Report Repository
- Das Exportformat ODS (Open Document Spreadsheet) fehlte im Repository-Browser.
- Repository-Anmeldeinformationen sind jetzt optional. Wenn sie für die Verbindung benötigt werden, werden sie zur Laufzeit abgefragt (einschließlich einer Option, um die Anmeldedaten dauerhaft zu speichern)
Änderungen in Version 13.0
- Der i-net Designer und der i-net Clear Reports Server benötigen jetzt Java 7 als Mindestversion der virtuellen Java-Maschine. Für den i-net Clear Reports Viewer ist Java 5 erforderlich.
- Neuer Standard-Berichtsbetrachter: HTML.
- Einbettung von HTML-, PDF- und SVG-Dokumenten in den Bericht unterstützt.
- Die Schnittstelle com.inet.report.BorderProperties wurde aus der Klasse com.inet.report.Element entfernt. Nur Unterelemente mit BorderProperties implementieren diese Schnittstelle.
- ToWords-Funktion für die ungarische Sprache hinzugefügt.
- In den Diagramm-Eigenschaften ist es jetzt möglich, 'Show each Nth Label' (Kategorie-Achse) und 'Step Width'/'Count of Divisions' (Daten-Achse) mit der Eigenschaft formula zu setzen.
- PDF-Export:
- Es ist jetzt möglich, Formelfelder wie Textfelder, Kontrollkästchen, Schaltflächen oder Listen zu einer exportierten PDF-Datei hinzuzufügen.
- BMC- und EMC-Operatoren werden verwendet.
- PDF-Tags werden unterstützt. Sie sind nützlich für Screenreader.
- Erstellung weboptimierter PDF-Dateien wird unterstützt.
- HTML-Export:
- Die hierarchische Gruppierung wird jetzt auch im HTML-Berichtsviewer angezeigt.
- Nicht-ASCII-Zeichen werden in exportierten Dateinamen unterstützt.
- Datenbank-API wurde umgestaltet, um JDBC- und Nicht-JDBC-Datenquellen gemeinsam nutzen zu können.
Geändertes Verhalten
- Formeln und Zusammenfassungen verwenden nun Festkommazahlen anstelle von Fließkommazahlen. Dies reduziert Rundungsprobleme.
- Es ist nicht mehr erlaubt, Methoden der Klasse Object als benutzerdefinierte Funktionen in einer Formel zu verwenden.
- Benutzerdefinierte Funktionen in der Formel-Expander-Klasse können ihre eigene Dokumentation in zusätzlichen HTML-Dateien haben. Siehe die Beispiele in der Dokumentation für Details.
- Es wird nun unterstützt, Engine, HttpSession und HttpServletRequest als unsichtbare Parameter für benutzerdefinierte Funktionen in der Formel-Expander-Klasse zu verwenden.
- Nicht verwendete Formelfelder werden nicht mehr geprüft, auch wenn andere Formelfelder in der Datensatzauswahl verwendet werden.
- Im Repository gespeicherte Berichte löschen jetzt ihren Cache-Eintrag, um ein frisches Ergebnis zu gewährleisten, wenn die gerenderte Seite aktualisiert wird.
- Die Fehlermeldungen für abgelaufene Lizenzschlüssel enthalten den Namen und den Bereich der verwendeten Konfiguration.
- Die Unterstützung für Abfragedateien ist veraltet.
- Es ist jetzt möglich, einzelne Werte für mehrwertige Abfragen als URL-Parameter zu übergeben. Sie werden dann als einwertiges Array behandelt.
Java-Viewer
- Ein Drill-Down kann nun auch durch Doppelklick auf einen Knoten im Gruppenbaum ausgelöst werden.
- Interaktives Sortieren wird unterstützt.
- Der Bildexport erzeugt eine Zip-Datei, wenn der Bericht mehr als eine Seite enthält.
- Export-Dialog
- Einheit "Pixel" zu Bildbreite und -höhe beim Bildexport hinzugefügt
- PDF-Format-Eigenschaften: "Schnelle Web-Ansicht" und "PDF-Tags" hinzugefügt.
Remote Interface
- Modulauswahlseite (Startseite der Remote-Schnittstelle) neu gestaltet.
- Das Remote Interface funktionierte nicht mit dem Internet Explorer 9.
- Beim Scannen neuer Treiber im webbasierten Datenquellenmanager wurden die neuen Treiber zwar in der Liste angezeigt, konnten aber erst nach Verlassen und erneutem Aufruf des Menüs ausgewählt werden.
- Jeder eingeloggte Benutzer (Login-URL erforderlich) wird im Remote-Konfigurationsmodul zur Rechteverwaltung vorgeschlagen.
- Das Remote-Interface und die Startseite zeigen nun das favicon.ico an, das sich im Client-Ordner der Installation befindet.
- Es ist nun möglich, benutzerdefinierte Datenquellen im webbasierten Remote-Interface zu testen.
- Ferngesteuerter Designer (JNLP)
- Wenn der Remote-Designer auf einem Windows-System läuft, kann er jetzt die Treiber und Beans vom Berichtsserver anfordern.
- Der Remote-Designer zeigt jetzt einen Fortschrittsdialog an, während er die erforderlichen Jar-Dateien zum Starten der Anwendung herunterlädt.
- Der Fehler "Problem accessing null/LoginServlet." trat bei einigen Modulen auf, wenn keine Login-Url angegeben wurde.
- Im webbasierten Remote-Datenquellenmanager wurde bei der Erstellung einer MySQL-Datenquelle ein Standardkatalog namens "test" festgelegt, der Probleme verursachte, wenn dieser Katalog nicht existierte.
Remote Designer
- Beim Speichern eines Reports, der aus einem Repository im Remote Designer geöffnet wurde, trat die Exception "Original string may not be null" auf.
- Der ServletFilter wurde beim Laden des Remote Designers nicht verwendet.
- Die Ausnahme "Original string may not be null" trat auf, als ein Bericht gespeichert wurde, der aus einem Repository im Remote Designer geöffnet wurde.
- Die Bildbreite auf der Editor-Seite war falsch. Sie wurde für die Best-Fit-Skalierung korrigiert.
- Fehler mit JavaBeans, z.B. JBarcodeBean, ist aufgetreten, während eine Berichtsvorlage zum ersten Mal im Remote-Designer des Berichts-Repositorys geöffnet wurde.
- Beim Speichern eines Berichts, der aus einem Repository im Remote Designer geöffnet wurde, trat die Exception "Original string may not be null" auf.
- In der Manifestdatei des JNLPDesigners fehlte das Attribut "Permissions". Dies ist seit Java 7 Update 45 erforderlich.
- Es konnte vorkommen, dass die Bibliothek einer JavaBean, wie z.B. JBarcodeBean, geladen wurde, nachdem ein Bericht, der diese JavaBean verwendet, zum ersten Mal geladen wurde.
Änderungen in Version 12.1
- Der Berichtsserver nutzt nun auch den Datencache, um die Datenbankanfragen zu reduzieren.
- Es ist nun möglich, die Startseite anzupassen.
- Authentifizierungsmethode LDAP Server hinzugefügt.
- Authentifizierungsmethode PAM für Linux und Mac OS X hinzugefügt.
- Es ist jetzt möglich, die Fehlermeldung des HTML-Viewers mit der Datei error.json im Ordner startpage zu konfigurieren.
- Die neue API-Methode Engine.setData ermöglicht es, die Daten für eine einzelne Tabelle zu setzen, wenn der Bericht mehr als eine Tabelle enthält.
- Die Eigenschaft "newline" wird jetzt für den CSV- und DATA-Export unterstützt.
- Der Dialog für die HTML-Eingabeaufforderung wird im Internet Explorer 11 nicht geöffnet.
Geändertes Verhalten
- Die Formelfunktion "isNumeric" gibt jetzt bei der Java-Typ-Notation (Tailing d oder f) false zurück.
- PDF-Export: Der Schriftname enthält jetzt ein Leerzeichen zwischen Familienname und Stilname.
- RTF-Export: Bekannte Schriftarten werden den entsprechenden Zeichensätzen zugewiesen.
- Es ist nicht mehr erlaubt, Methoden der Klasse Object als benutzerdefinierte Funktionen in einer Formel zu verwenden.
- Ein Formelvergleich von = ergibt jetzt in jedem Fall Null, was mit der SQL-Konvertierung dieses Ausdrucks übereinstimmt.
i-net Crystal-Clear - Java Viewer
- Wenn der Java-Viewer unter Mac OS X ausgeführt wurde, waren die Bilder auf dem Ausdruck unscharf.
- Das Attribut "Permissions" fehlte in der Manifestdatei von ReportViewer.jar. Dies ist seit Java 7 Update 45 erforderlich.
- ClassCastException aufgetreten: de.centigrade.cezanne.swing.tabbedpane.p kann nicht auf com.inet.viewer.SwingReportView gecastet werden.
- Wenn der Java-Report-Viewer mindestens mit Java 7u65 lief, dann wurde der Druckereigenschaften-Dialog nach einem Klick auf die Eigenschaften-Schaltfläche im Druckdialog nicht angezeigt.
- Mehrwertige Parameterfelder mit einem einzigen Standardwert und "nur Standardwerte" wurden dem Benutzer nicht angezeigt.
- Bei der schnellen Größenänderung eines Berichtsviewers konnte es aufgrund eines Thread-Bugs zu einer IndexOutOfBoundsException kommen.
- Die "Kennwort"-Bearbeitungsmaske für Parameterfelder wurde nicht korrekt gespeichert, wodurch die Kennwortmaske bei der Abfrage der Felder nicht angewendet wurde.
- In seltenen Fällen konnte ein NPE auftreten, wenn Standardwerte für eine mehrwertige Eingabeaufforderung abgerufen wurden, die Nullwerte als Standardwerte enthielt.
- Beim Schließen aller Berichtsansichten im Berichtsbetrachter konnte es aufgrund eines Thread-Bugs zu einer NullPointerException kommen.
- Bei mehrwertigen Eingabeaufforderungen mit Beschreibungen konnte es vorkommen, dass die Beschreibung zu den gewählten Werten hinzugefügt wurde.
- Die Breite der Ränder auf dem Ausdruck stimmte nicht mit den entworfenen Rändern überein, wenn das Standard-Papierformat des Druckers Letter und das entworfene Papierformat A4 war und umgekehrt und man das Papierformat im Druckdialog auf das entworfene Papierformat änderte.
- Das Attribut "Permissions" fehlte in der Manifestdatei von ReportViewer.jar. Dies ist seit Java 7 Update 45 erforderlich.
- Mit den Checkboxen "Mehrere" und "Alles auswählen" ist es nun möglich, im Dialog "Eingabeaufforderung" mehrere oder alle Standardwerte für ein Parameterfeld auszuwählen, das mehrere Werte zulässt.
- Es gab ein Problem mit dem Standalone-Berichtsviewer, der sein Cookie nicht korrekt vom Server aktualisierte, was dazu führen konnte, dass die Suche in einem Bericht nicht korrekt funktionierte.
- Beim Kopieren von Text aus einem Bericht im Berichtsviewer wurde am Ende immer ein zusätzlicher Zeilenumbruch eingefügt. Dieser zusätzliche Zeilenumbruch wurde entfernt.
- Der Druckdialog ignoriert den PrintService im PrinterJob, wenn SwingReportView.showPrintDialog(Component, PrinterJob, HashPrintRequestAttributeSet) aufgerufen wurde.
- Es ist jetzt möglich, die Möglichkeit des Drilldowns in Gruppen für einzelne Berichte aus dem Viewer heraus zu deaktivieren, indem die API ReportView.setDrillDownEnabled(boolean) oder alternativ der DefaultSetting-Schlüssel des Viewers "DEFAULT_DRILLDOWN_ENABLED" verwendet wird.
- Der Algorithmus des Report Viewers zur Skalierung von Bildern wurde erheblich verbessert, indem ein "mehrstufiger bilinearer" Skalierungsalgorithmus anstelle des standardmäßigen einstufigen bilinearen Algorithmus von Java verwendet wird. Siehe hier für einen Vergleich der Algorithmen: http://today.java.net/pub/a/today/2007/04/03/perils-of-image-getscaledinstance.html.
- Report Viewer verwendet die eingebetteten Schriftarten, wenn sie verfügbar sind, unabhängig von der Eigenschaft "Native Schriftarten verwenden".
- Wenn das für den Server festgelegte Seitenlimit für einen Bericht überschritten wird, was dazu führt, dass der Bericht nach einer bestimmten Anzahl von Seiten abgeschnitten wird, wird dies in der Seitenzahlanzeige des Viewers angezeigt.
- Die logische Java-Schriftart "DialogInput" wurde im Java-Viewer als SansSerif-Schriftart und nicht, wie standardmäßig vorgesehen, als Monospaced-Schriftart angezeigt.
- Ein Multi-Threading-Problem wurde behoben, das dazu führen konnte, dass die Seitenzahl eines Viewers nie angezeigt wurde und in seltenen Fällen die Seiten nicht angezeigt wurden. Das Problem trat auf, wenn eine SwingReportView erstellt wurde, bevor der übergeordnete Viewer in einem Fenster oder Frame platziert wurde.
- Wenn der Server nicht mehr antwortete, konnte der Viewer "hängen", bis ein Timeout auftrat.
- Eine NullPointerException konnte auftreten, wenn Sie Ihr eigenes CustomPromptEditor-Panel bereitstellten und die Eingabeaufforderung für das Panel eine Beschreibung hatte.
- Methode showPrompts() zu ViewerContext hinzugefügt, so dass Sie das Prompting-Verhalten des Viewers anpassen können, indem Sie Ihren eigenen ViewerContext bereitstellen.
- Hilfe-Schaltfläche zum Export-Dialog hinzugefügt.
- Dialog Parameterfelder
- Datumszeitbereiche gingen nur bis Mitternacht in der Früh des Enddatums statt bis Mitternacht des auf das Enddatum folgenden Tages.
- Verschiedene Probleme wurden für den Dialog zur Eingabeaufforderung für Datumsbereiche behoben, einschließlich der Tatsache, dass Datumsbereiche für spätere Eingabeaufforderungen nicht korrekt gespeichert wurden.
- Der Eingabeaufforderungsdialog hatte grafische Probleme auf Systemen, bei denen die Textgröße aus Gründen der Barrierefreiheit auf einen größeren DPI-Wert eingestellt war.
- Zeitabfragen akzeptierten keine Zeitangaben, wenn nicht auch die exakte Sekunde eingegeben wurde. Eine Zeitansage akzeptiert nun auch ein einfaches "10:12 Uhr".
- Beim erneuten Laden eines Eingabeaufforderungsdialogs mit einer Eingabeaufforderung, die mehrere Werte akzeptiert, verschwanden die Beschreibungen der Werte.
- Die Verwendung von 120 DPI unter Windows 7 konnte zu einem Grafikproblem mit dem Abfragedialog führen.
- Bei der Verwendung in einer Datensatzauswahlformel ging eine Datumsbereichsabfrage nur bis Mitternacht in der Nacht des Enddatums. Das bedeutet, dass alle Datumszeiten während des Endtages des Bereichs als außerhalb und nicht als innerhalb des Bereichs angesehen wurden.
- Die Dateierweiterung des Standarddateinamens im Exportdialog fehlte, wenn der Dateiname oder der Berichtstitel 2 Punkte enthielt.
- Ein Deadlock ist manchmal aufgetreten, wenn Berichte im Hintergrund mit SwingReportView im EventThread gedruckt wurden.
- Formulardruck: Obwohl die Eigenschaft "Enable Form Printing" aktiviert war, konnte bei einigen Druckern nicht in den nicht druckbaren Bereich gedruckt werden.
- Druckdialog ignoriert PrintService im PrinterJob, wenn SwingReportView.showPrintDialog(Component, PrinterJob, HashPrintRequestAttributeSet) aufgerufen wurde.
- Die Breite der Ränder auf dem Ausdruck stimmte nicht mit den entworfenen Rändern überein, wenn das Standardpapierformat des Druckers Letter und das entworfene Papierformat A4 war und umgekehrt und Sie das Papierformat im Druckdialog auf das entworfene Papierformat geändert haben.
- Eine Endlosschleife trat auf, weil java.util.WeakHashMap, ein nicht thread-sicheres Objekt, verwendet wurde.
- Das Attribut "Permissions" fehlte in der Manifestdatei von ReportViewer.jar. Dies ist seit Java 7 Update 45 erforderlich.
API-Änderungen
- Hinzugefügte Methoden
- com.inet.viewer.ReportView
- isDrillDownEnabled()
- setDrillDownEnabled(boolean)
- com.inet.viewer.ReportView
- Entfernte veraltete Methoden
- com.inet.viewer.ReportViewer
- getLogStream()
- setLogStream(PrintStream)
- com.inet.viewer.SwingReportViewer
- getLogStream()
- setLogStream(PrintStream)
- com.inet.viewer.ReportViewer
.Net-Ausgabe
- Der Remote i-net Designer der .NET Edition bleibt beim Öffnen eines Berichts, der eine Java Bean enthält, hängen.
- Der HTML-Export wurde komplett neu implementiert, um die Ausgabe der exportierten HTML-Datei zu verbessern. Er basiert nun auf HTML 4 und CSS 3.0.
- Neue Exportformate:
- HTM.ZIP - HTML-Export in komprimiertem Zip-Archiv
- ODS
- JavaBean "ZXingBarCodes" hinzugefügt. Mit dieser Bean ist es möglich, QRCode zu einem Bericht hinzuzufügen.
- Es ist nun erlaubt, eine Funktion der Formula Expander Class aus einer benutzerdefinierten Funktion (Formel) heraus aufzurufen.
- Verbesserte Fehlermeldung bei der Eingabe eines ungültigen Prompt-Wertes.
- CSV-Export: Mehrere Zeichen können als ein Trennzeichen verwendet werden, z.B.: |;:
- HTML-Export:
- Der HTML-Viewer öffnet nicht mehr denselben Teilbericht oder Drill-Down-Bericht erneut, sondern aktiviert einfach eine bereits vorhandene Registerkarte.
- HTML-Viewer kann Links mit http(s), file, ftp, smb und afp in einem separaten Fenster und je nach aktuellem System öffnen.
- Haupt- und Unterbericht teilen sich die gleiche Datenbankverbindung, wenn die Datenquelle identisch ist.
Geändertes Verhalten
- Zusammenfassungsfunktionen in Formeln akzeptieren nun auch Einzelwerte. Count und distinctCount funktionieren nun auch für Range-Arrays.
- Der Bericht-URL-Parameter "navigation" wurde entfernt, da er im neuen HTML-Exportformat nicht mehr unterstützt wird.
- Der Bericht-URL-Parameter "sql" wurde entfernt.
- DatePart("ww",x) ist jetzt mit dem Kalender verschiedener Gebietsschemata kompatibel. Vorher war es mit Crystal Reports kompatibel.
- Subreport-on-Demand-Links werden nur noch bei einer Client-Server-Anfrage erstellt.
API-Änderungen
- Entfernte veraltete Klassen, Methoden und Konstanten
- com.inet.report.ChartFormat
- setLocale (Gebietsschema)
- com.inet.report.CrossTabDescriptionSection
- addLine( int, int, int, int)
- com.inet.report.Datasource
- setup(String)
- setup(DatenquelleKonfiguration)
- com.inet.report.Element
- copyXML2()
- com.inet.report.RDC
- loadEngine(Datei, BufferedReader)
- loadEngine(Datei, BufferedReader, Eigenschaften)
- loadEngine(Datei, GepufferterLeser, String)
- com.inet.report.ChartFormat
i-net Clear Reports viewer
- Die Druck- und Export-Schaltfläche ist deaktiviert, wenn der Bericht wegen fehlender Zeilen unterdrückt wird. Es ist möglich, diesen Zustand mit der Java Viewer API zu erhalten.
- Bei Eingabeaufforderungen mit mehreren Werten, die Beschreibungen enthalten, konnte es vorkommen, dass die Beschreibung zu den gewählten Werten hinzugefügt wurde.
- Verschiedene kleine GUI-Probleme wurden für die Eingabe von mehreren Prompt-Werten im Prompt-Dialog gelöst.
- Wenn eine Eingabeaufforderung als "nur Standardwerte" markiert war, war immer noch die Schaltfläche "kein Wert" für diese Eingabeaufforderung aktiviert, wenn es sich um eine Zeichenfolge handelte. Das Umschalten dieser Schaltfläche hatte jedoch keine Wirkung, da "kein Wert" kein Standardwert war. Jetzt ist die Schaltfläche ausgeblendet, wenn eine Eingabeaufforderung als "nur Standardwerte" festgelegt ist.
- Die Breite der Ränder auf dem Ausdruck stimmte nicht mit den entworfenen Rändern überein, wenn das Standardpapierformat des Druckers Letter und das entworfene Papierformat A4 war und umgekehrt und Sie das Papierformat im Druckdialog auf das entworfene Papierformat geändert haben.
- Im Falle eines HTTP 302-Fehlers in seiner POST-Anforderung würde der Viewer zu einer GET-Anforderung zurückkehren, ohne die 302 zu protokollieren.
API-Änderungen
- Entfernte veraltete Klassen, Methoden und Konstanten
- com.inet.viewer.ReportViewer
- setCustomPromptEditor(String, CustomPromptEditor)
- com.inet.viewer.ReportViewer
- com.inet.viewer.SwingReportViewer
- setCustomPromptEditor(String, CustomPromptEditor)
Konfigurationsmanager
- Das Konfigurationsmanager-Modul wurde überarbeitet.
- Leistungsverbesserungen beim Starten des Configuration Managers.
- Die Eigenschaft "Scheduler Cache Filter" wurde umbenannt in "Reportausführung auf den Scheduler beschränken".
- Kommandozeilenparameter "-clearreports.preferredconfig" hinzugefügt.
- Die neuen Remote-Schnittstellen-Module für Scheduler und Konfiguration funktionieren nicht mit Internet Explorer 6, 7 oder 8.
- Die Änderung der Einstellung "Use Native Fonts" in der i-net Crystal-Clear Konfiguration wirkte sich erst nach einem Neustart des Berichtsservers aus.
- Konfigurierte Rollen der Systemberechtigungen wurden nicht korrekt wiederhergestellt.
- Eigenschaft "Client-Zeitzone verwenden" in der Kategorie "Allgemeine Optionen" hinzugefügt
- Wenn ein OutOfMemoryError auftritt, ist es jetzt möglich, Werte für die Eigenschaften "Stop After Page", "Database Records Limit" und "Crosstab Cells Limit" im Abschnitt "Performance" zu setzen.
- Die Eigenschaft "IP-Filter" unterstützt IPv6-Adressen.
- Eigenschaft "Login Type" hinzugefügt, um die bevorzugte Autorisierungsmethode zu wählen, z.B. Windows-Authentifizierung (NTLM), externe oder interne Webserver-Authentifizierung.
- Eigenschaft "Unbekannte Datenquellen zulassen" hinzugefügt. Sie erlaubt die Verbindung zu Datenbanken, die nicht serverseitig verwaltet werden, aber in der Berichtsdatei gespeichert sind.
- Eigenschaften "Max Size of the Log File" und "Max Number of Archive Log Files" für die Erstellung von mehreren Log-Dateien hinzugefügt.
i-net Clear Reports Viewer
- ViewerException "Wrong order of nodes" trat bei hierarchischer Gruppierung und einer zweiten Gruppe im Bericht auf.
- In Feldelementen mit HTML-Inhalt wurden beim Auswählen und Kopieren von Text aus dem Viewer heraus Leerzeichen vor und nach Interpunktionssymbolen eingefügt. Diese Leerzeichen werden nun nicht mehr hinzugefügt.
Geändertes Verhalten
- Java 5 erforderlich.
- Die Fehlermeldung, die nach einem "Bad Gateway"-Fehler angezeigt wird, enthält mehr Detailinformationen.
- ViewerException enthält nun den ErrorCode des Berichtsservers.
- ViewerException "Falsche Reihenfolge der Knoten" trat auf, wenn eine hierarchische Gruppierung und eine zweite Gruppe im Bericht verwendet wurde.
- Die Druckqualität war schlecht in dem Teil der Berichtsseite, der ein Hintergrundbild enthält.
- Das Attribut "Permissions" fehlte in der Manifestdatei von ReportViewer.jar. Dies ist seit Java 7 Update 45 erforderlich.
- Wenn ein Bericht abgebrochen wurde oder nicht mehr gültig ist, sind die Navigationsschaltflächen im Berichtsbetrachter nun deaktiviert - zuvor war es möglich, durch den ungültigen Bericht zu blättern, wobei nur weiße Seiten angezeigt wurden.
- Das Wechseln von Tabs im Safari-Browser auf einen anderen Tab als das Report-Viewer-Applet führte dazu, dass der gerade im Applet angezeigte Report nicht mehr sichtbar war, auch wenn man zurück zum Viewer wechselte. Jetzt funktioniert der Tab-Wechsel auch bei Browsern wie Safari problemlos.
- Workaround für einen Fehler in der Java VM hinzugefügt. Durch den Fehler konnte es vorkommen, dass das Ende von langen Textzeilen beim Drucken abgeschnitten wurde. Das Abschneiden hängt vom Text, der Schriftart und der Schriftgröße ab und tritt sehr selten auf.
- Beim Auswählen von Suchergebnissen im Viewer wurde das Ergebnis im Viewer-Panel manchmal nicht hervorgehoben, wenn sich ein Ergebnis auf einer Seite befand, die gerade nicht angezeigt wurde.
- Die automatische Skalierung der Schriftart im Java-Viewer für Text, der von einem HTML(Advanced)-Textfeld erzeugt wurde, war falsch.
- Im Exportdialog ist es nun möglich, ein Benutzer- und/oder Eigentümer-Passwort für die Verschlüsselung der erstellten PDF-Dateien anzugeben.
Änderungen in Version 11.2
- Bericht-URL-Parameter "Disposition" hinzugefügt.
- Das Single Sign-On (SSO) für externe Webserver zusammen mit dem Proxy-Skript wurde verbessert. Wenn das Anmeldeskript auf demselben Webserver wie der Proxy läuft und Sie bereits auf diesem Webserver angemeldet sind, müssen Sie sich nicht erneut auf dem Berichtsserver anmelden.
- Bericht-URL-Parameter "disposition" hinzugefügt.
- Es ist jetzt erlaubt, eine Funktion der Formel-Expander-Klasse aus einer benutzerdefinierten Funktion (Formel) aufzurufen.
Bericht Berechtigungen
- Gruppen (Rollen) wurden nicht gefunden, weil Backslashes in Slashes geändert wurden.
- Die Normalisierung von / und \ für die Berechtigungseinstellungen wurde rückgängig gemacht. Die Einstellungen werden so gespeichert, wie sie eingegeben wurden. Benutzernamen werden normalisiert geprüft, Rollennamen müssen in der richtigen Schreibweise konfiguriert werden.
- API für einen Auslöser hinzugefügt. Der Trigger kann z.B. in der E-Mail-Aktion des Schedulers verwendet werden.
- Formel-Funktionen "ToTextFixed" und "TranslateFixed" hinzugefügt.
- API-Verbesserung: Das Hinzufügen eines Unterberichts zu einem Unterbericht führt nicht mehr zu einer fehlerhaften Engine, sondern löst sofort eine IllegalStateException aus.
Geändertes Verhalten
- Es ist jetzt möglich, sich mit einem anderen Benutzernamen anzumelden, wenn man bereits angemeldet ist.
- Das Remote-Servlet erlaubt nun eine Neuverteilung und einen Neustart des Servlets, ohne den gesamten Server zu starten.
- Beim Vergleich der Subreport-Link-Werte wird jetzt zwischen Groß- und Kleinschreibung unterschieden.
- Der Cache der Berichtsdaten wird jetzt jedes Mal geleert, wenn Sie auf die Schaltfläche Aktualisieren klicken.
- Die Verwendung von Spaltenbeschriftungen mit dem MySQL-Konnektor 5.x und Abfragebefehlen funktioniert jetzt durch Engine.setData(ResultSet) und Engine.setSql(String).
- Die Spiegelung des Report-Layouts für RTL-Sprachen wie Arabisch berücksichtigt nun auch Subreports und Charts.
- Es ist nun möglich, Variablen mit dem Namen von bestehenden Funktionen in einer Crystal-Syntax-Formel zu erstellen.
- Inhalte, die mit Textinterpretation = 'HTML (advanced)' gerendert werden, können nun innerhalb eines Wortes umbrechen, wenn das Wort breiter ist als die Breite des Feldelements. Dies gilt nicht für Text innerhalb einer HTML-Tabelle oder eines HTML-Elements mit automatischer Größenanpassung.
- Auf der Startseite von i-net Clear Reports wird jetzt nur noch die rote Warnung für deaktivierte Funktionen angezeigt.
- Es ist jetzt möglich, die Formel "{StringField}[startIndex bis endIndex]" auf einer Datenbank auszuführen.
API-Änderungen
- Klassen hinzugefügt
- com.inet.report.Trigger
- Hinzugefügte Methoden
- Engine.getTrigger()
- Verschlüsselung von PDF-Dateien mit Benutzer- und/oder Besitzerpasswort unterstützt.
- Um das visuelle Erscheinungsbild von Balken-, Flächen- oder Kreisdiagrammen zu verbessern, ist es jetzt möglich, einen vertikalen oder horizontalen Farbverlauf zu definieren.
- Verbesserte Fehlerbehandlung für den Fall, dass das Report Reader Tool, das das Lesen von Crystal Reports Vorlagen übernimmt, fehlt.
- PDF-Export:
- DSA-Signaturen werden nun genauso wie RSA-Signaturen unterstützt.
- EUDC-Zeichen werden wie bei eingebetteten Schriftarten durch logische Schriftarten (z. B. SansSerif) ersetzt.
- Native boolesche Typen von PostgreSQL-Datenbanken werden unterstützt.
Geändertes Verhalten
- Java 6 erforderlich.
- Das Ändern des Tabellenalias modifiziert nun auch die Diagrammfarbe und andere Eigenschaftsformeln.
- Einige Eigenschaftsmethoden wie setXXXFormula(FormulaField f), die den Typ der Formel nicht überprüften, lösen jetzt eine IllegalStateException aus, wenn das FormulaField nicht den Typ einer PropertyFormula hat.
- Die folgenden veralteten URL-Parameter für Berichte werden nicht mehr unterstützt: "dll", "host", "catalog", "database", "schema", "user", "url". Verwenden Sie stattdessen den Berichts-URL-Parameter "datasource".
- Der Java-Viewer unterstützt nun auch die EUDC-Ersetzung für logische Schriftarten.
- Die Formelanweisung 'if <Bedingung> then <Ergebnis>' in der Datensatzauswahlformel wird jetzt auf 'false' optimiert, wenn die Bedingung nicht erfüllt ist.
- Beim Export nach Excel werden die Blattnamen auf nicht erlaubte Zeichen, wie '[', geprüft.
- Die benutzerdefinierte Formatierung von Gruppenfeldelementen ist nun möglich.
- Ein seltenes Problem trat beim Laden älterer Berichte aus Crystal Reports 9 und früher auf, die mehrere in Formelfeldern verwendete Zusammenfassungen enthielten. Der Fehler lautete "Berichtsdatei nicht gefunden"
- Aus Gründen der Abwärtskompatibilität ist die Verwendung der Zeichenkette "true" und "false" als Boolean in einer Datensatzauswahlformel für PostgreSQL-Datenbanken möglich.
API-Änderungen
- Klassen hinzugefügt
- com.inet.problemfinder.ProblemFinder (und Unterklassen)
- Konstanten hinzugefügt
- ReportProperties.PAPER_TABLOID
- Hinzugefügte Methoden
- com.inet.report.chart.plot.AbstractPlot
- getGradientSetting()
- setGradientSetting(GradientSetting)
- com.inet.report.chart.plot.AbstractPlot
- Entfernte Konstanten
- ReportProperties.PATER_TABLOID
- Entfernte veraltete Klassen, Methoden und Konstanten
- com.inet.report.RDC
- getConfigurationProperties()
- setConfigurationProperties(Eigenschaften)
- getCrystalClearPropertyPath()
- com.inet.report.RDC
Planer
- Beim Hinzufügen einer Berichtsaktion zeigt die Funktion "Prompts scannen" aus Berichten nun keine Liste von Standardwerten für Prompts mehr an, die nur einen Wert akzeptieren. Stattdessen wird der erste Standardwert als Vorgabe eingetragen, die manuell geändert werden kann.
- Es war nicht möglich, eingebettete Schriftarten mit der Druckaktion des Schedulers zu verwenden.
Ad-hoc-Berichte
- Sortierfelder konnten falsch sein, wenn komplette Berichte als Ad Hoc Layout verwendet wurden.
- Die Kreuztabelleneigenschaften "Zwischensummen unterdrücken" und "Gruppenbeschriftungen unterdrücken" sowie das Zahlenformat der Kreuztabellenzellen wurden nicht berücksichtigt, wenn Gesamtberichte, die eine Kreuztabelle enthalten, als Ad Hoc Layout verwendet wurden.
- Die Gruppeneinstellungen wurden geändert, wenn Gesamtberichte als Ad-hoc-Layout verwendet wurden.
- Unbekannter Protokollfehler trat im Ad-hoc-Applet auf, wenn der Server ein Repository für die Ad-hoc-Layouts verwendete.
- Ein Klick auf die ESC-Schaltfläche hat den kompletten Dialog anstelle des Popup-Menüs geschlossen.
- Nativer boolescher Typ der PostgreSQL-Datenbank wird unterstützt.
- Wenn keine Standardkonfiguration gefunden werden kann, ist in der temporären Fallback-Konfiguration jetzt die Remote-Schnittstelle aktiviert, um den Zugriff auf den Server aufrechtzuerhalten.
- Alle Bilder mit dem gleichen Bildschlüssel werden nun im Viewer und im PDF-Export als das gleiche Bild betrachtet. Daher wird nur noch das erste Bild gerendert.
- Die Spiegelung des Report-Layouts für RTL-Sprachen wie Arabisch berücksichtigt nun auch Subreports und Charts.
- RTF-Export: JPEG-Bilder werden unterstützt.
- Formelfelder können jetzt auch Array- und Bereichswerte zurückgeben. Wenn ein Array-Ergebnis im Bericht verwendet wird, wird nur das erste Element angezeigt.
- Die Formelfunktion ToText unterstützt jetzt die Umwandlung von Bereichen beliebigen Typs in eine lesbare Form. Für Datums-, Zeit-, dateTime- und Zahlenbereiche kann auch ein Muster angegeben werden.
- Es wird nun unterstützt, Joins zwischen BeanDataSources zu verwenden. Der Datenabruf umfasst nun auch die Daten aller Unterobjekte von Beans, die nicht vom Java-Primitiv-Typ sind, siehe die Eigenschaft "Datenabruftiefe in Unterbeans" der BeanDataSource.
- i-net Crystal-Clear unterstützt jetzt "feste" Währungssymbole. Das Währungssymbol wird dann an der Seite des Elements ausgerichtet, während der Wert selbständig ausgerichtet werden kann. i-net Crystal-Clear unterstützt nun die Option "ein Währungssymbol pro Seite". Dies führt dazu, dass das Währungssymbol nur einmal pro Seite und nicht für jeden Datensatz gedruckt wird.
- PDF-Export: JPEG-Bilder und einige Arten von PNG-Bildern, die nicht durch Skalierungs- oder Beschneidungsoperationen verändert werden, werden ohne Konvertierung in das Standard-PDF-Bildformat in eine PDF-Datei geschrieben. Dadurch wird die Größe der erstellten PDF-Datei reduziert.
- DatabaseBean liest jetzt nur noch die verwendeten Spalten.
- RTF-Export: Um den Speicherverbrauch und die Dateigröße zu reduzieren, werden statische Bilder jetzt im PNG- oder JPEG-Format geschrieben, anstatt das erweiterte Windows-Metadateiformat zu verwenden.
- Die Formelanweisungen SELECT und kaskadierende IF(Basic Syntax) können jetzt optimiert werden, was sie in einigen Fällen auf der Datenbank ausführbar macht.
- Die Before-Reading-Formel wird nun immer vor der Record-Selection-Formel ausgeführt.
- HTML-Fehlermeldungen sind für lokalisierte Fehlermeldungen UTF8-kodiert.
- HTML-Export: Bilder, für die ein Hyperlink konfiguriert wurde, werden ohne blauen Rahmen angezeigt.
- Die Formelfunktion datetime unterstützt nicht mehr das Datumsmuster MM-dd-yyyy, da es mehrdeutig zu dd-MM-yyyy ist.
- FormulaField.getValueType() löst keine Laufzeitausnahmen mehr aus. Die Methode gibt den zwischengespeicherten Wertetyp zurück oder berechnet den aktuellen Wertetyp, falls erforderlich. Um den Wertetyp eines Formelfeldes neu zu berechnen, rufen Sie validate() für dieses Feld auf.
- URL-Parameter "timezone" hinzugefügt, um die Zeitzone anzugeben, die verwendet wird, wenn "Use Client Timezone" auf dem Server wahr ist.
- Es gibt jetzt eine XML-RPC-basierte Schnittstelle zu i-net Crystal-Clear-Servern. Diese Schnittstelle wird in den kommenden Versionen um weitere Funktionen ergänzt, derzeit ist es jedoch möglich, Informationen über Prompts in Berichten abzufragen. Weitere Informationen finden Sie in der Schnittstelle InetXmlRpc, oder wenden Sie sich an unseren Support, wenn Sie eine Funktionalität wünschen, die von einer XML-RPC-Schnittstelle angeboten werden soll.
- Ein neuer webbasierter Dialog zur Eingabeaufforderung für Berichte wird angezeigt, wenn ein Bericht mit Eingabeaufforderungen in einem Exportformat mit dem URL-Parameter "init=<format>" angefordert wird, oder wenn ein Bericht mit Eingabeaufforderungen im webbasierten Ad-hoc-Dienst angezeigt wird, oder wenn ein Bericht aus dem webbasierten Report Repository exportiert wird.
- Die Formelfunktionen DateDiff und DateAdd unterstützen nun auch Millisekunden.
- Das Verzeichnis "crystalclear" wurde durch das Verzeichnis "client" ersetzt und die Bibliotheken in den Verzeichnissen wurden neu geordnet (siehe weitere Details zu den Bibliotheken von i-net Crystal-Clear).
- Das Remote-Interface und die Startseite zeigen nun das favicon.ico an, das sich im Client-Ordner der Installation befindet.
- Einzelne String-Prompts, die keine Längenbegrenzung haben, akzeptieren nun neben einem leeren String auch null. Im Eingabeaufforderungsdialog gibt es eine Option "kein Wert", die für die Eingabeaufforderung ein- und ausgeschaltet werden kann. Wenn Sie keine Nullwerte für String-Prompts zulassen möchten, können Sie einfach 0 als Mindestlänge des Strings angeben - beachten Sie, dass dies im Designer nun die Standardeinstellung beim Erstellen neuer String-Prompts ist.
- HTML-Export: Die Positionierung von Elementen (z.B. Unterberichte, Bilder usw.) wurde verbessert.
- Neuer URL-Parameter "Zeitzone".
- Windows-Authentifizierung (NTLM) wird unterstützt (siehe Eigenschaft Login-Typ).
- API:
- Mit den neuen API-Methoden in der Klasse BoxProperties ist es nun möglich, die Hintergrundfarbe einer Box dynamisch über eine Formel zu setzen.
- Es gibt eine neue get/set-Methode in Engine namens "setMetaProperties". Damit kann der Benutzer beliebige Eigenschaften in einem Bericht speichern, die beim Speichern und Laden des Berichts gespeichert und geladen werden. Diese Eigenschaften werden beim Rendern eines Berichts weder interpretiert noch in irgendeiner Weise verwendet, sie können jedoch für Design-Time-Einstellungen und dergleichen nützlich sein. Beachten Sie, dass Eigenschaftsschlüssel mit dem Präfix "designer" für den i-net Designer reserviert sind.
- Es gibt eine neue XML-RPC-Schnittstelle, die der Server bereitstellt. Um eine Liste der XML-RPC-Methoden zu sehen, besuchen Sie die Seite "/xmlrpc/" auf Ihrem i-net Crystal-Clear-Server. Für die Version 10.0 gibt es sechs Methoden, die aufgerufen werden können:
- report.getPromptFields( string )
- report.getSummaryInfo( string )
- repository.listResources( string )
- repository.listFolders( string )
- server.getVersion()
- server.getJavaVersion().
- Verbesserungen der Protokolldatei:
- Jede Zeile der Protokolldatei enthält eine Anfrage-ID, die mit "#00001" beginnt.
- Der Log-Level "Paranoid" wurde entfernt. Verwenden Sie stattdessen "Debug", um die Logdatei für die i-net Crystal-Clear-Unterstützung zu erhalten.
- Es ist nun möglich, die Werte von Bereichselementen zu formatieren, indem man eine Datumsbereichsabfrage einstellt.
- Datensatzauswahl-Formel / Filter:
- Die Datensatzauswahl wird nun so optimiert, dass SQL-konvertierbare Teile auf der Datenbank und nicht konvertierbare Teile lokal ausgeführt werden - wenn möglich. Dies kann je nach Datensatzauswahlformel den Zeitaufwand für das Abrufen von Daten verringern.
- Verbesserte toSQL-Prüfung bei der Verwendung von Prompt-Feldern. Zum Beispiel wird 'CDate ({?prompt})' nicht mehr als nicht ausführbar in der Datenbank markiert, da es ein konstanter Ausdruck ist.
- Die Funktion groupNumber ist jetzt für Diagramme implementiert. Sie können diese in den Zusammenfassungsfunktionen und in der Farbformel verwenden.
- Mehrere Protokolldateien möglich. Die Protokollierung kann jetzt einen Archivierungsmechanismus verwenden, der Protokolldateien zippt und archiviert, sobald sie eine bestimmte Größe erreichen, und der alte archivierte Dateien löscht, wenn eine bestimmte Anzahl von Archivdateien erreicht ist. Standardmäßig kann eine unkomprimierte Protokolldatei 100 MB erreichen, bevor sie archiviert wird, und es werden maximal 10 Archivdateien aufbewahrt. Diese beiden Werte können im i-net Crystal-Clear Configuration Manager in der Kategorie "Logging" geändert werden.
- Die Cluster-Funktion von i-net Crystal-Clear Plus wurde entfernt. Stattdessen können Betriebssystem- oder Anwendungsserver-Cluster verwendet werden.
- Berichte, die mit Crystal Reports Version 6 erstellt wurden, werden nicht mehr unterstützt.
- Mit der Eigenschaft 'show identifier' zeigt das Diagramm nun die Werte der Gruppennamen in den Elementbeschriftungen auf dem Plot an. Nicht wie bisher ein Wert auf der X-Achse.
- Fehlermeldung verbessert, die vom ASP.NET Proxy ausgegeben wird, wenn der i-net Crystal-Clear Server nicht läuft
- Formel:
- Der String-Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung ist jetzt auf SECONDARY (strenger) statt auf PRIMARY eingestellt. Dadurch werden auch unterschiedliche Akzentformen desselben Grundbuchstabens berücksichtigt. Bei Verwendung des Groß-/Kleinschreibung-unabhängigen Vergleichs sind "è" und "E" zum Beispiel nicht mehr gleich.
- Numerische Zusammenfassungsfunktionen, die in Formeln mit einem Array als Parameter verwendet werden, geben nun niemals Null zurück. Stattdessen wird 0 zurückgegeben. Dies funktioniert nur bei Zusammenfassungsfunktionen, die einen festen Rückgabetyp von Zahlen haben, wie z.B.: count, sum, correlation, covariance, distinctcount, average, weightedaverage, populationvariance und variance.
- Die Ausgabe der Formelfunktion DataTimeZone kann nun direkt als Eingabe für DateTimeWithTimeZoneOffset verwendet werden.
- Es ist nun möglich, sich mit einem anderen Benutzer anzumelden, wenn der Gast-Account nicht über die notwendigen Rechte zur Ausführung des Berichts verfügt.
- Statische Elemente wie Textelemente und Bilder wirken sich nicht auf die Abschnittseigenschaft "Suppress if Blank" aus. Ein Abschnitt wird unterdrückt, wenn er keinen dynamischen Inhalt enthält. Details finden Sie in der Dokumentation oder im Migrationsleitfaden.
- API:
- Die Klasse com.inet.report.RemoteInterface wurde aus der API entfernt. Die empfohlene Lösung für den Fernzugriff sind der PHP-Proxy und der ASP.NET-Proxy (siehe die Beispiele).
- Die älteren Methoden AbstractValueElement.setRoundingDigits und AbstractValueElement.setRoundingType sind veraltet und wurden durch AbstractValueElement.setRounding ersetzt. Diese Methode nimmt die Anzahl der Ziffern entgegen, auf die gerundet werden soll. Um auf eine Stelle nach dem Dezimalpunkt zu runden, verwenden Sie eine negative Zahl.
- Die Methode Engine.setReportFile nimmt Berichte entgegen, die als "Reports as Folder" gespeichert wurden.
- Der Standalone-Server wird seinen eigenen Prozess stoppen, wenn der konfigurierte Port bereits verwendet wird.
- Excel-Export: Die Spaltenbreite ist auf 255 Zeichen begrenzt. Dieser Wert wird von MS Excel festgelegt.
API-Änderungen
- Klassen hinzugefügt
- com.inet.report.Region
- Hinzugefügte Methoden
- com.inet.report.BorderProperties
- isCloseBorderOnPageBreak()
- getCloseBorderOnPageBreakFormula()
- setCloseBorderOnPageBreak(boolean)
- setCloseBorderOnPageBreakFormula(FormulaField)
- com.inet.report.BoxProperties
- getBackColorFormula()
- setBackColorFormula(FormulaField)
- com.inet.report.Engine
- getMetaProperties()
- setMetaProperties(java.util.Properties)
- com.inet.report.Element
- isCloseBorderOnPageBreak()
- com.inet.report.BorderProperties
- Methoden und Konstanten, die ab Version 10 veraltet sind
- com.inet.report.config.datasource.DataSourceConfiguration
- checkConnection()
- com.inet.report.AbstractValueElement.
- getRoundingDigits()
- getRoundingType()
- setRoundingDigits(int)
- setRoundingType(int)
- com.inet.report.RDC
- loadEngineFromDir(Datei)
- com.inet.report.config.datasource.DataSourceConfiguration
- Entfernte Methoden
- com.inet.report.Cache
- isTypeClusterCache()
- com.inet.report.LicenseKeyInfo
- isCluster()
- getGroupNumber()
- com.inet.report.Cache
- Entfernte veraltete Klassen, Methoden und Konstanten
- com.inet.report.AbstractFontElement
- getBold()
- getItalic()
- getStrikeout()
- getUnderline()
- com.inet.report.AbstractLineElement
- getExtendToBottomOfSectionWhenPrinting()
- com.inet.report.AbstractValueElement
- getAllowFieldClipping()
- getReverseSignForDisplay()
- com.inet.report.BorderProperties
- getTightHorizontal()
- setTightHorizontal(FormelFeld)
- com.inet.report.Chart
- com.inet.report.ChartFormatProperties
- getAllowFieldClipping()
- getReverseSignForDisplay()
- com.inet.report.CrossTabCell
- getSubElements()
- com.inet.report.DatabaseTables
- getConvertDateTime()
- isPasswordValid()
- setConvertDateTime(int)
- com.inet.report.Element
- getCanGrow()
- getCloseBorderOnPageBreak()
- getDropShadow()
- getSuppress()
- getSuppressIfDuplicated()
- getTextRotation()
- getTightHorizontal()
- setTextRotation(int)
- setTightHorizontal(FormulaField)
- com.inet.report.Engine
- EXPORT_CSV_COM
- EXPORT_CSV_COL
- STANDARD_PAPIER_AUSRICHTUNG
- DEFAULT_PAPERSIZE
- LANDSCAPE
- pageSizes
- PAPIER_*
- PATER_TABLOID
- PORTRAIT
- BENUTZERDEFINIERTES_PAPIER
- getAcrossThenDown()
- getFormatGroupsWithMultipleColumn()
- getHorizontal()
- getLabel*()
- getMargin*()
- getPaper*()
- getVertical()
- isFormatWithMultipleColumns()
- setAcrossThenDown(boolean)
- setData(ErgebnisSet, boolean)
- setFormatGroupsWithMultipleColumns(boolean)
- setFormatWithMultipleColumns(boolean)
- setHorizontal(int)
- setLabel*(...)
- setMargin*(...)
- setPaper*(...)
- setVertical(int)
- com.inet.report.FieldElement
- getLineSpacing()
- getLineSpacingType()
- setLineSpacing(int)
- setLineSpacingType(int)
- com.inet.report.FontProperties
- getBold()
- getItalic()
- getStrikeout()
- getUnderline()
- com.inet.report.GeneralProperties
- CENTER_ALIGN
- DEFAULT_ALIGN
- JUSTIFIED_ALIGN
- LINKS_AUSRICHTUNG
- RECHTS_AUSRICHTEN
- DREHEN_*
- getCanGrow()
- getCloseBorderOnPageBreak()
- getCloseBorderOnPageBreakFormula()
- getDefaultPromptValues()
- getDropShadow()
- getDropShadowFormel()
- getKeepTogether()
- getSuppress()
- getSuppressIfDuplicated()
- getTextRotation()
- setCloseBorderOnPageBreak(boolean)
- setCloseBorderOnPageBreakFormula(FormulaField)
- setDropShadow(boolean)
- setDropShadowFormula(FormulaField)
- setTextRotation(int)
- com.inet.report.Group
- getInstanceId()
- getParentGroup()
- removeGroupDirectionFormula()
- setHierarchicalGrouping(boolean, Feld, Feld, int)
- setInstanceId(Feld)
- setParentGroup(Feld)
- com.inet.report.LineProperties
- getExtendToBottomOfSectionWhenPrinting()
- com.inet.report.Paragraph
- getLineSpacingType()
- setLineSpacingType(int)
- com.inet.report.Paragraph
- getLineSpacing()
- setLineSpacing(int)
- com.inet.report.ParagraphProperties
- EXACT_SPACING
- MEHRFACHER_ABSTAND
- getLineSpacing()
- getLineSpacingType()
- setZeilenabstand(int)
- setLineSpacingType(int)
- com.inet.report.PictureProperties
- BOTTOM_ALIGN
- CENTER_ALIGN
- TOP_ALIGN
- com.inet.report.PromptField
- addDefaultValue(String,String)
- addDefaultValue(Objekt,String)
- getPromptValueDesciptions()
- setDefaultPromptValues(Object[])
- setDefaultPromptValues(String)
- setDefaultValue(int,Object,String)
- com.inet.report.RemoteInterface
- com.inet.report.ReportKomponente
- getKeepTogether()
- com.inet.report.ReportProperties
- getAcrossThenDown()
- getDistinct()
- getFormatGroupsWithMultipleColumn()
- com.inet.report.SortField
- removeSortDirectionFormula()
- com.inet.report.Subreport
- getOnDemand()
- com.inet.report.SubreportProperties
- getOnDemand()
- com.inet.report.SummaryField
- ZUSAMMENFASSUNG_KREUZTABELLE_ZEILE
- ZUSAMMENFASSUNG_KREUZTABELLE_SPALTE
- com.inet.report.ValueProperties
- TWELF_HOURS
- getAllowFieldClipping()
- getReverseSignForDisplay()
- com.inet.report.AbstractFontElement
Geändertes Verhalten
- Der Dialog "Treiberbibliotheken" ist nur noch für Benutzer verfügbar, die die Treiber noch auf die alte Weise konfiguriert haben. Es wird empfohlen, die jar-Datei der verwendeten Treiber in das Verzeichnis "<install-dir>/lib/driver" zu kopieren.
API-Änderungen
- Entfernte veraltete Methoden
- com.inet.designer.BasicDesignerDataModel
- getFileChooser(Datei)
- com.inet.designer.DesignerDataModel
- editElementsDialog(Element[])
- com.inet.designer.BasicDesignerDataModel
- Es ist nun möglich, PDF-Dateien nach dem PDF/A-1b-Standard zu erstellen, indem eine Eigenschaft im PDF-Exportdialog des Java-Viewers oder der neue URL-Parameter "pdfa" verwendet wird.
- Remote-Schnittstelle: Benutzer "Systemadministrator" hinzugefügt. Ein Login in das Remote-Interface ohne verwaltete Login-URL gewährt diesem Benutzer, genannt "System Administrator", alle Rechte.
- URL-Parameter "colswidth" hinzugefügt. Er gibt die Spaltenbreiten (feste Breite) für den CSV-Export an.
- Excel-Export:
- 1-Byte-Zeichen können jetzt als Tausendertrennzeichen verwendet werden. Wenn 2-Byte-Zeichen verwendet werden, wird nur das untere Byte angezeigt.
- Die Werte von Datum und Uhrzeit werden in die Client-Zeitzone konvertiert, wenn die Option 'useClientTimezone' gesetzt wurde.
- Neuer report url Parameter "filename" zur Angabe des Zieldateinamens des exportierten Berichts.
- Die Methode Engine.getRecordCount() gibt nun auch die Anzahl der Datensätze für Subreports zurück.
- Die Formelanweisung 'option loop' und der Basisvariablentyp 'double' werden nun vollständig unterstützt.
- Diagramm:
- Das Verhalten von kontinuierlichen Datumslinien und Flächendiagrammen wurde geändert. Die Linie geht in den Lücken zwischen zwei Werten auf die Null. Dies betrifft die Reihen mit folgenden Zusammenfassungsoperationen: Summe, Zählung, eindeutige Zählung.
- Die wöchentliche Gruppierung in einem Diagramm mit fortlaufendem Datum verwendet den Sonntag als ersten Tag der Woche, wie die Datengruppierung im Bericht.
- Repository-Standorte können jetzt im Konfigurationsmanager aktiviert und deaktiviert oder verwaltet werden.
- System-Berechtigungen: Gastkonto hinzugefügt.
- Import der Datenquellenkonfiguration: Es gab Probleme mit der XML-Kodierung beim Import von Dateien mit XML-Entitäten.
- Es ist möglich, private Zertifikate für die Login-URL zu verwenden.
i-net DesignerXML
- Falls ein Deadlock auftritt, bietet der Designer nun beim Start eine Hilfeseite an, um den Support für weitere Hilfe zu kontaktieren.
- Es ist nun möglich, einen anderen Rasterabstand für die x- und y-Koordinaten in der Design-Ansicht einzustellen - d.h. ein rechteckiges Raster anstelle eines quadratischen zu verwenden.
- Neue Einheit "Rasterpunkte" hinzugefügt. Sie ermöglicht die Platzierung von Berichtselementen entsprechend den Rasterpunktabständen.
- Formel-Editor: Die Funktion "CurrentDrillDownLevel" wurde durch "DrillDownGroupLevel" ersetzt. Zur Laufzeit wird "CurrentDrillDownLevel" aus Gründen der Abwärtskompatibilität unterstützt.
- Absatzattribute werden auch in der Entwurfsansicht angezeigt.
- Menüpunkte Undo / Redo zum Popup-Menü von Textelementen hinzugefügt.
- Methoden DesignerDataModel.getAvailableFontsFromRepository() und DesignerDataModel.createViewer() hinzugefügt.
- Es ist jetzt möglich, den Wert "first line indent" für jeden einzelnen Absatz in einer Textbeschriftung zu setzen.
- Drag and Drop war bei Textelementen nicht möglich.
- SQLField optimiert: Bisher wurde beim Laden eines Berichts in den Designer die Datenbank kontaktiert, wenn SQLFields vorhanden waren. Jetzt wird sie nur noch zur Designzeit kontaktiert, wenn ein SQLField einen unbekannten Wertetyp hat.
- NullPointerException trat manchmal beim Schließen der i-net DesignerXML-Anwendung auf.
- Bei der Bearbeitung von Textfeldern trat ein Speicherleck auf.
- Das Laden eines Berichts aus dem Repository, das Vornehmen einer Änderung und das anschließende Speichern des Berichts, ohne die Vorschau zu betrachten, führte dazu, dass die gespeicherte Miniaturansicht des Berichts verschwand.
- Visueller Datenbank-Assistent:
- Das Hinzufügen einer Datenquelle zu einem Bericht, der SQL-Felder enthielt, war fälschlicherweise nicht erlaubt.
- Die Standard-SQL-Anweisung, die für die Konvertierung eines Berichts in SQL aus dem Assistenten für visuelle Datenbanken erstellt wurde, war nicht korrekt, wenn der Bericht eine Stored Procedure als Tabellenquelle enthielt.
- Parameterfeld-Eigenschaften:
- Verschiedene Probleme mit der Benutzerfreundlichkeit und Fehler bei der Formatierung von Datum und Uhrzeit wurden behoben.
- Das Abbrechen einer versuchten Datenbankverbindung führte zur Anzeige eines Fehlers, obwohl die Verbindung korrekt geschlossen wurde.
- SQL-Ausdruck-Editor:
- Das Hinzufügen eines SQL-Ausdruckfeldes zu einem Bericht, der eine Datenquelle enthielt, für die noch ein gültiges Kennwort erforderlich war, war nicht möglich - jetzt wird stattdessen das Kennwort abgefragt.
- Formel-Editor:
- Die Formelfunktion "DefaultAttribute" hat bei keiner Eigenschaft funktioniert. Wenn die Eigenschaft keine benutzerdefinierte Vorgabe unterstützt, gibt die Funktion jetzt null statt eines Fehlers zurück.
- Übersetzer:
- Die Übersetzungen in Unterberichten wurden nicht in der rpt-Datei gespeichert.
- Es war nicht möglich, Subreports bei Bedarf mit Translator zu übersetzen.
- Zur Ausführungszeit wurden die Übersetzungen nicht für Parameterfelder und Strings in Formeln verwendet.
- Es war manchmal nicht möglich, Strings in einem Subreport mit dem Übersetzer zu übersetzen.
- Es war nicht möglich, denselben Platzhalter, z. B. {0}, mehrfach in derselben Zeichenfolge zu verwenden.
- Kopieren und Einfügen von/zu Programmen mit HTML-Zwischenablageformat funktionierte nicht.
- Das Standardformat für Felder funktionierte nicht, wenn die Felder in Textfelder eingebettet wurden.
- Wenn eine Eigenschaftsformel nicht geparst werden konnte, wurde der Eigenschaftsdialog nicht angezeigt.
- Ein ausgewähltes Berichtselement wurde aus dem Bericht entfernt, wenn die Löschtaste gedrückt wurde, um ein Feld im Feldbrowser zu löschen, z.B. ein Parameterfeld.
- Die Eigenschaft "Mögliche Rückgängig-Schritte" wurde aus dem Dialog Designer-Optionen, Kategorie "Bearbeiten", entfernt.
- Die Eigenschaft "Manuelle Formatierung" im "Eigenschaftseditor", Kategorie "Text", war immer deaktiviert.
- Bericht als Ordner:
- Wenn ein Bericht, der Bilder enthält, als Ordner gespeichert wurde, war es nicht möglich, ihn wieder zu öffnen, nachdem der Ordner dem Subversion-Kontrollsystem hinzugefügt wurde.
- Wenn ein Bericht als Ordner gespeichert wurde, wurde die gesamte Ordnerstruktur überschrieben und nicht nur der Inhalt des Ordners. Daher wurden die .svn-Unterordner der Versionskontrolle vollständig entfernt.
- NullPointerException trat auf, nachdem die Aktualisierungsschaltfläche im Visual Database Wizard angeklickt wurde.
Behobene Fehler
- TrueType-Schriften, die nicht korrekt initialisiert waren, wurden mit einer Höhe von 0 angezeigt.
- Die Eigenschaft "Unten auf der Seite drucken" funktionierte bei Bereichen nicht korrekt. Jeder Abschnitt eines Bereichs wurde unten auf einer separaten Seite angezeigt.
- Es gab ein selten auftretendes Problem, dass alte Berichte mit Statistikfeldern nicht gelesen werden konnten.
- Eine Endlosschleife trat auf, wenn "Unterlegen nach Abschnitt" für einen großen Abschnitt aktiviert war.
- StackOverflowFehler trat auf, wenn verschachtelte if-then-else-Anweisungen in Formeln verwendet wurden.
- Es gab ein Problem beim Lesen einer Crystal Reports-Vorlage mit ReportReader, die Meldung lautete "Object reference not set to an instance of an object".
- Die Ausnahme "Ungültiger Renderstatus" trat auf, wenn ein "Neue Seite nach"-Abschnitt gefunden wurde, bevor ein Abschnitt angezeigt wurde.
- Zeilen und Kästen, die auf der nächsten Seite fortgesetzt werden, begannen unter dem Seitenkopf. Jetzt beginnen sie unter der Kopfzeile der wiederholten Gruppe.
- Zeilen, bei denen die Option "Beim Drucken an das Ende des Abschnitts verschieben" aktiviert war, wurden nicht auf der nächsten Seite angezeigt, wenn sich der Abschnitt über mehrere Seiten erstreckte.
- Elementgrenzen wurden in angrenzende Abschnitte gezogen, wenn das Element am Rand des Abschnitts lag.
- Das mehrspaltige Layout eines Berichts war falsch, wenn es zusammen mit der Abschnittseigenschaft "Folgende Abschnitte unterlegen" verwendet wurde.
- Die eingestellte Linienbreite von Rahmen wurde für die Positionierung der Rahmen verwendet, auch wenn der Linienstil auf NO_LINE eingestellt war.
- Formeln:
- Die Funktion für die Zusammenfassung der Bevölkerungsstandardabweichung gibt jetzt einen leeren Wert zurück, bis ein gültiger Wert gelesen wurde.
- Aufgrund eines Fehlers war es nicht möglich, String Range Promts in Formeln zu verwenden.
- Probleme mit benutzerdefinierten Funktionen traten auf, wenn Java-Primitivtypen als Methodenparameter verwendet wurden.
- Die Formelfunktion 'isnull' war auf der Datenbank ausführbar, wenn ihr Parameter ein boolesches Feld war.
- Es war nicht möglich, eine Variable, die mit StoreNumberVar im Hauptbericht erstellt wurde, mit StoreNumberVar im Unterbericht zu überschreiben.
- Excel-Export:
- Beim Exportieren des Berichts in das Excel-Format wurden die Kreuztabellen nicht korrekt angezeigt. Die erste Spalte wurde nicht exportiert.
- Tausendertrennzeichen wurde nicht angezeigt, wenn das Prozentformat verwendet wurde.
- Die Position des '%'-Symbols wurde nicht gesetzt, wenn die Protokollstufe kleiner als WARNING war.
- Sicherheitsproblem: Mit einer geänderten Berichts-URL war es möglich, Dateien aus dem i-net Crystal-Clear Web-Kontext herunterzuladen, wenn die Datei crystal.war entpackt wurde.
- Berichtsleser: Mailing-Label und mehrspaltige Berichte wurden vom .NET-basierten Report Reader nicht richtig gelesen.
- Ein Subreport in der Fußzeile wurde nicht angezeigt, wenn der erste Subreport-Abschnitt höher war als der Subreport selbst.
- Es trat ein Fehler bei Datenbankspalten vom Typ CHAR auf, wenn diese leere Zeichenfolgen enthielten.
- Wenn mehrere Verzeichnisse in der Eigenschaft "Schriftartenpfad" angegeben wurden und ein Fehler beim Lesen von Schriftarten aus einem Verzeichnis auftrat, wurde das andere Verzeichnis nicht gelesen.
- Die Namen der eingebetteten Schriftarten im Schriftartenpfad wurden nur unter Berücksichtigung der Groß- und Kleinschreibung durchsucht.
- NullPointerException trat auf, wenn eine benutzerdefinierte String-Kollation für die Gruppierung und Sortierung mit einem leeren Gebietsschema verwendet wurde.
- IllegalDatePeriodException trat auf, wenn das Zeitfeld als Spalte oder Zeile in einer Kreuztabelle verwendet wurde.
- Das Ändern des Alias einer Tabellenquelle führte zu Problemen, wenn der Bericht ein SQLField als Element im Bericht hatte.
- Eine Endlosschleife im Scheduler trat bei großen Scheduler-Jobs auf, wenn Festplatten-Cache oder Datenbank-Cache verwendet wurde.
- BerichtLeser: Die Formatierung von Feldteilen in Textbeschriftungen wurde nicht korrekt aus Crystal Reports Vorlagen gelesen.
- Text-Export:
- Einige Zeilen in Kreuztabellen fehlten.
- Durch den Schatten von Zeilen kam es zu leeren Zeilen in einer Kreuztabelle.
- Datenexport:
- Es ist vorgekommen, dass Spalten der exportierten csv-Datei Datensätze von mehreren Datenbankfeldern oder speziellen Feldern, z.B. Seitenzahl, enthalten.
- Das Setzen und Zurücksetzen des Bezugs eines Statistikfeldes nach Gruppe mit TopN war fehlerhaft.
- Fehler in der SQL-Anweisung: Komma zwischen Tabellen in der From-Klausel fehlte, wenn eine Stored Procedure und mehr als eine Tabelle verbunden wurden.
- PDF-Export:
- Teilberichte, die Bilder enthielten, wurden manchmal nicht in die erstellte PDF-Datei aufgenommen.
- Wenn die Eigenschaft "Replace Missing Characters" aktiviert war, wurden Unterberichte manchmal nicht in die erstellte PDF-Datei aufgenommen.
- Unicode-Zeichen, die einige spezielle Byte-Werte (0x28, 0x29, 0x5c) enthalten, konnten in den Lesezeichen der PDF-Datei nicht korrekt angezeigt werden.
- Manchmal blieb der Cache 15 Minuten lang hängen, nachdem die Aktualisierungsschaltfläche im Java Report Viewer angeklickt wurde, wenn eingebettete Schriftarten verwendet wurden.
- N-Datentypen von JDBC 4 (z.B. NClob) wurden nicht unterstützt, wenn Java 6 verwendet wurde.
- Übersetzungen im Bericht wurden nicht für Parameterfelder (Prompts) und Formeln verwendet.
- Planer: Es war nicht möglich, eingebettete Schriftarten mit der Druckaktion des Schedulers zu verwenden.
- Bei Elementen mit einfacher HTML-Interpretation wurden Aufzählungslisten mit Blocksatz in der ersten Zeile nicht gerechtfertigt.
- Ein seltener Fehler, der eine zusätzliche Leerzeile in Textfeldern einschließlich Feldteilen und Leerzeilen verursachte, wurde behoben.
- RTF-Export: Nicht transparente Bilder wurden nicht angezeigt, wenn die RTF-Dateien in Editoren wie z.B.: OpenOffice writer.
- Eine vertikale Linie oder Box vom Seitenkopf zum Gruppenfußbereich wurde auf einer Seite nicht gezeichnet, wenn es sich um den Gruppenfuß des letzten Datensatzes handelte, der Gruppenfuß oben auf der nächsten Seite war und es keinen Gruppenfuß auf der aktuellen Seite gab.
- Die Methoden RDC.loadEngine(File file) und RDC.loadEngine(File file, xxx) konnten keine Berichtsvorlagen lesen, die als Verzeichnis gespeichert waren.
- Excel-Export:
- Wenn die erste Gruppe unsichtbar ist und der Gruppenkopf in der zweiten Gruppe unterdrückt ist und die Gruppenfußzeile in der zweiten Gruppe Daten enthält, wurden die neuen Blätter pro erste Gruppe nicht erstellt.
- Textstrings wurden mit STANDARD-Format statt TEXT-Format formatiert. Daher wurden Zahlen und Datumsangaben, die als Text geschrieben werden, in Open Office mit einem Hochkomma als erstes Zeichen angezeigt.
- Der .xls-Datei wurden keine Spalten für dünne Felder oder Textelemente (Breite < 3 mm) hinzugefügt.
- Die Höhe eines Abschnitts wurde auf die Standard-Kreuztabellenhöhe erhöht, wenn der Abschnitt eine sehr kleine Kreuztabelle enthält (kleiner als die Standard-Kreuztabellenhöhe) und wenn die Höhe des Abschnitts kleiner als die Standard-Kreuztabellenhöhe war.
- Aufgrund eines Fehlers in der Java VM auf dem Mac OS trat eine Sicherheitsausnahme auf, wenn ein nicht privilegierter Benutzer versucht, die Benutzereinstellungen zu verwenden und i-net Crystal-Clear intern versucht, die Systemeinstellungen zu verwenden.
- ArrayIndexOutOfBoundsException im Übersetzer trat auf, wenn derselbe Platzhalter, z.B. {0}, mehrfach innerhalb desselben Strings verwendet wurde.
- Felder im Unterbericht wurden nicht angezeigt, wenn die Eigenschaft "Bei Duplikaten unterdrücken" aktiviert war und die Textinterpretation "Html (erweitert)" verwendet wurde.
- Die Texteigenschaft "Manuelle Formatierung" funktionierte in vielen Fällen nicht korrekt, wenn sie für Kreuztabellenfelder verwendet wurde.
- ArrayIndexOutOfBoundsException trat bei der Ausführung eines Berichts auf, der mit i-net Crystal-Clear Version 10 erstellt wurde.
- Eine Endlosschleife trat auf, wenn "Unterdrücken, wenn leer" für einen Abschnitt aktiviert war, der einen leeren Unterbericht mit aktivierter Option "Bericht unterdrücken, wenn keine Zeilen" enthält.
- ArrayIndexOutOfBoundsException im RTF-Export aufgetreten.
- Die Funktion toWords hat das Servergebietsschema anstelle des Standardgebietsschemas verwendet. Daher war toWords mit einer englischen Ausgabe auf einem Server mit chinesischem Gebietsschema nicht möglich.
- Es war nicht möglich, die Standardschriftart Bold von Feldelementen in einer Kreuztabelle in eine andere Schriftart, z.B. Standard, zu ändern. Nach erneutem Öffnen der rpt-Datei wurde der Stil wieder auf Bold gesetzt.
- OutOfMemoryError trat auf, wenn Remote Interface oder Repository Browser stark genutzt wurden.
- Sicherheitskorrektur zur Verhinderung von Cross-Site-Scripting (XSS).
- In einigen Fällen ist ein Leistungsproblem auf Linux-Servern aufgetreten.
- PDF-Export:
- Der Fehler "OTF type is not set!" ist beim PDF-Export aufgetreten, wenn nicht einbettbare Schriften verwendet wurden.
- Manchmal wurden Datei-Handles für eingebettete Schriftarten nicht geschlossen. Daher konnte die Ausnahme "zu viele offene Dateien" auftreten.
- Es konnte vorkommen, dass Zeichen osteuropäischer Schriftarten nicht verdrängt wurden, wenn nicht einbettbare Schriftarten verwendet wurden.
- Bei aktiviertem Bereich zusammenhalten hat der Java-Viewer in einigen Fällen nach einem Klick auf einen Gruppenbaumknoten die Seite vorher angezeigt.
- StackOverFlow/Endlosschleife bei automatisch generierten Zusammenfassungsfeldern ist aufgetreten.
- Problem mit Apache Derby DB während des Verbindungsaufbaus ist aufgetreten.
- Im Excel-Export wurde ein Schrägstrich als Begrenzungszeichen in einem benutzerdefinierten Datumsformat mit dem Standardbegrenzungszeichen des Gebietsschemas angezeigt. Jetzt wird ein Schrägstrich unabhängig vom Gebietsschema verwendet.
- In seltenen Fällen trat bei der Schriftinitialisierung eine NullPointerException auf, wenn die Statistikdaten leer waren.
- IllegalArgumentException aufgetreten: Der Name eines Summenfeldes kann nicht leer sein.
- Invalid license key exception trat manchmal auf, wenn BouncyCastle JCE provider verwendet wurde.
- Berichte, die aus einem entfernten Repository geladen wurden, wurden im Designer nicht jedes Mal korrekt neu gerendert, sondern gaben manchmal zwischengespeicherte Ergebnisse zurück.
- Export der Datenquellenkonfiguration: Es gab ein Kodierungsproblem mit Umlauten und anderen Sonderzeichen.
- Der Hilfsrahmen für das Webtool zur Konfiguration der entfernten Datenquelle hatte eine falsche Formatierung und war schwer zu lesen.
- Bei der Verwendung von Opera 9 in einem nicht-englischen Gebietsschema waren einige der Hilfeseiten und Beschriftungen der Remote-Schnittstelle gemischt in Englisch und einer anderen Sprache. Dies war auf einen Fehler in Opera 9 zurückzuführen, und es wurde ein Workaround gefunden.
- Es war nicht möglich, eine Eigenschaftsdatei, die den Schlüssel "allow.param.dll" enthält, als Konfiguration zu importieren.
- Berichts-Repository: Es ist möglich, ein Berichts-Repository auf einem laufenden i-net Crystal-Clear Plus-Server zu hosten.
- Remote-Datenquellen-Manager: Es gibt jetzt ein neues Remote-Modul zum Konfigurieren und Verwalten der Datenquellen eines Servers.
- PDF-Export:
- Es ist jetzt möglich, EUDC-Zeichen in PDF-Dateien zu exportieren.
- Schnittstelle CertificateInfoFactory hinzugefügt. Mit einer eigenen CertificateInfoFactory ist es möglich, mehrere Zertifikate zum Signieren von PDF-Dateien zu verwenden, anstatt eines in der Konfiguration gespeicherten.
- Implementierung der ToWords-Funktion für Spanisch und Russisch hinzugefügt.
- Neue Methoden RDC.loadEngineFromDir und RDC.saveEngineToDir zur API hinzugefügt. Mit diesen Methoden ist es möglich, einen Bericht als Verzeichnis anstelle einer gezippten rpt-Datei zu speichern/laden.
- Das Paket "com.inet.report.translation" wurde zur API hinzugefügt. Mit der Übersetzungs-API ist es möglich, einen Bericht für verschiedene Sprachen zu erstellen. Ganze Absätze können übersetzt werden und es ist möglich, einen einzelnen Bericht, mehrere Berichte und alle Berichte zu übersetzen.
- Textinterpretation HTML (erweitert) unterstützt jetzt vollständig Zeilen- und Spaltenhintergründe (Farbe und Bilder) in Tabellen.
- Formeln:
- Die Formel unterstützt jetzt reguläre Ausdrücke über die Funktion matches.
- Neue Formelfunktion: hasValue.
- Formel: Datum +/- Zahl akzeptiert jetzt auch eine gebrochene Anzahl von Tagen.
- Kreuztabelle unterstützt jetzt die Gruppierung nach Datum und Zeit.
- Textinterpretation HTML (erweitert): Der Advanced-HTML Renderer (JWebEninge) unterstützt nun die absolute und relative Positionierung von HTML-Elementen.
- Die eingestellte Datenbankverbindung wurde nicht verwendet, nachdem RDC.saveEngine aufgerufen wurde, um den Bericht vor der Ausführung zu speichern.
- Der report url Parameter 'stopAfterPage' ist nun standardmäßig erlaubt.
- Die Eigenschaft "codepage" wurde für den Textexport hinzugefügt.
- Sprachressourcen pro Bericht oder für mehrere Berichte. Übersetzungen können über die API oder den Übersetzungsdialog im i-net Designer vorgenommen werden.
- Nachfolgende Leerzeichen in Datentyp-Spalten mit Typ char werden abgeschnitten.
- Die Textausrichtung "Standard" (in der Regel rechts für Zahlen, links für alle anderen Wertetypen) wird nun als separater Ausrichtungstyp gespeichert, anstatt dass die Einstellung direkt nach dem Speichern durch die "echte" Ausrichtung ersetzt wird.
- Diagramme: Die Eigenschaften "Zusammenhängende Linien zeichnen" und "Außerhalb des Bereichs zeichnen" werden für durchgehende Liniendiagramme unterstützt.
- Repository: Es ist jetzt möglich, die Berechtigungen von Berichten für den ausgewählten Ordner im Browser des entfernten Repositorys zu ändern.
- Befehlszeilenparameter "-importDatasource <Bereich> <Datei>" und "-forceImportDatasource <Bereich> <Datei>" hinzugefügt. Mit diesen Befehlszeilenparametern ist es möglich, eine Datenquellenkonfigurationsdatei (die Sie mit dem Datenquellenmanager oder der API erstellen können) in einen bestimmten Bereich zu importieren.
- Excel-Export: Eigenschaft "CellDistribution" hinzugefügt. Sie bestimmt, wie der Text auf Excel-Zellen verteilt werden soll, wenn der Text nicht in eine einfache Zelle passt.
- Das ReportServlet akzeptiert nun die von proxys gesendeten X-Forwarded-* Header-Werte. Mit diesen Header-Werten ist es möglich, die korrekten Client-Links in z.B. der Server-Startseite zu ermitteln.
- Felder mit HTML (interpretiert mit "HTML(advanced)") haben nun klickbare Links in allen Formaten, die Links unterstützen, wie z.B. der Java-Viewer, HTML, PDF und RTF.
- Die Zusammenfassungsfunktionen wurden komplett überarbeitet, um die Leistung und Kompatibilität zu optimieren.
- Die Dateien "startListener.sh" und "stopListener.sh" werden auf Linux und Mac OS installiert.
- Unter Linux und Mac OS ist es nun möglich, den Befehl "sh Listener.sh start|stop|restart" auszuführen.
API-Änderungen
- Klassen hinzugefügt
- com.inet.report.certificate.CertificateInfoFactory
- com.inet.report.certificate.CertificateInfo
- com.inet.report.SignatureForm
- com.inet.report.translation.Translations
- com.inet.report.translation.Translator
- Hinzugefügte Methoden
- com.inet.report.Engine
- getTranslations()
- com.inet.report.FormulaField
- getTranslationKeys()
- usesSummaryFields()
- com.inet.report.Paragraph
- moveParts(int, Absatz, int, int)
- normalize(boolean)
- com.inet.report.RDC
- loadEngineFromDir(Datei)
- saveEngineToDir(Datei, Engine)
- getCertificateFactory()
- setCertificateInfoFactory(CertificateInfoFactory)
- com.inet.report.Engine
- Methoden und Konstanten, die ab Version 9.1 veraltet sind
- com.inet.report.Paragraph
- normalize()
- com.inet.report.Paragraph
Externe Bibliotheken
- JFreeChart aktualisiert mit Version 1.0.12.2.
- Echo2 aktualisiert mit Version 2.1.1.
- i-net Sprinta ersetzt durch i-net Merlia.
- i-net Sero ersetzt durch i-net Oranxo.
i-net Crystal-Clear - Java Viewer
- Russische Übersetzung der GUI hinzugefügt.
- Neue API-Methode "ViewerContext.showUrl". Es ist jetzt möglich, eine eigene "showURL"-Methode für den Viewer zu implementieren, die immer dann aufgerufen wird, wenn ein Benutzer auf einen Link in einem Bericht klickt.
- Export-Dialog: Eigenschaft "Codepage" für den Textexport hinzugefügt.
- Das Java Report Viewer Applet akzeptiert jetzt den Parameter DefaultZoom.
- Die Schriftgröße von EUDC-Zeichen wurde falsch berechnet, wenn "Font Auto Scaling" aktiviert war.
- Ein benutzerdefinierter ViewerContext, der mit setViewerContext gesetzt wurde, wurde durch einen Standardkontext ersetzt, nachdem der Viewer zu einem Swing-Frame hinzugefügt wurde. Dies führte dazu, dass Methoden wie "showError" weiterhin ihr Standardverhalten hatten.
- Die Reihenfolge der Gruppenbaumknoten war falsch. Chield-Knoten wurden angezeigt, obwohl die Elternknoten unterdrückt wurden.
- NullPointerException trat auf, wenn die Export-Schaltfläche gedrückt wurde (der Dialog erscheint nicht).
- Verschiedene Tastaturkürzel funktionierten nicht, wenn der Viewer unter Mac OS läuft.
API-Änderungen
- Hinzugefügte Methoden
- com.inet.viewer.ViewerContext
- showUrl="../../java.lang.String-java.util.Properties"
- com.inet.viewer.ViewerContext
i-net DesignerXML
- Repository-Browser: Berichte können aus dem Repository heruntergeladen und im Repository gespeichert werden. Aus dem Repository geladene Berichte werden auf dem Repository-Server und nicht im Designer ausgeführt, aber das Rendering-Ergebnis wird im Designer angezeigt.
- Konfigurations-Manager: Die Tastatursteuerung auf dem Mac wurde verbessert.
- Shortcut "CTRL+W" für den Menüpunkt "Datei | Schließen" hinzugefügt.
- DesignerDataModel.getAvailableFonts hinzugefügt, um die Schriftarten zu kontrollieren, die in Berichten verwendet werden können.
- In der Designer-GUI ist es nun möglich, auf einfache Weise ein Wasserzeichen in den Berichtskopf oder Seitenkopf einzufügen.
- Die Positionierung von Dialogen wurde verbessert. Sie werden nun auf dem übergeordneten Dialog zentriert.
- Das Dialogfeld "Dokumenteigenschaften" in i-net DesignerXML zeigt jetzt die Erstellungs- und Änderungszeit des Berichts detaillierter an.
- Es ist jetzt möglich, Berichte als Verzeichnis zu speichern und zu laden, anstatt das gezippte Dateiformat zu verwenden. Dies kann nützlich sein, wenn Sie z.B. ein Versionskontrollsystem für Ihre Berichte verwenden.
- Diagramm-Eigenschaften: Bei kombinierten Diagrammen ist es jetzt möglich, zwischen diskreten und kontinuierlichen Achsen und zwischen horizontalen und vertikalen Diagrammtypen zu wechseln.
- Fehler, die beim Speichern eines Berichts im Designer auftreten, werden jetzt in der Statusleiste angezeigt und nicht mehr nur im Systemprotokoll protokolliert.
- Übersetzungs-GUI hinzugefügt, um die Übersetzungen des Berichts zu verwalten.
- Ein Signaturelement kann dem Bericht hinzugefügt werden. Dies ist nützlich für Berichte, die als PDF exportiert werden sollen.
- Die Einträge "Einfügen" und "Symbol einfügen" wurden zum Dropdown-Menü eines Textelements hinzugefügt.
- Neue Eigenschaft "Datenquellenkonfiguration in Berichtsdatei speichern" zu den Dokumenteigenschaften hinzugefügt.
- Das Verhalten von Kopieren und Einfügen in Textelementen wurde verbessert. Die Interoperabilität mit anderen Anwendungen wurde verbessert und es ist nun möglich, Teile eines Textelements in ein neues Textelement einzufügen.
- Repository:
- Berichte aus einem Repository, die in i-net Designer XML geöffnet werden, werden jetzt mit dem Gebietsschema des Clients ausgeführt, auf dem die Designer-Anwendung läuft.
- Mit i-net DesignerXML ist es jetzt möglich, auf die https-URL eines WebDav-Repositorys zuzugreifen.
API-Änderungen
- Methoden hinzugefügt
- com.inet.designer.DesignerDataModel
- getAvailableFonts()
- com.inet.designer.DesignerDataModel
Behobene Fehler
- Nicht-ASCII-Zeichen in Parameterfeldnamen werden im Dialog HTML-Parameteranfrage nicht korrekt angezeigt.
- Ein Fehler trat auf, wenn eine sehr lange Ganzzahl in einer Formel verwendet wurde.
- HTML-Parameter-Anfrage-Dialog: Nicht-ASCII-Zeichen in Parameterfeldnamen wurden nicht korrekt angezeigt.
- Textinterpretation RTF: Stilname in der Stilgruppe wurde als Text geschrieben.
- Die Formelfunktion "groupName" gab manchmal einen Wert mit einem anderen Typ als Text zurück.
- Gruppierung von Strings mit Umlauten war falsch.
- Währungsfelder wurden in Berichten, die mit einer älteren Version von i-net Crystal-Clear erstellt wurden, ohne Währungssymbol angezeigt.
- Das Ändern der Protokollebene auf einem laufenden Server führte ohne einen Neustart des Servers zu keinen Änderungen. Jede Änderung wirkt sich nun "on-the-fly" aus.
- Excel-Export:
- Die Hintergrundfarbe der ersten Spalte wurde beim Export nach Excel entfernt.
- Bei Berichten mit mehrspaltigem oder Label-Layout entspricht die Breite der letzten Spalte nun der Breite des Berichts.
- ReportReader:
- Der ReportReader war nicht in der Lage, Crystal Reports Vorlagen mit bestimmten Gruppeneigenschaften zu lesen, da die Fehlermeldung "Die Objektreferenz war nicht mit einer Objektinstanz verknüpft." auftrat.
- Es gab Kodierungsprobleme beim Öffnen einer Crystal Reports-Vorlage im i-net Designer auf einem System mit Crystal Reports Version XI Release 1 oder niedriger. Dies führte dazu, dass Sonderzeichen wie Umlaute als "?" oder andere Symbole angezeigt wurden.
- Die Auto-Title-Eigenschaft von Diagrammachsen in Crystal-Reports-Vorlagen wurde vom ReportReader nicht korrekt gelesen.
- Zusammenfassungsfelder als Feldteile wurden nicht korrekt aus Crystal Reports-Vorlagen gelesen, sondern als unbekannte Felder angezeigt.
- Felder, deren Format auf "Benutzerdefiniertes Format" eingestellt war, wurden nicht korrekt aus Crystal Reports-Vorlagen ausgelesen. Dies wurde behoben.
- Die folgende Ausnahme trat bei Versandetikettenberichten auf: "Ungültiger Renderstatus. Seite bereits fertig."
- Die Eigenschaft "Seitenzahl zurücksetzen nach" wurde in unterdrückten Abschnitten und Abschnitten ohne Höhe ignoriert.
- PDF-Export:
- Die Berechnung der Schriftmetriken für einige chinesische Schriftarten war falsch. Daher konnte es vorkommen, dass Zeichen von anderen Zeichen überlagert wurden.
- Schriften wurden nach einer Konfigurationsänderung nicht aus dem FontPath-Verzeichnis neu geladen.
- Ausnahmen oder falsche Ergebnisse traten auf, wenn setField(DateTime) in einer Kreuztabelle verwendet wurde.
- In seltenen Fällen konnte es vorkommen, dass ein Bericht als beschädigte Datei gespeichert wurde, wenn ein Fehler in der Konfiguration der Datenquelle für den Bericht auftrat.
- Feldobjekte in Textfeldern, die nur einen einzigen Zeilenumbruch enthielten, wurden ignoriert.
- Der Link "Website" im Info-Dialog hat unter Linux mit Java 5 nicht korrekt funktioniert.
- XLS-Export: Unterlegen des folgenden Abschnitts hat nicht funktioniert. Es wurde kein Underlaying in der xls-Datei durchgeführt.
- StackOverflowFehler trat auf, wenn verschachtelte if-then-else-Anweisungen in Formeln verwendet wurden.
- Die Spezifikation des Beispielberichts in der Sample.jsp war falsch. Die Methode "put" wurde anstelle von "setProperty" verwendet.
i-net DesignerXML
- Manchmal haben Änderungen an Standardwerten für Zahlenelemente auch die Standardwerte für Währungselemente verändert.
- Visueller Datenbank-Assistent: Beim Hinzufügen einer neuen Verbindung zu einem Hauptbericht, der einen Unterbericht enthielt, wurde der Benutzer fälschlicherweise gefragt, ob die Verbindung des Unterberichts geändert werden sollte.
- Formel-Editor:
- Grundlegende Formeln werden jetzt gezwungen, die 'Formel'-Variable zuzuweisen. Es gibt keinen Fallback 'Wert der letzten Zeile' mehr.
- Die Formel für die horizontale Ausrichtung von Bildelementen bot als mögliche Konstante "justified" an, obwohl dies keinen Sinn machte.
- Gruppendialog: Der Berichtsfehler "Falsche Gruppennummer" trat auf, wenn man versuchte, Gruppen in einem Unterbericht zu entfernen.
- Beim Arbeiten mit Berichten in i-net DesignerXML wurde die Dokumenteigenschaft "letzte Änderung" nicht aktuell gehalten, d.h. sie blieb immer gleich dem Erstellungsdatum.
- Das Spezialfeld "Aktueller Benutzername" wurde nicht in den Baum des Feldbrowsers aufgenommen.
- Ein Fehler wurde behoben, bei dem die Einstellung eines Zahlenfeldes auf ein "benutzerdefiniertes" Zahlenformat nicht im Bericht gespeichert wurde.
- Der Hilfe-Artikel im Designer zu Währungsfeldern gab fälschlicherweise an, dass der "gleitende" Währungsstil von i-net Crystal-Clear nicht unterstützt wird, der "feste" hingegen schon. Es ist genau andersherum, dies wurde korrigiert.
- Eine Reihe von Layout-Fehlern im Textelement wurde behoben.
- Text-Element:
- Eine Reihe von Fehlern im Textelement wurde behoben.
- Das Verhalten des Cursors in einem Textelement war nicht korrekt, wenn der Text gedreht wurde.
- Geändertes Verhalten von Formeln mit der Auswertungszeit WhileReadingRecords:
- Alle Formeln mit der Auswertungszeit WhileReadingRecords, die im Bericht verwendet werden, werden nun ausgeführt, bevor das Rendering des ersten Abschnitts beginnt.
- Variablen, die in Formeln mit der Auswertungszeit WhileReadingRecords verwendet werden, werden vor Beginn des Renderings nicht zurückgesetzt, so dass die Variablen auch in Formeln mit der Auswertungszeit WhilePrintingRecords verwendet werden können.
Aufgrund dieses geänderten Verhaltens kann es notwendig sein, Ihre Berichte mit der Funktion WhileReadingRecords zu aktualisieren, damit Sie das gleiche Ergebnis wie mit früheren i-net Crystal-Clear-Versionen erhalten. Es ist leider notwendig, diese Verhaltensänderung vorzunehmen, da das alte Verhalten nicht korrekt war.
Wenn Sie eine ältere Konfiguration mit i-net Crystal-Clear Version 9 verwenden, müssen Sie die Kompatibilitätsebene auf "kompatibel zu Version 9.x" setzen, um das neue Verhalten der "WhileReadingRecords"-Formeln zu nutzen. Wenn Sie eine neue Konfiguration mit Version 9 erstellen, dann ist "kompatibel zu Version 9.x" der Standardwert.
- Zusammenfassungsfunktionen überarbeitet: Die Zusammenfassungsfunktionen wurden komplett überarbeitet, um die Leistung und Kompatibilität zu optimieren. Dies sind die Hauptauswirkungen dieser Änderung:
- bei der Ausführung von Gesamtzusammenfassungen kann jedes Datenbank-, Formel- oder Gruppenfeld als Auswertungs- oder Rücksetzbedingung verwendet werden
- in laufenden Gesamtzusammenfassungen können jetzt auch nicht-boolesche Formelfelder als Auswerte- oder Rücksetzbedingung verwendet werden
- laufende Gesamtzusammenfassungen haben jetzt die gleichen Auswirkungen auf die Leistung wie nicht laufende Gesamtzusammenfassungen, benötigen aber immer noch mehr Speicher
- es ist jetzt immer sicher, andere Statistikfelder zu verdichten
- nicht-statistische Funktionen haben einen Anfangswert von 'null' anstelle von Null
- das Hinzufügen eines oder mehrerer 'Null'-Werte zu einer Zusammenfassung ändert das Ergebnis nicht
- korrelation und Kovarianz geben jetzt 1 zurück, wenn ihr Ergebnis undefiniert ist
- pth Percentile' hat jetzt eine präzisere Abstufung
- nth most frequent' gruppiert jetzt immer nach Häufigkeit und ordnet aufsteigend nach Wert, bevor der n-te Wert zurückgegeben wird.
- Verbessertes Berichtsdateiformat: Ab Version 9 verwendet i-net Crystal-Clear ein komprimiertes Dateiformat für die Berichtsvorlagen (.rpt), ähnlich dem OpenDocument zip-Dateiformat. Dieses neue Berichtsdateiformat war eine Voraussetzung für neue Funktionen wie die Berichtsvorschau. Mit diesem Format wurde die Leistung insbesondere bei großen Berichten verbessert, da die Dateigröße kleiner und schneller ist. Außerdem sind wir mit diesem Format offen für weitere Ergänzungen der Berichtsvorlagen.
- Neue Exportformate: BMP, GIF, JPG und PNG: Mit Version 9 ist es möglich, eine einzelne Berichtsseite als Bild zu exportieren. Die folgenden Formate werden unterstützt: BMP, GIF (mit mindestens Java 6 auf dem Server), JPG und PNG.
Mit den Report-URL-Parametern Zoom, Breite, Höhe und Hintergrund ist es auch möglich, das exportierte Bild zu konfigurieren.
- Neuer Renderer für die Textinterpretation: HTML (advanced): Felder mit Textinterpretation "HTML (advanced)" verwenden nun den HTML-Renderer von i-net software. Dies behebt viele Probleme, die mit dem HTML-Renderer von Swing auftraten, der zuvor für diese Felder verwendet wurde.
- Berichts-URL-Parameter sind standardmäßig nicht erlaubt: Aus Sicherheitsgründen sind nur die folgenden Parameter in der Berichts-URL standardmäßig erlaubt: "prompt", "init" und "sproc". Um andere Parameter in der Berichts-URL zu verwenden, wie z.B. "datasource", ist es notwendig, diese im Konfigurationsmanager freizuschalten, bevor sie verwendet werden.
Es ist immer möglich, Werte für alle Parameter in der checkProperties-Methode auf der Server-Seite zu setzen. Java-Code-Beispiele, die dies zeigen, finden Sie im Verzeichnis "sample" der Dokumentation (falls installiert).
- Underlay Following Sections: Der Algorithmus für "Underlay Following Sections" wurde umgeschrieben, um die korrekte Definition zu implementieren. Dies kann die Ausgabe Ihrer Berichte verändern, wenn Sie von Fehlern in der alten Implementierung betroffen waren. Ein Vorteil ist, dass Sie nun ohne Probleme Berichte mit Wasserzeichen erstellen können. Wenn Sie ein Wasserzeichen erstellen möchten, müssen Sie lediglich einen ersten Abschnitt zum Berichts-/Seitenkopf hinzufügen und die Option "Folgende Abschnitte unterlegen" für diesen Abschnitt aktivieren. Sie sollten das Bild entweder im Bericht oder im Seitenkopf platzieren, je nachdem, ob Sie ein Wasserzeichen pro Bericht oder eines pro Seite wünschen.
- i-net DesignerXML - Standardwerte: Mit Version 9.0 ist es möglich, Standardwerte für die Formatierungseigenschaften für neu erstellte Elemente in i-net DesignerXML festzulegen.
Allgemeine, Schriftart- und Rahmeneigenschaften können für alle Elementtypen, wie z. B. Datenbankfelder, Statistikfelder, Gruppennamensfelder und Textobjekte, festgelegt werden.
Text-, Absatz- und Werteigenschaften können je nach Feldtyp eingestellt werden, z. B. für String-, Zahlen-, Währungs-, Datums-, Zeit-, DateTime- und boolesche Felder.
- i-net DesignerXML - Berichtsvorschau: Eine Vorschau des Berichts wird auf der rechten Seite des Dialogs "Datei öffnen" von i-net DesignerXML angezeigt, wenn der Bericht mindestens einmal ausgeführt und mit Version 9 gespeichert wurde.
- i-net DesignerXML - Signaturelement: Mit einem Signaturelement ist es möglich, Signaturinformationen in der exportierten PDF-Datei anzuzeigen. Das Signaturelement ist weder im Java Viewer noch in den anderen Exportformaten sichtbar. Um das Signaturelement zu verwenden, muss die PDF-Signierung im i-net Crystal-Clear Configuration Manager unter "Export -> PDF-Dateien signieren" aktiviert und konfiguriert werden.
- i-net DesignerXML - Übersetzungseinstellungen / Ressourcenbündel pro Bericht: Mit den Übersetzungseinstellungen können Sie Übersetzungen für einen Bericht erstellen, bearbeiten, entfernen, importieren und/oder exportieren, so dass es möglich ist, einen Bericht für mehrere Sprachen zu erstellen. Die Übersetzungsressourcen werden in der Berichtsdatei gespeichert und werden bei der Ausführung des Berichts verwendet. Um sie zu öffnen, wählen Sie "Übersetzungen..." aus dem Berichtsmenü.
- i-net DesignerXML - Willkommensseite: Die Willkommensseite wird nach dem Start von i-net DesignerXML angezeigt. Die verfügbaren Ressourcen werden in verschiedenen Bereichen dieser Seite angezeigt, so dass der Benutzer leicht auf sie zugreifen kann.
Mit dem Kontrollkästchen am unteren Rand der Willkommensseite kann der Benutzer entscheiden, ob er diese Seite in Zukunft sehen möchte. Wenn sie deaktiviert ist, kann er sie über den Menüpunkt im Hilfemenü wieder anzeigen lassen.
- Schritt-für-Schritt-Tutorials: Die Schritt-für-Schritt-Tutorials führen den Benutzer durch die einzelnen Schritte der Arbeit mit i-net DesignerXML.
Der Benutzer kann die Tutorials auf der Willkommensseite oder im Menü "Hilfe" aufrufen.
- Setup - Verbesserte Auswahl des Installationstyps und der Komponentenauswahl: Auf der ersten Seite des Setups kann der Benutzer leicht entscheiden, ob er i-net DesignerXML oder i-net Crystal-Clear als Berichtsserver installieren möchte. Wenn der Benutzer auf Serverinstallation klickt, kann er auf der nächsten Seite die Installationsumgebung auswählen. Bei der benutzerdefinierten Installation ist es weiterhin möglich, sowohl i-net DesignerXML als auch den Berichtsserver oder das Servlet in einem Schritt zu installieren.
i-net Crystal-Clear-Runtime
- Neuer Remote Configuration Manager für die Online-Verwaltung von i-net Crystal-Clear. Er ermöglicht es Ihnen, die Serverkonfigurationen von jedem beliebigen PC aus zu verwalten.
- Verbessertes rpt-Dateiformat - Seit Version 9 wird ein gezipptes Dateiformat für die Berichtsvorlagen (.rpt) verwendet.
- ReportReaderNet für Berichte, die mit Crystal Reports XI R2 oder höher erstellt wurden.
- Bild-Exportformate hinzugefügt: PNG, JPG, BMP und GIF (Java 6 oder höher).
URL-Parameter-Optionen sind Zoom, Breite, Höhe und Hintergrund.
- **Startseite hinzugefügt. ** - Sie kann mit einer der folgenden URLs aufgerufen werden:
http://<Servername>:<Port>(für Berichtsserver)http://<Servername>:<Port>/<Kontext>(für Report Servlets)
- Report-URL-Parameter standardmäßig deaktiviert - Aus Sicherheitsgründen sind nur die folgenden Report-URL-Parameter standardmäßig in der Report-URL erlaubt: "prompt", "init" und "sproc". Um andere Parameter in der Berichts-URL zu verwenden, wie z.B. "datasource", ist es notwendig, diese im Konfigurationsmanager freizuschalten, bevor sie verwendet werden.
- Neue API-Methode:
- Feld.duplizieren(String)
Dupliziert das Feld und gibt das erstellte Feld mit dem angegebenen Namen zurück. Diese Methode kann nur für kopierbare Felder aufgerufen werden, d. h. Formel-, Eingabeaufforderungs-, SQL- und Statistikfelder. Alle anderen Felder lösen eine UnsupportedOperationException aus.
- Cache.getxxxAndWait Methoden mit Timeout Parameter hinzugefügt.
- Neue Eigenschaft: Für die Optionen "report location" in den Einstellungen für die Berichtsberechtigung ist jetzt die Option "JNDI location allowed" verfügbar.
- Felder mit Textinterpretation "HTML (advanced)" verwenden jetzt den HTML-Renderer von i-net software. Dies behebt viele Probleme, die mit dem HTML-Renderer von Swing auftraten, der zuvor für diese Felder verwendet wurde.
- Hyperlinks auf Box-Elementen werden unterstützt.
- Neue Java Bean hinzugefügt: JGauge. Kann verwendet werden, um Messdiagramme in den Berichten anzuzeigen.
- HTML-Export: Die Autorefresh-Funktion wurde nun auch für den HTML-Export implementiert - die Verwendung des Parameters "autorefresh" bewirkt, dass die Seite alle x Millisekunden neu geladen wird, z.B. "autorefresh=10000" für eine Aktualisierung der Seite alle 10 Sekunden (Build 9.0.130).
- Der HTML-Parameter-Anforderungsdialog wird je nach Gebietsschema des Clients übersetzt (Build 9.0.155).
- Unter Linux/Unix wurde die Datei "Listener.sh" hinzugefügt. Sie kann zum Starten, Stoppen und Neustarten des Berichtsserver-Listeners verwendet werden (Build 9.0.170).
- Startskripte "startListener.command" und "startConfigurationManager.command" für Mac OS X hinzugefügt (Build 9.0.170).
- Das fehlerhafte Verhalten von WhileReadingRecords-Formeln wurde geändert.
- Alle Formeln mit der Auswertungszeit WhileReadingRecords, die im Bericht verwendet werden, werden nun ausgeführt, bevor das Rendering des ersten Abschnitts beginnt.
- Variablen, die in Formeln mit der Auswertungszeit WhileReadingRecords verwendet werden, werden vor Beginn des Renderings nicht zurückgesetzt, so dass die Variablen auch in Formeln mit der Auswertungszeit WhilePrintingRecords verwendet werden können.
- Es wird nicht mehr unterstützt, Zusammenfassungsfunktionen in WhileReadingRecords-Formeln zu verwenden. Diese Formeln werden automatisch auf WhilePrintingRecords gesetzt.
- Es ist jetzt möglich zu wählen, wie Formeln auf leere Datenbankfelder reagieren sollen.
- Unter Windows befinden sich die ReportReader-Tools jetzt im gemeinsamen Ordner Program Files.
- Die Konfigurationseigenschaften und ihre Werte werden jetzt in alphabetischer Reihenfolge in der Protokollausgabe protokolliert, um das Auffinden einer Konfigurationseinstellung zu erleichtern.
- Diagramm:
- Die Behandlung von Nullwerten in den kontinuierlichen Diagrammen wurde geändert. Das Diagramm ignoriert jetzt die Nullwerte des Kategoriegruppenfeldes.
- Eine 'für jeden Datensatz'-Konfiguration unterstützt nun auch die Farbformel.
- Der Berichtsname wird im Speicherdialog des Browsers vorgeschlagen, wenn der Bericht-URL-Parameter "init=<export-format>" zum Exportieren eines Berichts verwendet wird. Zuvor wurde der Servername vorgeschlagen.
- Tabellenaliasnamen, die nur aus Ziffern bestehen, werden mit dem Präfix 'z' geschrieben.
- Gruppenauswahl-Formel:
- Jetzt wird jeder Datensatz gefiltert, nicht nur ein Datensatz pro Gruppe.
- Wird jetzt auch ausgeführt, wenn es keine Gruppen im Bericht gibt.
- Sobald eine Konfiguration geändert oder eine neue eingestellt wird, aktualisiert i-net Crystal-Clear automatisch seine Einstellungen. Bisher wurden die Einstellungen nur aktualisiert, sobald versucht wurde, einen Bericht zu rendern.
- Formelfehler, die im Bericht angezeigt werden, werden jetzt mit der Zeichenfolge "Formelfehler:" eingeleitet, um Missverständnisse in Abhängigkeit von der Formelfehlermeldung zu vermeiden (seit Build 9.0.130).
- PDF-Export: EUDC-Zeichen werden mit Hilfe der EUDC-Schriftart gerendert, auch wenn die Schriftart des Absatzes oder des Feldes keine EUDC-Schriftart ist. Die EUDC-Schriftart muss den Namen 'EUDC.tte' tragen und sich im FontPath-Verzeichnis befinden. Die Schriftart des Absatzes oder des Feldes muss ebenfalls eine eingebettete Schriftart sein (Build 9.0.175).
- ArrayIndexOutOfBoundsException trat auf, wenn der Bericht auf einer gespeicherten Informix-Prozedur beruhte.
- Zeilen und Kästen, die sich über mehrere Abschnitte erstrecken und bei denen die Option "Erstreckt sich bis zum unteren Rand der Seite" aktiviert ist, wurden manchmal nicht korrekt angezeigt.
- Die Fehlermeldung "Die Seite "x" liegt außerhalb des Bereichs (y)" trat unter bestimmten Bedingungen auf.
- Das "Null-Verhalten" von Formeln wurde von Crystal Reports-Vorlagen nicht korrekt gelesen.
- Eine seltene NullPointerException konnte intern auftreten, wenn das Scheduler Servlet auf einem Tomcat 5.5 System geöffnet wurde.
- Eine NullPointerException trat auf, wenn ein Bericht fälschlicherweise mit zwei gleichnamigen Statistikfeldern gespeichert wurde.
- Es gab Probleme mit dem Zeilenumbruch, wenn Eingabeaufforderungen als Feldteile verwendet wurden und direkt mit Textteilen verbunden waren, ohne dass Leerzeichen dazwischen lagen.
- XLS-Export: Die Eigenschaft "firstgroupassheets" hat nicht korrekt funktioniert (es wurden keine neuen Blätter für die Gruppeninstanzen erstellt), wenn im Bericht mehrere Abschnitte unterdrückt wurden.
- In Unterberichten ohne Can-Grow gab es Überlappungen und der Rand des Unterberichts wurde überschrieben.
- Die Größe von Unterberichten wird nicht reduziert, wenn der gestaltete Platz größer ist als benötigt.
- Detailbereich mit aktiviertem "Underlay Following" rutschte hinter die Gruppenfußzeile.
- Auf Unix/Linux-Systemen konnte alle 30 Sekunden eine BackingStoreException ausgelöst werden, wenn für den Benutzer oder die Systemeinstellungen keine Schreibrechte verfügbar waren.
- Die Funktion ToText verwendete das Servergebietsschema anstelle des Clientgebietsschemas für die Erstellung einer Zeichenfolge für Datumsbereiche. Sie verwendet jetzt das Client-Gebietsschema.
- Der JRA/JAR-Export funktionierte nicht mit dem Report-URL-Parameter "init".
- Die Methode "Datasource.getDatabase()" konnte zu einem "Verbindungsleck" führen, d. h. Verbindungsobjekte wurden erstellt, aber nicht geschlossen. Dies konnte später zu Timeouts und anderen Problemen führen.
- Es war möglich, engine.getDatabaseTables() aufzurufen, bevor setReportFile aufgerufen wurde.
- Unter bestimmten Umständen wurden Parameterfelder, die nur in der Datensatzauswahlformel verwendet wurden, beim Ausführen des Berichts nicht vom Benutzer angefordert.
- NumberFormatException beim Lesen der Berichtsdatei trat bei Thread-Problemen auf (behoben in Build 9.0.113).
- IllegalArgumentException trat beim Öffnen der Berichtsdatei auf, nachdem der Typ des Parameterfeldes geändert wurde (behoben in Build 9.0.120).
- Aufgrund einer Ausnahme beim Lesen von Sproc-Parameterwerten für eine Stored Procedure (z.B. auf Informix) war der Wert für einige Stored-Procedure-Parameter null (behoben in Build 9.0.121).
- Kaskadierende Parameterfelder wurden aus Berichten, die seit Version 9.0 gespeichert wurden, falsch gelesen (behoben in Build 9.0.130).
- ReportBridge und PHP-Beispiel haben mit der aktuellen i-net Crystal-Clear-Version nicht korrekt funktioniert
- Die Formelfunktion "lookslike" erkennt den String "bcdbcde" nicht nach dem Muster "bcd *?" (behoben in Build 9.0.170).
- JavaVM stürzte auf einem Windows XP-Rechner ab, wenn Java 6 verwendet wurde und ein Dokument (z.B. PDF-Datei) geöffnet oder eine URL ="../../fixed-in-build-9.0.170" aufgerufen wurde.
- Unter bestimmten Umständen wurden Parameterfelder, die nur in SQL-Ausdruckfeldern verwendet wurden, beim Ausführen des Berichts nicht vom Benutzer abgefragt.
- ReportReaderNet hat korrupte rpt-Dateien mit diagonalen Linien, ungültigen xml etc. erstellt (behoben in Build 9.0.170).
- Ein Berichtsfehler trat auf, wenn eine Formel sehr lange Integer-Zahlen enthielt. Der Formel-Parser ist nun in der Lage, sehr lange Integer-Zahlen zu lesen (behoben in Build 9.0.175).
API-Änderungen
- Konstanten hinzugefügt
- com.inet.report.Engine
- EXPORT_BMP
- EXPORT_GIF
- EXPORT_JPG
- EXPORT_PNG
- com.inet.report.FormulaField
- TREAT_NULL_AS_NULL
- TREAT_NULL_BY_DEFAULT
- TREAT_NULL_BY_EXCEPTION
- com.inet.report.Engine
- Hinzugefügte Methoden
- com.inet.report.Cache
- getxxxAndWait(xxxx, "int timeout)"
- com.inet.report.Datasource
- setDataSourceConfiguration(DataSourceConfiguration)
- setDataSourceConfigurationName(String)
- com.inet.report.Engine
- setDataSourceConfigurationName(String)
- com.inet.report.Field
- duplicate(String)
- com.inet.report.FormulaField
- checkContext()
- checkFormula(String, boolean, Engine, Field, Object, int, int)
- duplicate(String)
- getNullBehavior()
- setNullBehavior(int)
- com.inet.report.Line
- setHyperlinkUrl="../../String"
- setHyperlinkUrlFormula(FormulaField)
- com.inet.report.PromptField
- duplicate(String)
- com.inet.report.ReportProperties
- isCCFormat()
- getXMLMajorVersion()
- getXMLMinorVersion()
- com.inet.report.SummaryInfo
- getThumbnail()
- setThumbnail(Image)
- com.inet.report.SQLField
- duplicate(String)
- com.inet.report.SummaryField
- duplicate(String)
- com.inet.report.TableSource
- getDatabaseField(int)
- com.inet.report.Cache
- Methoden und Konstanten, die ab Version 9 veraltet sind
- com.inet.report.Datasource
- setup(String)
- setup(DataSourceConfiguration)
- com.inet.report.RDC
- loadEngine(File, BufferedReader)
- loadEngine(File, BufferedReader, Properties)
- Engine loadEngine(File, BufferedReader, String)
- saveEngine(PrintWriter, Engine)
- com.inet.report.Datasource
- Entfernte veraltete Methoden und Konstanten
- com.inet.report.schedule.Scheduler
- getEmailPassword()
- setEmailPassword(String)
- getEmailPop3Host()
- setEmailPop3Host(String)
- getEmailSender()
- setEmailSender(String)
- getEmailSmtpHost()
- setEmailSmtpHost(String)
- getEmailUser()
- setEmailUser(String)
- com.inet.report.AbstractLineElement
- getExtentToBottomOfSectionWhenPrinting()
- com.inet.report.AbstractValueElement
- getDateFirstSeperator()
- setDateFirstSeperator(String)
- getDateFirstSeperatorFormula()
- setDateFirstSeperatorFormula(FormulaField)
- getDatePrefixSeperator()
- setDatePrefixSeperator(String)
- getDatePrefixSeperatorFormula()
- setDatePrefixSeperatorFormula(FormulaField)
- getDateSecondSeperator()
- setDateSecondSeperator(String)
- getDateSecondSeperatorFormula()
- setDateSecondSeperatorFormula(FormulaField)
- getDateSuffixSeperator()
- setDateSuffixSeperator(String)
- getDateSuffixSeperatorFormula()
- setDateSuffixSeperatorFormula(FormulaField)
- getDateTimeSeperator()
- setDateTimeSeperator(String)
- getDateTimeSeperatorFormula()
- setDateTimeSeperatorFormula(FormulaField)
- getDayOfWeekSeperator()
- setDayOfWeekSeperator(String)
- getDayOfWeekSeperatorFormula()
- setDayOfWeekSeperatorFormula(FormulaField)
- getDecimalSeperatorsSymbol()
- setDecimalSeperatorsSymbol(String)
- getDecimalSeperatorsSymbolFormula()
- setDecimalSeperatorsSymbolFormula(FormulaField)
- getHourMinuteSeperator()
- setHourMinuteSeperator(String)
- getHourMinuteSeperatorFormula()
- setHourMinuteSeperatorFormula(FormulaField)
- getMinuteSecondSeperator()
- setMinuteSecondSeperator(String)
- getMinuteSecondSeperatorFormula()
- setMinuteSecondSeperatorFormula(FormulaField)
- getThousandSeperatorsSymbol()
- setThousandSeperatorsSymbol(String)
- getThousandSeperatorsSymbolFormula()
- setThousandSeperatorsSymbolFormula(FormulaField)
- getUseThousandSeperators()
- setUseThousandSeperators(boolean)
- getUseThousandSeperatorsFormula()
- setUseThousandSeperatorsFormula(FormulaField)
- com.inet.report.BorderProperties
- getBottomLineStyleFormel()
- getTopLineStyleFormel()
- com.inet.report.Chart
- CUSTOM_NUMER_FORMAT
- getSort()
- setdataValuesMinMax(double, double)
- setSort(int)
- com.inet.report.ChartFormatProperties
- getDateFirstSeperator()
- setDateFirstSeperator(String)
- getDateFirstSeperatorFormula()
- setDateFirstSeperatorFormula(FormulaField)
- getDatePrefixSeperator()
- setDatePrefixSeperator(String)
- getDatePrefixSeperatorFormula()
- setDatePrefixSeperatorFormula(FormulaField)
- getDateSecondSeperator()
- setDateSecondSeperator(String)
- getDateSecondSeperatorFormula()
- setDateSecondSeperatorFormula(FormulaField)
- getDateSuffixSeperator()
- setDateSuffixSeperator(String)
- getDateSuffixSeperatorFormula()
- setDateSuffixSeperatorFormula(FormulaField)
- getDateTimeSeperator()
- setDateTimeSeperator(String)
- getDateTimeSeperatorFormula()
- setDateTimeSeperatorFormula(FormulaField)
- getDayOfWeekSeperator()
- setDayOfWeekSeperator(String)
- getDayOfWeekSeperatorFormula()
- setDayOfWeekSeperatorFormula(FormulaField)
- getDecimalSeperatorsSymbol()
- setDecimalSeperatorsSymbol(String)
- getDecimalSeperatorsSymbolFormula()
- setDecimalSeperatorsSymbolFormula(FormulaField)
- getHourMinuteSeperator()
- setHourMinuteSeperator(String)
- getHourMinuteSeperatorFormula()
- setHourMinuteSeperatorFormula(FormulaField)
- getMinuteSecondSeperator()
- setMinuteSecondSeperator(String)
- getMinuteSecondSeperatorFormula()
- setMinuteSecondSeperatorFormula(FormulaField)
- getThousandSeperatorsSymbol()
- setThousandSeperatorsSymbol(String)
- getThousandSeperatorsSymbolFormula()
- setThousandSeperatorsSymbolFormula(FormulaField)
- getUseThousandSeperators()
- setUseThousandSeperators(boolean)
- getUseThousandSeperatorsFormula()
- setUseThousandSeperatorsFormula(FormulaField)
- com.inet.report.CrossTab
- getColTotalOnLeft()
- com.inet.report.CrossTabCell
- setHeightByFieldElements()
- setWidthByFieldElement(int)
- com.inet.report.DatabaseTables
- addSproc(String, String[], int[])
- addSproc(String, String, String[], int[])
- addSqlSource(String)
- addSqlSource(String, String)
- getDistinct()
- getPassword()
- getUser()
- setCatalog(String)
- setColumnNames(String, String[])
- setColumnTypes(String, int[])
- setDistinct(boolean)
- setDll(String)
- setHost(String)
- setPassword(String)
- setSchema(String)
- setURL="../../String"
- setUser(String)
- com.inet.report.Element
- getBottomLineStyleFormel()
- getToolTipsTextFormel()
- getTopLineStyleFormel()
- getWebSiteAddressFormel()
- setWebSiteAddressFormula(FormulaField)
- com.inet.report.Engine
- getCatalog()
- getConnection()
- getDll()
- getHost()
- getPassword(int)
- getPasswords()
- getSchema()
- getURL="changes_9.0.html" data-contextid="changes-in-release-90" data-rawid="documentation:clear-reports:release-notes:en:releases:changes_9.0"
- getUser(int)
- getUsers()
- setDll(String)
- setHost(String)
- setPassword(String, int)
- setPasswords(Vector)
- setSql(String, boolean)
- setURL="../../String"
- setUser(String, int)
- setUsers(Vector)
- com.inet.report.Fields
- addDatabaseField(String)
- addSortField( field, String)
- com.inet.report.FormulaField
- checkFormula(String, boolean, Engine, Field, Object, boolean)
- com.inet.report.GeneralProperties
- getToolTipsTextFormel()
- com.inet.report.HyperlinkProperties
- getWebSiteAddressFormel()
- setWebSiteAddressFormula(FormulaField)
- com.inet.report.JavaBean
- getBeanProperty(String)
- com.inet.report.LineProperties
- getExtentToBottomOfSectionWhenPrinting()
- com.inet.report.SortField
- setSortDirectionFormula(String)
- com.inet.report.TableSource
- setColumnName(int idx, String)
- setColumnType(int, int)
- com.inet.report.ValueProperties
- getDateFirstSeperator()
- setDateFirstSeperator(String)
- getDateFirstSeperatorFormula()
- setDateFirstSeperatorFormula(FormulaField)
- getDatePrefixSeperator()
- setDatePrefixSeperator(String)
- getDatePrefixSeperatorFormula()
- setDatePrefixSeperatorFormula(FormulaField)
- getDateSecondSeperator()
- setDateSecondSeperator(String)
- getDateSecondSeperatorFormula()
- setDateSecondSeperatorFormula(FormulaField)
- getDateSuffixSeperator()
- setDateSuffixSeperator(String)
- getDateSuffixSeperatorFormula()
- setDateSuffixSeperatorFormula(FormulaField)
- getDateTimeSeperator()
- setDateTimeSeperator(String)
- getDateTimeSeperatorFormula()
- setDateTimeSeperatorFormula(FormulaField)
- getDayOfWeekSeperator()
- setDayOfWeekSeperator(String)
- getDayOfWeekSeperatorFormula()
- setDayOfWeekSeperatorFormula(FormulaField)
- getDecimalSeperatorsSymbol()
- setDecimalSeperatorsSymbol(String)
- getDecimalSeperatorsSymbolFormula()
- setDecimalSeperatorsSymbolFormula(FormulaField)
- getHourMinuteSeperator()
- setHourMinuteSeperator(String)
- getHourMinuteSeperatorFormula()
- setHourMinuteSeperatorFormula(FormulaField)
- getMinuteSecondSeperator()
- setMinuteSecondSeperator(String)
- getMinuteSecondSeperatorFormula()
- setMinuteSecondSeperatorFormula(FormulaField)
- getThousandSeperatorsSymbol()
- setThousandSeperatorsSymbol(String)
- getThousandSeperatorsSymbolFormula()
- setThousandSeperatorsSymbolFormula(FormulaField)
- getUseThousandSeperators()
- setUseThousandSeperators(boolean)
- getUseThousandSeperatorsFormula()
- setUseThousandSeperatorsFormula(FormulaField)
- com.inet.report.schedule.Scheduler
Externe Bibliotheken
- Swing-Layout (swing-layout.jar) Version 1.2 hinzugefügt.
- SwingWorker (swing-worker.jar) Version 1.0.3 hinzugefügt.
- Echo2 Version 2.1 hinzugefügt (für Fernkonfiguration).
- JFreeChart aktualisiert mit Version 1.0.12.
- JGauge Bean hinzugefügt.
- SVGSalamder Bean aktualisiert.
- Lucene Search Engine (lucene-core.jar) Version 2.4.1 hinzugefügt.
- Milton webdav API Version 1.4.2 hinzugefügt.
- Mimetype Dienstprogramme Version 2.1 hinzugefügt.
- slf4j Version 1.5.6 hinzugefügt.
i-net Crystal-Clear - Java Viewer
- Neue API-Methoden:
- com.inet.viewer.ReportView: setAutoRefresh(int)
Legt einen Auto-Refresh-Zyklus für eine Report-Ansicht fest, der bewirkt, dass diese in regelmäßigen Abständen aktualisiert wird, es sei denn, die Report-Ansicht wurde abgebrochen oder wird gerade ohnehin neu geladen. Außerdem wurde der neue URL-Parameter "autorefresh=xxxx" eingeführt - ermöglicht die Angabe des automatischen Aktualisierungszyklus (in Millisekunden) über einen URL-Parameter.
- com.inet.viewer.SwingReportViewer.setDefaultSetting
Ermöglicht es Ihnen, bestimmte Einstellungen für den Viewer festzulegen. Zum Beispiel können Sie die Standard-Seitenansicht als fortlaufend oder eine bestimmte Zoomstufe als Standard festlegen.
Die Schlüssel und Werte, die gesetzt werden können, sind in der Klasse com.inet.viewer.props.DefaultSetting enthalten.
- com.inet.viewer.SwingReportViewer.setCustomPromptEditor(String, int)
Ermöglicht es Ihnen, nicht nur den Namen des Prompts anzugeben, für den Sie einen CustomPromptEditor registrieren möchten, sondern auch den Wertetyp, den der Prompt haben muss, damit Ihr CustomPromptEditor verwendet werden kann.
- com.inet.viewer.ViewerContext.showUrl="../../String-Properties"
Es ist nun möglich, eine eigene "showURL"-Methode für den Viewer zu implementieren, die jedes Mal aufgerufen wird, wenn ein Benutzer auf einen Link in einem Bericht klickt (seit Build 9.0.130).
- Export-Dialog: Bild-Exportformate (JPG, PNG, BMP, GIF) hinzugefügt.
- Druck-Dialog: Es ist jetzt möglich, Seiten und Seitenbereiche anzugeben, die durch Kommas getrennt gedruckt werden sollen.
- Berichte, die mit einem eingebetteten Viewer (JRA/JAR) gespeichert werden, verwenden jetzt die System-L&F, um die gleiche L&F wie im Viewer-Applet zu verwenden. (Build 9.0.130).
- Die Leistung des Java Report Viewers wurde unter Mac OS X und Linux mit Java 5 verbessert.
- Im Dialogfeld der Viewer-Eingabeaufforderung zum Festlegen von Datumsbereichen war die Standard-Kalenderwoche die erste Woche des ursprünglich gewählten Bereichs. Dies wurde geändert, um standardmäßig die letzte abgeschlossene Kalenderwoche zu verwenden.
- Haarlinien in Berichten, die mit Crystal Reports erstellt wurden, wurden falsch interpretiert, auch doppelte Haarlinien wurden nur als eine Linie dargestellt.
- Beim Markieren von Text und Kopieren von Snapshots im Viewer gab es in Java 1.6 Performance-Probleme, die dadurch behoben wurden, dass keine XOR-Rechtecke mehr verwendet wurden, sondern transparente Bereiche.
- Auf einem Dual-Monitor-System wurde der Kalender im Eingabeaufforderungsdialog am Rand des linken Monitors angezeigt, wenn der Viewer auf dem rechten Monitor angezeigt wurde. Stattdessen wird er jetzt an der richtigen Stelle angezeigt.
- Bei der Verwendung von ASP mit dem Java Viewer sendete der Report-Viewer eine Anfrage, mit der ASP ein Problem hatte (in der Form http://host/?&report=...").
- Der Cursor zum Auswählen von Text im Viewer war leicht dezentriert (behoben in Build 9.0.130).
- Wenn eine Viewer-Registerkarte durch Klicken auf das "X" der Registerkarte mit der mittleren Maustaste geschlossen werden sollte, trat intern eine IndexOutOfBoundsException auf, die in das Protokoll geschrieben wurde (behoben in Build 9.0.130).
- BMP-, GIF-, JPG- und PNG-Export war nicht möglich, wenn der Java Report Viewer als Applet verwendet wurde (behoben in Build 9.0.130).
- Es wird unterstützt, die Sprache des Java-Viewers zu ändern, indem das Gebietsschema geändert wird.
- NEUE API: SwingReportViewer hat jetzt zwei neue Methoden: setPrinterDefaultFormatHandling und getPrinterDefaultFormatHandling. Wenn Sie das Standardhandling ändern, können Sie einen Bericht, der für das Format Letter entworfen wurde, aber auf einem A4-Drucker gedruckt wird (oder umgekehrt), standardmäßig auf das Papierformat des Druckers und nicht auf das im Bericht entworfene Papierformat einstellen. Siehe die API-Dokumentation für weitere Informationen.
- Russische Übersetzung der GUI hinzugefügt (in Version 8.2.305).
- Es ist möglich, mit dem Mausrad zwischen den Seiten zu blättern. Dieses Verhalten wurde optimiert, damit die Seiten nicht so empfindlich gewechselt werden.
- Excel-Export: Beim Excel-Export ist die Option "Druckausgabe an Seitenbreite anpassen" gesetzt. Wenn also die Breite des Blattinhalts nicht zur Seitenbreite passt, wird der Blattinhalt automatisch an die Seitenbreite angepasst.
- Parameterfelder, die direkt im Bericht platziert werden, verwenden jetzt die Funktion "ToText" für ihre String-Darstellung, was insbesondere die Darstellung von Datumsbereichsabfragen verbessert.
- Verschiedene Fehler bei der Suche mit regulären Ausdrücken im Java-Viewer sind aufgetreten.
- HTML-Fehler, die vom Server kommen, werden im Fehlerdialog des Viewers nicht mehr verstümmelt angezeigt, sondern als HTML-formatierte Fehlerbox.
- Wenn ein Eingabeaufforderungsfeld so eingestellt war, dass es nur Standardwerte akzeptiert, aber keine Standardwerte hatte, wurde es als nicht editierbares leeres Feld angezeigt. Jetzt akzeptiert es in diesem Fall eine Benutzereingabe.
- Bei der Einstellung von leeren Standardwerten und "nur Standardwerte" konnte es zu Problemen mit der Eingabeaufforderung kommen, z. B. zu einem leeren Eingabeaufforderungsfeld.
- Das Drücken von "More Info" in einer Fehlerbox aus dem Report-Viewer innerhalb des Designers hat keinen Effekt.
- Eine seltene IndexOutOfBoundsException trat im Viewer auf, wenn versucht wurde, einen Bericht abzurufen, für den der Client keine Leseberechtigung hatte.
- Links zu "file:"-Dateien in einem Bericht funktionierten im Viewer-Applet aufgrund von Java-Sicherheitsproblemen nicht. Dies wurde für Java 6 behoben.
- Querformatige Berichte wurden nicht korrekt gedruckt, wenn im Druckdialog des Java Report Viewers "2 Seiten pro Blatt" eingestellt war.
- In einigen Fällen war der Status des PrinterJobProgress nach dem Auftreten eines Fehlers falsch. Daher hat der PrinterJobProgress den Fehler nicht zurückgegeben.
- Eine NullPointerException im RichTextLayouter konnte in seltenen Fällen bei Elementen mit gemischten Text- und Feldteilen, die sich über mehrere Zeilen erstrecken, auftreten.
- Ein Speicherleck im Viewer trat auf, wenn einzelne Berichtsviewer geöffnet und geschlossen wurden.
- Der Dialog für die Eingabeaufforderung wurde nach dem Aktualisieren nicht angezeigt, wenn neue URLRenderData verwendet wurden, wenn "promptonrefresh=true" als URL-Eigenschaft angegeben wurde, anstatt über die API gesetzt zu werden.
- Die Position des Kalenderelements auf dem Bildschirm war auf Systemen mit zwei Monitoren manchmal falsch.
- NullPointerException trat auf, wenn die Export-Schaltfläche gedrückt wurde (der Export-Dialog erschien nicht) (behoben in 8.2.385).
- Das Attribut "Permissions" fehlte in der Manifestdatei von CC-Viewer.jar. Dies ist seit Java 7 Update 45 erforderlich.
API-Änderungen
- Klasse hinzugefügt
- com.inet.viewer.props.DefaultSetting
- Hinzugefügte Methoden
- com.inet.viewer.ReportView
- setAutoRefresh(int)
- com.inet.viewer.ReportViewer
- setCustomPromptEditor(String, int, CustomPromptEditor)
- com.inet.viewer.SwingReportViewer
- SwingReportViewer(ViewerContext)
- setCustomPromptEditor(String, int, CustomPromptEditor)
- getDefaultSetting(DefaultSetting.Key)
- setDefaultSetting(DefaultSetting.Key, DefaultSetting)
- com.inet.viewer.SwingViewerContext
- getViewer()
- setViewer(SwingReportViewer)
- com.inet.viewer.ViewerContext
- showUrl="../../String-Properties"
- com.inet.viewer.ReportView
- Methoden und Konstanten, die ab Version 9 veraltet sind
- com.inet.viewer.ReportViewer
- setCustomPromptEditor(String, CustomPromptEditor)
- com.inet.viewer.ReportViewer
- Methoden hinzugefügt
- SwingReportViewer.getPrinterDefaultFormatHandling()
- SwingReportViewer.setPrinterDefaultFormatHandling(int)
i-net DesignerXML
- Willkommensseite hinzugefügt.
- Schritt-für-Schritt-Tutorials hinzugefügt.
- Standardwerte für Schriftarten etc. unterstützt - Es ist nun möglich, Standardwerte für die Formatierungseigenschaften für neu erstellte Elemente in i-net DesignerXML festzulegen.
- Berichtsvorschau im Datei-Öffnen-Dialog hinzugefügt.
- Fortschrittsbalken hinzugefügt. - Der i-net DesignerXML zeigt nun einen Fortschrittsbalken an, wenn ein Prozess einige Zeit in Anspruch nimmt, z. B. beim Versuch einer Datenbankverbindung oder beim Laden eines großen Berichts. Dieser Prozess kann auch jederzeit abgebrochen werden. Dies behebt das alte Verhalten, bei dem der Designer blockiert wurde, bis die Prozesse beendet waren.
- Der Feldbrowser unterstützt jetzt das Duplizieren und Umbenennen von Formel-, Eingabeaufforderungs-, Sql-Ausdrucks- und Statistikfeldern.
- Es ist jetzt möglich, eine Summe in anderen Summen zu verwenden. Beachten Sie, dass die Summen in der richtigen Reihenfolge erstellt werden müssen.
- Beim Öffnen einer Eigenschaftsformel werden mögliche Konstanten, die für die Formel zurückgegeben werden können, als Kommentar im Formeldialog angezeigt.
- **Diagramm-Eigenschaften: ** - Es ist jetzt möglich, Sekunden im Kalender zu setzen.
- **Formel-Editor: ** - Die Markierung von fehlerhaften Teilen der Formel wurde verbessert.
- **Teilberichtsverknüpfungen: ** - Es ist jetzt möglich, die Breite des Baums im Dialogfeld "Verknüpfungen" zu ändern.
- **Parametereigenschaften: ** - Es gibt 3 neue Tastenkombinationen im Parameterfeld-Eigenschaften-Dialog des Designers: Strg+N erstellt eine neue Eingabeaufforderung, Alt+Up verschiebt eine Eingabeaufforderung innerhalb der Liste nach oben, Alt+Down verschiebt eine Eingabeaufforderung innerhalb der Liste nach unten.
- Der Designer verfügt nun über ein internes Backup-System, das Berichte beim Speichern überschreibt, um Datenverluste zu vermeiden, wenn das Speichern eines Berichts nicht korrekt abgeschlossen wird (Build 9.0.130).
- Dokumenteneigenschaften: - Eigenschaft "Report Locale" zu den Dokumenteigenschaften hinzugefügt (Build 9.0.170).
- Neuer Befehlszeilenparameter "-new" hinzugefügt, um den i-net DesignerXML mit einem neuen Bericht zu starten
- Unter Mac OS X wird für Menüpunkte und Funktionen nun die CMD-Taste anstelle der STRG- oder CTRL-Taste verwendet (Build 9.0.170).
- Startskript "startDesigner.command" für Mac OS X hinzugefügt (Build 9.0.170).
- Die Haarlinie wurde in der Entwurfsansicht nicht angezeigt.
- Das einfache Öffnen des Dialogs für die Datensatzauswahlformel führte zu einer unnötigen Kontaktaufnahme mit der Datenbank, was insbesondere bei langsamen Datenbankverbindungen eine Weile dauern konnte.
- Visueller Datenbank-Assistent:
- Eine ungültige Verbindung konnte dazu führen, dass der Designer nach einem Rechtsklick auf eine Tabelle für mehr als 20 Sekunden hängen blieb.
- Die Kontextmenübefehle "SQL bearbeiten" und "SQL anzeigen" wurden für SQL-Befehlstabellenquellen nicht angezeigt.
- Wenn eine manuelle SQL-Anweisung angegeben wurde, die mit einem Semikolon endete, trat ein Fehler auf, der jetzt behoben wurde: Unnötige Semikolons am Ende von manuellen SQL-Anweisungen werden jetzt ignoriert (behoben in Build 9.0.130).
- Parameter-Eigenschaften: Die OK-Schaltfläche war ausgegraut, wenn zwei Eingabeaufforderungen denselben Namen hatten, wurde aber nicht wieder aktiviert, nachdem die Namen wieder eindeutig gemacht wurden.
- In seltenen Fällen konnten in Berichten, die Zusammenfassungsfunktionen in Formeln verwenden, erforderliche Zusammenfassungsfelder aus dem Bericht entfernt werden, was zu Fehlern und leeren Feldern führte.
- Das Öffnen einer JRA-Datei im Designer konnte zu einer unbehandelten NullPointerException führen (behoben in Build 9.0.130).
- Gruppen-Dialog:
- Zweite Original-Sortierreihenfolge "Original Order Collect Values" jetzt verfügbar. Dies sammelt nur die gleichen Werte, die sich in der Nähe befinden, und beginnt eine neue Gruppe, wenn sich der Wert im Gruppenfeld ändert.
- BySummaryOrder akzeptiert jetzt auch Werte in Prozent.
- Fehlerleiste zur Statusleiste hinzugefügt. Die Fehlerleiste zeigt die letzten Fehler an, die bei der Vorschau des Berichts aufgetreten sind.
- Die Schriftarten, die sich im "Font Path" - Verzeichnis für eingebettete Schriftarten befinden, werden registriert. Somit werden diese Schriften zur Entwurfszeit zusätzlich zu den installierten Schriften angezeigt.
- Es war nicht möglich, den Hilfedialog zu öffnen, wenn er bereits geöffnet und minimiert war.
- Unter Linux führte das Ausführen von i-net DesignerXML mit eingeschränkten Rechten dazu, dass alle 30 Sekunden eine Warnung zu den Voreinstellungen in das Protokoll gedruckt wurde.
- Das Drücken von "More Info" in einer Fehlerbox aus dem Report-Viewer innerhalb des Designers hat keinen Effekt.
- In der deutschen Version des Designers waren im Formeleditor einige englische Bezeichnungen mit deutschen Bezeichnungen vermischt.
- ArrayIndexOutOfBoundsException trat auf, wenn ein geöffneter Unterbericht gelöscht wurde und dies anschließend rückgängig gemacht wurde.
- Ein Bericht mit einem Fehler in einer Formel konnte im Designer geladen werden, wobei die Formel ein grünes Kontrollkästchen hatte, obwohl sie Fehler enthielt.
- Verschiedene L&F-Fehler mit dem Nimbus L&F wurden behoben.
- Parameterfeld-Dialog:
- Es traten verschiedene GUI-Probleme auf.
- Es war möglich, unzulässige Standardwerte für Parameterfelder im Parameterfelddialog zu definieren, was zu Fehlern führte, wenn man versuchte, den Bericht auszuführen.
- Es gab einige Lokalisierungsprobleme bei der Eingabe von Grenzwerten im Dialogfeld für die Designer-Eingabeaufforderung.
- Beim Festlegen einer dynamischen Eingabeaufforderung mit einer manuellen SQL-Anweisung für einen Bericht mit mehr als einer Datenquelle wurde das Kombinationsfeld für die Auswahl der Datenquelle nicht angezeigt, so dass die Abfrage nur auf der ersten Datenquelle ausgeführt werden konnte.
- Dialogfeld Seitenlayout: Verschiedene GUI-Probleme traten auf.
- Eigenschaftsdialoge: Wenn alle Rahmentypen über eine Eigenschaftsformel festgelegt wurden, zeigte der Dialog immer noch an, dass der Rand für alle Kanten gleich war.
- Dialogfeld "Zahlenformat": Es war möglich, den Währungstyp für Nicht-Währungszahlen auszuwählen.
- Formel-Editor: Es wurde eine Fehlermeldung angezeigt, wenn die Konstante "AdvancedHtmlText" in einer Eigenschaftsformel verwendet wurde.
- Feldreferenz war falsch, wenn Feld innerhalb eines Arrays in einer Formel verwendet wurde.
- i-net DesignerXML Hilfe: Baum mit den Suchergebnissen enthielt doppelte Einträge.
- ArrayIndexOutOfBoundsException trat beim Öffnen eines Berichts auf.
- NullPointerException (bei com.inet.designer.o.componentResized) trat in zufälligen Situationen auf.
- Zusätzliche neue Zeilen und leere Textteile wurden zu einem Textobjekt hinzugefügt.
- Regression: Die Methode BasicDesignerDataModel.loadReport(Component) wurde aus der API entfernt.
- Die Position des Kalenderelements auf dem Bildschirm war manchmal auf Systemen mit zwei Monitoren falsch.
- Gruppen-Dialog: Report-Fehler "Falsche Gruppennummer" trat auf, wenn versucht wurde, Gruppen in Unterberichten zu entfernen.
- Der Designer wurde nicht mit JNLP gestartet (behoben in Version 8.2.422).
- Regression: Es war nicht möglich, den Dialog "Seitenlayout" für einen Unterbericht zu öffnen, um ein mehrspaltiges Layout oder ein Versandetikett zu konfigurieren (behoben in Version 8.2.469).
- Unter Windows 7 trat beim Start von i-net DesignerXML eine Fehlermeldung auf, wenn der Knoten "com\inet\designer\classes" in den Java-Voreinstellungen nicht vorhanden war (behoben in 8.2.807).
API-Änderungen
- Methoden hinzugefügt
- com.inet.designer.DesignerDataModel
- loadReportFrom(Komponente, Datei)
- com.inet.designer.DesignerDataModel
Externe Bibliotheken
- Schritt-für-Schritt-Tutorial (SBSTutorial.jar) Version 1.0 hinzugefügt.
Einrichtung
- Verbesserte Auswahl des Installationstyps und der Komponentenauswahl.
- ISAPI wurde durch ASP.NET ersetzt.
- Registrierung der Dateierweiterungen ".rpt" und ".jra" während des Setups möglich.
Behobene Fehler
i-net Crystal-Clear-Laufzeit
- Neue API-Methoden:
- FieldElement.setBaseURL="../../String". Es ist nun möglich, die "Base URL" für Feldelemente, die als HTML interpretiert werden, zu setzen. Dies bewirkt, dass alle relativen Links im Element die Basis-URL als Grundlage verwenden.
- ReportProperties.setReportLocale(java.util.Locale). Es ist jetzt möglich, ein anderes Gebietsschema als das des Servers festzulegen, das für die Formatierung von CDbl, ToText usw. verwendet wird.
- Neue Formelfunktionen:
- UnixTimeStampToDateTime: Konvertiert einen UNIX-Zeitstempel in ein Datum/Zeit-Objekt.
- ActualPageNumber: Gibt die tatsächliche, aktuelle Seitenzahl zurück.
- AuswahlLocale: Gibt das Standardgebietsschema des Servers zurück, das für die Erstellung des aktuellen Berichts verwendet wurde.
- Excel-Ausgabe: Die Option "Druckausgabe an Seitenbreite anpassen" ist für den Excel-Export gesetzt. Wenn also die Breite des Blattinhalts nicht mit der Seitenbreite übereinstimmt, wird der Blattinhalt automatisch an die Seitenbreite angepasst.
- Postscript-Export: Komprimierung von monochromen Blob-Bildern wird unterstützt.
- HTML-Export: Attribute 'scope' werden in Kreuztabellen-Spalten- und -Zeilenköpfe für 508 Compliance geschrieben.
- Eigenschaft "Clear On New Request" hinzugefügt. Wenn der Wert true ist, wird der gesamte Cache bei der nächsten Anfrage geleert.
- Diagramm:
- Kombinierte Diagramme (Diagramme mit zwei Achsen) werden unterstützt.
- Ein neues Flag wurde zu den Legendeneigenschaften hinzugefügt. Damit werden die Legendenbeschriftungen auf- oder absteigend sortiert, abhängig von der Sortierreihenfolge der zweiten Gruppe.
- Nachfolgende Leerzeichen in Char-Spalten werden abgeschnitten (in Version 8.2.385).
- Wenn die maximale Anzahl von Fehlern erreicht wurde, wird nun der letzte Fehler, der zum Abbruch des Berichts führte, angezeigt.
- Schnellerer String-Vergleich beim Rendering mit mehreren Threads.
- Wenn das Rendering gestoppt wurde (engine.stop), wird auch das Holen und Sortieren von Daten gestoppt.
- Datenbank-Metadaten-Cache: Die Verfügbarkeit von Werten wurde verbessert.
- Formel-Funktionen:
- Die Funktion TextFromFile unterstützt URL's mit anderen Protokollen als "file", z.B. "http".
- Wenn das Ergebnis einer logischen Operation durch den linken Operanden bestimmt wird, wird der rechte Operand nicht mehr ausgewertet. Beachten Sie, dass auch Operationen, die irgendwelche Daten verändern, in diesem Fall nicht ausgeführt werden!
- Die Funktion Farbe akzeptiert nun auch 4 Parameter, wobei der 4. der Alphawert der Farbe ist. Alternativ können Sie auch die Funktion RGBA verwenden.
- Der Formelfunktion toText wurden neue Parametertypen hinzugefügt, so dass sie die Standardformate des Systems verwenden können.
- Das Lesen sehr langer Formeln wurde beschleunigt (in Version 8.2.422).
- In einigen Fällen wurde die Konfiguration beim Starten von i-net Crystal-Clear unnötigerweise zweimal gelesen. Dies verlangsamte die Leistung des Starts und wurde behoben.
- Bei der Verwendung von Formeln für Zahlenformateigenschaften in Kreuztabellen, die das Schlüsselwort "currentfieldvalue" enthalten, trat eine Ausnahme auf.
- "Can Grow"-Felder mit abschließenden Leerzeichen wurden mit einem unerwünschten Zeilenumbruch angezeigt.
- Es war nicht möglich, die Beschriftung "Total" in Kreuztabellen mit Sprachressourcen zu übersetzen.
- Ein Verbindungsleck ist aufgetreten, wenn die Datenbankverbindung mit der Methode setConnection gesetzt wurde und Parameterfeldwerte vom Java-Viewer angefordert wurden.
- Formelfunktion MIRR: Das Ergebnis der Formelfunktion war falsch.
- ClassCastException trat auf, wenn die Eigenschaft "Log Database Data" (CCcore-Dateierstellung) aktiviert war.
- Wurde die Textinterpretation dynamisch gesetzt und während des Berichts geändert, konnte eine seltene "ClassCastException: com.inet.report.PageBreakInfo cannot be cast to com.inet.report.layout.ric.RichHtmlPageBreakInfo" auftreten.
- In seltenen Fällen wurden Zeilen und Boxen falsch dargestellt, wenn sie im Seitenkopf oder Seitenfuß eines Berichts enthalten sind und dieser als Unterbericht hinzugefügt wurde.
- In seltenen Fällen konnte es vorkommen, dass ein Bericht falsch gespeichert wurde, was dazu führte, dass der Bericht zwar geladen, aber nicht erneut gespeichert werden konnte.
- Abfragedateien wurden nicht gefunden, wenn sie mit UNC-Namen gesetzt wurden.
- Das Aufrunden hat bei kleinen Werten und allen Werten der Eigenschaft Rundung nicht korrekt funktioniert.
- Bei der SQL-Abfrage für dynamische Eingabeaufforderungs-Standardwerte ist es nicht mehr erforderlich, dass die Spalten Wert und Beschreibung die Spalten 1 und 2 sind. Stattdessen können Sie jetzt die Spalten "Wert" und "Beschreibung" benennen und ihre Reihenfolge kann dann wie gewünscht sein.
- Der Datenbank-Metadaten-Cache verwendet keine Datenbankverbindungen, die mit der Methode setConnection gesetzt wurden.
- Regression: Ein falscher Fehler wurde ausgelöst, nachdem die gleiche Engine zweimal ausgeführt wurde.
- PDF-Export: Die Darstellung von leeren Inhalten war falsch. Die Seite in der PDF-Datei war leer, wenn das gesamte Seitenelement leer war.
- RTF-Export: Windows-Metadatei zeigt korrekten Strich mit erweitertem Stift. Dieses GDI-Objekt wird nun anstelle des einfachen Stifts verwendet.
- Datensatz-Auswahl-Formel: Fix für in-Array-Operationen, die in der Datensatzauswahlformel verwendet werden. Die in-Array-Operation wird nun immer false zurückgeben, wenn das Array leer ist. Dies wirkt sich z. B. auf eine leere mehrwertige Eingabeaufforderung aus, die ebenfalls ein leeres Array zurückgibt.
- Diagramm:
- Falsche Beschriftung der Datenachse bei kontinuierlichen Datumsdiagrammen.
- Der Umriss des Doughnut 2D Diagramms wurde immer gezeichnet.
- Die Trennlinien von Ring 2D wurden nicht durch die Umrisse der Elemente definiert.
- Die Farbreihenfolge der Diagrammelemente war von der Legende abhängig.
- Die Liste der Legendenbeschriftungen der zweiten Gruppe wird nun nach der Sortierreihenfolge dieser Gruppe sortiert.
- SVG Bean (com.inet.report.beans.SVG): NullPointerException aufgetreten.
- Manchmal verschwand ein Abschnitt, wenn der Abschnitt Page Footer in Abhängigkeit von einer Formel unterdrückt wurde.
- RuntimeException: Field is null trat beim Öffnen eines mit Crystal Reports erstellten Berichts auf.
- Linienstile eines Feldes in einem Unterbericht wurden manchmal auch für ein Feld im Hauptbericht verwendet.
- Webserver reagiert nicht mehr, nachdem einige Fehler in der Formel für die Datensatzauswahl aufgetreten waren.
- TXT-Export: Chinesische Daten wurden manchmal verschoben, wenn die Daten das chinesische Zeichen "VIII" enthielten.
- ODBC-Treiber für Excel markieren alle Blätter als SYSTEM TABLE. Daher wurden im Visual Database Wizard keine Objekte angezeigt.
- Drill Down funktionierte wegen eines Kodierungsproblems nicht, wenn eine Skriptsprache wie ASP oder PHP verwendet wurde.
- TXT-Export: Chinesische Daten wurden manchmal verschoben.
- Falsches Ergebnis der DateDiff-Funktion mit einem DayOfWeek-Offset, wenn die Differenz ein Vielfaches von sieben Tagen war.
- IllegalArgumentException trat beim Öffnen der Berichtsdatei auf, nachdem der Typ des Parameterfeldes geändert wurde (behoben in Build 8.2.245).
- Aufgrund einer Ausnahme beim Lesen von Sproc-Parameterwerten für eine Stored Procedure (z.B. auf Informix) war der Wert für einige Stored-Procedure-Parameter null (behoben in Build 8.2.247).
- Nicht-ASCII-Zeichen in Parameterfeldnamen werden im Dialog HTML-Parameteranfrage nicht korrekt angezeigt. (in Version 8.2.305).
- Eine Endlosschleife trat auf, wenn Underlay Following Section für einen großen Abschnitt aktiviert war (behoben in Version 8.2.422).
- StackOverflowError trat auf, wenn verschachtelte if-then-else-Anweisungen in Formeln verwendet wurden (behoben in Version 8.2.436).
- Eine Endlosschleife konnte in seltenen Fällen auftreten, wenn der Metadaten-Cache aktiviert war. (behoben in Version 8.2.441).
- Sicherheitsproblem: Mit einer geänderten Berichts-URL war es möglich, Dateien aus dem i-net Crystal-Clear-Webkontext herunterzuladen, wenn die Datei crystal.war entpackt wurde (behoben in Version 8.2.445).
- Excel-Export:
- Cross-Tab in der .xls-Datei war unvollständig. Die erste Spalte wurde nicht exportiert (behoben in Version 8.2.445).
- Die Position des '%'-Symbols wurde nicht für die Log-Ebene abzüglich der WARNING gesetzt (behoben in Version 8.2.519).
- Datenexport:
- Es ist vorgekommen, dass Spalten der exportierten csv-Datei Datensätze von mehreren Datenbankfeldern oder speziellen Feldern, z.B. Seitennummer, enthalten (behoben in Version 8.2.540).
- Die Eigenschaft "OnError_ExecuteSQL_WithoutSF" wurde ignoriert, wenn ein Fehler bei der Ausführung der Order By und Where Klausel auftrat (behoben in Version 8.2.540).
- Endlosschleife trat aufgrund von java.util.WeakHashMap auf, einem nicht Thread-sicheren Objekt.
- Sicherheitskorrektur zur Verhinderung von Cross-Site Scripting (XSS) (behoben in Version 8.2.959).
API-Änderungen
- Hinzugefügte Methoden
- FieldElement.getBaseUrl="changes_8.2.html" data-contextid="changes-in-release-82" data-rawid="documentation:clear-reports:release-notes:de:releases:changes_8.2"
- FieldElement.setBaseURL="../../String"
- FieldElement.getBaseUrlFormula()
- FieldElement.setBaseUrlFormula(FormulaField)
- ReportProperties.setReportLocale(java.util.Locale)
- ReportProperties.getReportLocale()
i-net Scheduler
- Es ist nun möglich, die Web-Schnittstelle des Schedulers zu aktivieren/deaktivieren, ohne den Scheduler neu zu starten.
- Die Fehlerbehandlung wurde verbessert.
- Das Hinzufügen einer "Cache-Aktion" bei Verwendung des Speicher-Caches deaktivierte das Kombinationsfeld. Daher war es notwendig, die Seite "Aktion hinzufügen" zu verlassen, um eine weitere Aktion hinzuzufügen. Jetzt kann dies in einem Schritt erfolgen, ohne zurück zu gehen.
- Temporäre Dateien für E-Mail-Aktionen wurden manchmal nicht gelöscht. Außerdem wurden diese temporären Dateien im Temp-Verzeichnis statt im aktuellen Arbeitsverzeichnis des Schedulers angelegt.
- Datei-Aktionen funktionieren nicht aufgrund einer Ausnahme im Berichts-Cache (behoben in 8.2.464).
