Wir freuen uns, Ihnen ein lang erwartetes Update präsentieren zu können, bei dem besonderes Augenmerk auf die Benutzerfreundlichkeit und die Qualität des Programmcodes gelegt wurde. In dieser Version haben wir versucht, auf die Wünsche unserer Benutzer einzugehen. Mit der Version 2023.3 haben wir Folgendes hinzugefügt: ein neues Objekt - RFID-Tag, Unterstützung der Bilder im WebP-Format, asynchrone Berichtsanzeige, Symbolleiste im Kontextmenü und vieles mehr. Die Änderungen sind für die folgenden Produkte verfügbar:
- FastReport .NET,
- FastReport WPF,
- FastReport Mono,
- FastReport Desktop,
- FastCube .NET.
Die neue Version verfügt über ein neues Objekt – ein RFID-Tag. Es ermöglicht die Identifizierung von Waren und ist einem Barcode sehr ähnlich, verwendet aber im Gegensatz zu diesem Funksignale. Dadurch können Sie eine große Anzahl von Waren in kurzer Zeit scannen.
Der Tag enthält 4 Datenbanken: eine reservierte Speicherbank für Zugriffs- und Löschpasswörter, eine Speicherbank für einen elektronischen Produktcode, eine Speicherbank für die Tag-ID und eine Benutzerdatenbank. In der FastReport .NET Produktlinie wird ein Tag als Berichtsobjekt dargestellt. Der Tag kann mit einem praktischen Editor angepasst werden, der durch einen Doppelklick mit der Maus aufgerufen wird.
RFID-Tags können von einigen Zebra-Druckern erstellt werden. Daher wurde zusätzlich zum Tag-Objekt selbst auch deren Export nach ZPL implementiert. Für einen korrekten Export muss der RFID-Tag in einer einzigen Kopie auf der Seite vorhanden sein.
Es wurde ein Plugin hinzugefügt, der Bilder im WebP-Format unterstützt. Jetzt können Sie solche Bilder sowohl mit dem Editor im Berichtsdesigner als auch aus dem Code in ein PictureObject laden. In FastReport.Skia werden WebP-Bilder auch ohne Plugin unterstützt, aber sie werden beim Hochladen in das PNG-Format konvertiert.
Mehr über das Format und die Verwendungsanleitung für Plugin finden Sie im Artikel.
Wenn Sie den Designer in Ihrer Anwendung verwenden, ist es jetzt möglich, die Berichtsvorschau im Designer-Fenster zu starten. Zuvor wurde die Vorschau immer in einem separaten Fenster gestartet. Dazu müssen Sie die folgende Zeile in den Code einfügen:
Config.DesignerSettings.EmbeddedPreview = true;
Es wird wie folgt aussehen:
In manchen Fällen kann dieser Modus praktischer sein.
Darüber hinaus wurden Methoden zur asynchronen Berichtserstellung und –anzeige eingeführt: Report.PrepareAsync() und Report.ShowAsync(). Sie können bei der Erstellung umfangreicher Berichte verwendet werden. In diesem Fall können Sie mit dem Vorschaufenster während der Berichtserstellung arbeiten. Und der Benutzer wird nicht den Eindruck haben, dass die Anwendung hängt und nicht reagiert.
Das Kontextmenü wurde beim Rechtsklick auf ein Objekt verbessert. Oben wurde eine Symbolleiste eingeblendet, in der sich häufig verwendete Funktionen wie Bearbeiten, Ausschneiden, Kopieren, Einfügen usw. befinden.
Das Kontextmenü sah früher wie folgt aus:
Das neue Menü ist kompakter und ergonomischer:
Es wurde die Möglichkeit hinzugefügt, vorbereitete und exportierte Berichte in den Simple Storage Service (kurz S3) hochzuladen. Der neue Export befindet sich auf der Registerkarte "Speicher" im Menü zum Speichern eines vorbereiteten Berichts.
Beim ersten Export müssen Sie Ihre Anmeldedaten in das Autorisierungsfenster eingeben.
Die notwendigen Schlüssel können in Ihren S3-Kontoeinstellungen abgerufen werden. Weitere Details finden Sie in der Servicedokumentation.
Nach erfolgreicher Autorisierung erscheint das Exportfenster.
Hier können Sie den zu speichernden Bucket, Typ und Dateinamen auswählen. Wenn Sie einen anderen Dateityp als "Fertiger Bericht" auswählen, Wenn Sie einen anderen Dateityp als "Fertiger Bericht" auswählen, sind die Einstellungen für den entsprechenden Export verfügbar.
Die Font Eigenschaft ist jetzt für Barcode-Objekte verfügbar. Mit dieser Eigenschaft können Sie die Schriftartparameter festlegen, die bei der Anzeige von Barcode-Texten verwendet werden. Die Standardschriftart ist Arial, die gleiche Schriftart, die in früheren Versionen verwendet wurde. Jetzt können Sie eine andere Schriftart auswählen, ihre Größe, Form usw. ändern. Dadurch können Sie beispielsweise folgende Barcodes erstellen:
Allerdings sollten Sie bei den Schriftarteinstellungen vorsichtig sein. Es kann sein, dass nicht alle Scanner solche Barcodes korrekt lesen können.
Excel 2007 verfügt über mehrere Datenformate, von denen zwei sehr ähnlich sind: allgemeines Format und Textformat.
Standardmäßig wird das allgemeine Format verwendet. In den meisten Fällen werden die Zahlen in diesem Format so angezeigt, wie sie eingegeben werden. Wenn die Zellenbreite jedoch nicht ausreicht, um die ganze Zahl anzuzeigen, wird sie gerundet.
Das Textformat zeigt die Daten immer so an, wie sie eingegeben werden.
FastReport .NET verfügt auch über mehrere Formate, zum Beispiel: allgemeines, Zahlenformat, Datum und viele andere. Beim Exportieren wird das entsprechende Format für die Daten ausgewählt, das Zahlenformat wird in ein Zahlenformat konvertiert, das Datum bleibt ein Datum.
In FastReport .NET wird das allgemeine Format auch standardmäßig verwendet. Es zeigt die Daten so an, wie sie eingegeben wurden. Das allgemeine Format ist eigentlich ein System.String. Im Gegenzug gibt es kein separates Textformat in FastReport.NET.
Der Excel 2007-Export verfügt über eine neue Option, mit der Sie das allgemeine FastReport .NET-Format in das Excel-Textformat konvertieren können (standardmäßig wird das allgemeine Format als allgemein exportiert).
Berichte, die in früheren Versionen von FastReport .NET erstellt wurden, werden in der neuen Version auf die gleiche Weise exportiert, da diese Option standardmäßig deaktiviert ist.
In FastReport.Core, FastReport.Core.Skia und FastReport.CoreWin wurde die Möglichkeit hinzugefügt, die teilweise Kompilierung eines Berichts zu aktivieren, um die Berichtserstellung zu beschleunigen, wenn das Berichtsskript nicht geändert wurde und es keine Objekte gibt, die eine teilweise Kompilierung nicht unterstützen. Sie können diese Funktion mit dem folgenden Befehl aktivieren:
FastReport.Utils.Config.CompilerSettings.ReflectionEmitCompiler = true;
Die Aktivierung des Reflection.Emit-Compilers führt zu keinerlei Leistungseinbußen. Falls der neue Compiler nicht in einem neuen Bericht verwendet werden kann, wird einfach das Standardverfahren verwendet, ohne den Bericht zu beeinträchtigen.
Bisher konnten Berichte, die mit unserer FastReport.Blazor.Wasm Bibliothek in einem Browser geöffnet werden, nur angezeigt werden. Mit diesem Update wurde die Unterstützung für Exporte hinzugefügt. Jetzt können Benutzer die resultierenden Berichte in verschiedene Formate exportieren, genau wie bei einem normalen WebReport.
Dank der Reflection.Emit-Kompilierung wurde außerdem das Hochladen und Erstellen von Berichten ohne Skript in WebAssembly beschleunigt.
Sie können nun Ihre eigenen Elemente wie Schaltflächen, Dropdown-Listen und Eingabefelder erstellen und zur Symbolleiste hinzufügen. Diese Elemente können verschiedene Parameter haben, darunter Bild, Titel und Stile. Sie können auch die Logik mit JavaScript und C# implementieren.
Beispiel für das Hinzufügen benutzerdefinierter Elemente zur Symbolleiste:
var button = new ToolbarButton() { Title = "MyCustomButton", OnClickAction = new ElementClickAction() { OnClickAction = async (webreport) => { webreport.LocalizationFile = "MyLocalizationFile"; } }, }; var select = new ToolbarSelect() { Title = "MyCustomSelect", Items = new List<ToolbarSelectItem> { new ToolbarSelectItem() { Title = "MySelectItem", OnClickAction = new ElementScript() { Script = "console.log('My item is working')" } } } }; var input = new ToolbarInput() { InputType = "number", OnChangeAction = new ElementChangeAction() { OnChangeAction = async (webreport, inputValue) => { webreport.Report.Prepare(); webReport.Toolbar.Height = int.Parse(inputValue); } } }; webReport.Toolbar.InsertToolbarElement(button); webReport.Toolbar.InsertToolbarElement(select); webReport.Toolbar.InsertToolbarElement(input);
Nachdem Sie Änderungen vorgenommen haben, werden diese angepassten Elemente in Ihrer Symbolleiste angezeigt:
[Engine]
+ Das neue RFIDLabel Objekt wurde hinzugefügt;
+ Die automatische GS1-Formatierung wurde für GS1-128-Barcode hinzugefügt;
+ Das Laden von Tabellen in Zellen anderer Tabellen beim Konvertieren von RDL-Vorlagen wurde hinzugefügt;
+ Die Config.CompilerSettings.ReflectionEmitCompiler Eigenschaft wurde hinzugefügt, die beim Aktivieren die Berichtserstellung beschleunigt, wenn das Skript nicht geändert wurde (funktioniert nur in .NET Core/.NET);
+ Es wurde die Möglichkeit hinzugefügt, Barcode-Schriftarteinstellungen mit der neuen Font-Eigenschaft zu konfigurieren";
* Die Arbeit mit privaten Schriftensammlungen wurde verbessert;
* Demoversion – das 5-Seiten-Limit wurde aufgehoben; Text wird zufällig durch "Demo version" ersetzt;
- eine endlose Schleife wurde bei der Auswertung eines Parameterausdrucks korrigiert, der diesem Parameter entspricht;
- Das Problem wurde beim Lesen von DataMatrix-Barcodes durch einen mobilen Scanner behoben;
- Der Bug wurde behoben, der dazu führte, dass bei manuellen Umsetzungen durchgestrichene Zeilen nicht korrekt angezeigt wurden;
- Die Berechnung der Verschiebung von umwandelnden RichObjects-Objekten wurde korrigiert;
- Die Konvertierung von leerem Variant in andere Typen wurde korrigiert;
- Das Löschen einer Spalte wurde behoben, wonach die Spaltendaten im Bericht verblieben;
- Die VisibleExpression-Eigenschaft für Zeilen und Spalten von Matrix und Tabelle wurde korrigiert;
- Das Löschen nicht mehr vorhandener Schriftarten aus dem Font_hash-Wörterbuch wurde korrigiert;
- Der Fehler mit unsortierten Tabulatorpositionen in RichObject wurde behoben;
- Der Fehler beim Parsen der GSUB-Tabelle wurde behoben, der zu einer Ausnahme führte;
- Der Verlust der Flussposition wurde beim PDF-Export mit der Option „Text in Kurven“ behoben, was zu einer System.StackOverflowException führte;
- Der Fehler wurde beim Laden von Objekträndern beim Konvertieren von RDL-Vorlagen behoben;
- Das Löschen von ersten drei Zeichen im GS1-128 Barcode wurden korrigiert;
- Die Code93 Extended Barcode-Kodierungstabelle wurde korrigiert;
- Die Textkodierung im DataMatrix Barcode wurde korrigiert;
- Der Fehler im Textrendering wurde bei der Übertragung von Wörtern aufgrund von fehlendem Leerraum behoben;
- Die RightToLeft-Textkonvertierung wurde bei aktivierter ConvertRichText Option korrigiert;
- Der Zeilenumbruch im HtmlTextRenderer wurde korrigiert;
- Der Fehler wurde behoben, bei dem die Seitenspalten über den Bandspalten gedruckt wurden;
- Weiße Hervorhebung von Leerzeilen zwischen Textabsätzen und einigen Absätzen wurde in RichObject beim Füllen korrigiert;
- Die Hervorhebung von Textteilen mit weißer Farbe wurde in RichObject mit ConvertRichText = true korrigiert;
- ConnectionString wird nicht mehr ignoriert, wenn die ConnectionStringExpression den null-Wert zurücksetzt;
- Einzüge von umwandelnden Textobjekten aus RichObject wurden korrigiert;
- Die Positionierung von Objekten wurde beim RichObject Umwandeln korrigiert;
- Der Import von Tabellen aus JasperReports wurde korrigiert;
- Die System.NullReferenceException wurde beim TableObject Löschen korrigiert;
- Die horizontale Ausrichtung des Bildes wurde in RichObject korrigiert, wenn ConvertRichText = true;
- Die System.NotImplementedException wurde korrigiert, wenn der TextObject-Tabstop negativ ist;
- Die Konvertierung von Nullen wurde korrigiert, wenn ein Ausdruck eine Funktion enthält;
- Die System.ArgumentException wurde korrigiert, wenn der JSON-Datenquellen-Host ein leeres CharacterSet hat;
- Die TableObject Positionierung wurde beim RichObject Umwandeln korrigiert;
[Designer]
+ Es wurde die Möglichkeit hinzugefügt, Spaltennamen aus der ersten Zeile der Excel-Verbindung zu übernehmen;
+ Kategorien für "Barcode"-Objekte wurden hinzugefügt;
+ Die Config.DesignerSettings.EmbeddedPreview Eigenschaft wurde hinzugefügt, um die Vorschau von Berichten im Designer-Fenster zu ermöglichen;
+ Im „Objekten“-Bereich wurde die Kategorie "Andere" für Dialogsteuerelemente hinzugefügt;
+ Es wurde die Möglichkeit hinzugefügt, das umwandelnde Objekt im Online Designer anzuzeigen;
+ Die Seite zur Auswahl der Prozedur wurde im Formular des Datenverbindungsassistenten hinzugefügt;
+ Die Symbolleiste wurde zum Kontextmenü hinzugefügt;
+ Es wurde die Möglichkeit hinzugefügt, Ausdrücke im Feld "Zahlungsbetrag" im SberbankQr-Editor zu verwenden;
+ Das Parsen von Parametern aus SQL-Abfragen wurde hinzugefügt;
+ Die Warnmeldung wurde hinzugefügt, wenn die Parameternamen der Abfrage übereinstimmen;
+ Die Überprüfung auf die Existenz einer Datei wurde hinzugefügt, wenn diese in einer CSV-Verbindung über die CsvFile Eigenschaft geändert wird;
* Änderungen wurden an der Schnittstelle des Abfrage-Generators vorgenommen;
* Der Datenverbindungsassistent wurde aktualisiert. Die Schnittstelle wurde verbessert, Fehler wurden behoben und die Geschwindigkeit wurde erhöht;
* Der Rendering des Tooltips wurde mit Koordinaten/Maßen im Designer geändert;
- Das Problem wurde beim Herstellen einer Verbindung zu CSV über URL behoben;
- Der Fehler wurde beim „Speichern unter...“ einer aus der Cloud geöffneten Datei behoben;
- Das "Map" Objekt wurde in NET 6.0 korrigiert (leere Beschriftungen der Polygone);
- Der Fehler wurde beim Lesen von Werten aus der Designer-Konfigurationsdatei behoben;
- Der Bug wurde behoben, bei dem nach einem doppelten Rechtsklick auf die "Code" Registerkarte eine neue Berichtsseite erstellt wurde;
- Der Fehler wurde nach dem Schließen des Vorschaufensters mit leeren Werten für Zahlparameter behoben;
- Der Bug wurde behoben, bei dem der Designer während des Autorisierungsprozesses hängen blieb;
- In Gauge-Objekt-Editoren wurden Fehler behoben;
- Die System.NullReferenceException wurde beim Zusammenführen von Wörterbüchern korrigiert, die Verbindungen mit Parametern enthalten;
- Die RichObject-Text-Hervorhebung mit Farbe wurde bei Verwendung der Eigenschaft ConvertRichText = true korrigiert;
- Der Fehler wurde in der Format-Reihenfolge bei mehreren Ausdrücken in einem Textobjekt behoben;
- Der Skalierungsfehler wurde im Einstellungsfenster des Designers auf der "Plugins" Registerkarte behoben;
- Die fehlerhafte Skalierung des Datenquellenauswahlformulars wurde in Visual Studio behoben;
- Die unvollständige Anzeige von Seiten mit unendlicher Breite wurde in der Vorschau beim Hinzufügen von Seiten behoben;
- Der Bug wurde beim Laden eines Berichts mit einem Passwort behoben;
- Probleme mit der Skalierung einiger Controller wurden behoben;
- Der Fehler wurde behoben, der auftrat, wenn beim Bearbeiten einer Verbindung Felder von nicht ausgewählten Tabellen ausgewählt wurden;
- Der Fehler wurde behoben, der auftrat, wenn beim Bearbeiten einer Verbindung alle Tabellen ausgewählt wurden, obwohl tatsächlich nur einige davon ausgewählt wurden;
- Die System.IO.FileFormatException wurde korrigiert, wenn ein falscher XML-Bericht auf der FRX-Seite verwendet wurde;
- Die fehlerhafte Funktion der Schrifteinstellungen wurde in MSChartObject behoben, wenn die Skalierung größer als 100% ist;
- Der Fehler wurde beim Herstellen einer Verbindung zu CSV-Datenbank über URI behoben;
- Der Fehler wurde beim Ausführen eines Berichts mit MSChartObject und SparklineObject auf einem DataBand mit aktivierter CanBreak-Eigenschaft behoben;
- Es wurden Probleme mit der SVG-Anzeige im Designer behoben;
- Probleme mit der Schriftgröße wurden im Berichtbaum-Fenster behoben;
- Das Verhalten des "Über Software"-Fensters wurde bei Änderung der Skalierung korrigiert;
- Das Ignorieren der MSChartObject Zeichnung wurde bei fehlendem Titel behoben;
[Preview]
- Die horizontale Ausrichtung des Textobjekts wurde korrigiert, wenn AutoWidth = true;
- Es wurden Probleme mit der SVG-Anzeige in der Vorschau korrigiert;
[Exports]
+ Das Exportieren in S3 wurde hinzugefügt;
+ Der Export von Seitenrändern wurde beim Image -Export hinzugefügt;
+ Die Option "Seitenumbrüche verwenden" wurde im HTML-Exportformular hinzugefügt;
+ Es wurde eine Option hinzugefügt, um das Hinzufügen von Lesezeichen zu jeder Seite beim Exportieren nach Word 2007 zu aktivieren oder zu deaktivieren;
+ Es wurde die Erstellung eines neuen Blatts hinzugefügt, wenn sich die Anzahl der Zeilen der in Excel 2007 maximal zulässigen Anzahl von Zeilen auf einem einzelnen Blatt nähert;
+ Die Option „Allgemeines Format in Textformat konvertieren“ wurde beim Exportieren nach Excel 2007 hinzugefügt;
+ Schriftnamen wurden erweitert;
+ Das Subsystem zur Schriftartenverpackung wurde für den PDF-Export verbessert;
* Der PDF-Exportvorgang wurde beschleunigt;
* Der PDF-Export von interaktiven Formularen wurde optimiert;
- Es wurde ein Fehler behoben, der dazu führte, dass LineHeight beim Exportieren mit Skia nicht berücksichtigt wurde;
- Der PDF-Export in mehreren Threads und private Schriftartensammlungen wurden korrigiert;
- Das Hochladen von Schriftarten mit traditionellen chinesischen Zeichen wurde korrigiert;
- Der Kerning von Schriften mit Schreibrichtung von rechts nach links wurde beim PDF-Export korrigiert;
- Der Fehler wurde behoben, bei dem Schriftarten kleiner als 10 bei aktivierter ConvertRichText-Eigenschaft beim RTF-Export nicht korrekt angezeigt wurden;
- Kerning-Fehler wurden beim PDF-Export behoben;
- Der Fehler wurde beim PDF-Export im Modus "Text in Kurven" bei hoher Bildschirmauflösung behoben;
- Der Fehler wurde behoben, der auftrat, wenn für einige Objekte im PDF-Export ein dunkler Rahmen gezeichnet wurde;
- Der Export von Schriftfamilien, die in FastReport.Utils.FRPrivateFontCollection registriert sind, wurde korrigiert;
- Die Anzeige der HTML-Tags <strike>, <sub> und <sup> wurde beim RTF-Export korrigiert;
- Der Bag wurde behoben, bei dem der Export eines Berichts mit Bildern unter Skia mit einem Fehler endete;
- Der RTF- und DOCX-Export von Objekten der Fußzeile wurde korrigiert;
- Nach dem Export in Excel 2007 verschwinden Einzelbyte-Leerzeichen nicht mehr;
- Das Hinzufügen unnötiger Textumbrüche beim Exportieren in CSV wurde korrigiert;
- Der Fehler wurde beim Hinzufügen zusätzlicher Trennzeichen beim Exportieren in CSV behoben;
- Der Fehler wurde behoben, der Schriften beim PDF-Export in mehreren Threads beschädigt hat;
- Der Fehler wurde behoben, der dazu führte, dass Trennungsstriche beim Exportieren in HTML nicht verarbeitet wurden;
- Die fehlerhafte Funktion von Hyperlinks wurde in RichObject beim PDF-Export behoben;
- Der Multiplikator der Zeilenhöhe wurde beim RTF-Export korrigiert;
- Die doppelte Speicherung von Berichten wurde in Google Drive behoben;
- Der API-Aufruf wurde korrigiert, um Berichte in OneDrive zu speichern;
- Probleme mit der SVG-Anzeige wurden beim PDF-Export behoben;
- Fehler im Exportbaum wurden behoben;
- Der Export von Texten mit HTML-Tags nach Word 2007 wurde korrigiert;
[WebReport]
+ Der Schatten für Bericht wurde im WebReport hinzugefügt;
+ Die Unterstützung des Berichtexports in Wasm wurde hinzugefügt;
* Das Verhalten der Symbolleiste wurde für einseitige Berichte geändert;
* Das Verhalten beim Drucken eines Berichts über einen Browser in WebReport wurde geändert. Nun schließt sich die Druckseite automatisch. Jetzt wird die Druckseite automatisch geschlossen;
- Der Fehler wurde behoben, der dazu führte, dass das Klick-Ereignis in WebReport nicht funktionierte;
- Fehlerhafter Export nach Word 2007 wurde in Webberichten korrigiert;
- Der Fehler wurde behoben, bei dem einige Berichtsobjekte (z. B. RichObject) möglicherweise nicht im Web Designer angezeigt wurden;
- Der Fehler wurde behoben, bei dem ein einseitiger Bericht nicht exportiert wurde, wenn die Einstellungen verwendet wurden;
- Der Fehler wurde behoben, der dazu führte, dass der Bericht nicht aktualisiert wurde, wenn ein Parameter geändert wurde;
[.NET Core]
- Beim Aktivieren der InvariantGlobalization-Option wurde der Fehler behoben;
[Demos]
* Das Skript in der Vorlage "Gruppe nach Summe sortieren" wurde geändert, um die korrekte Arbei des Berichts und die Anzeige der Summen zu gewährleisten, wenn die Eigenschaften "Kann wachsen" und "Kann kompiliert werden" des "Gruppenfußzeile" Bandes verwendet werden;
[Extras]
+ Der Export von Seitenrändern wurde beim Exportieren mit PDFSimpleExport hinzugefügt;
+ Es wurde die Möglichkeit hinzugefügt, mithilfe des MySqlConnection-Plugins eine Verbindung zu MariaDB herzustellen;
+ Das .db-Format wurde zum Dateifilter für SQLite-Verbindung hinzugefügt;
+ Der Plugin mit Unterstützung der Bilder im WebP-Format wurde hinzugefügt;
* Der RPTImportPlugin wurde auf .NET Framework 4.7.2 aktualisiert;
- Der Fehler wurde behoben, der beim Herstellen einer Verbindung zu ClickHouse und MongoDB eine System.IO.FileLoadException verursachte;
- Das Formular zur Auswahl der Datenquelle, das nicht im Vordergrund geöffnet wurde, wurde korrigiert.