The new service pack for List & Label 27 brings many enhancements and improvements especially for the new Web Report Designer as well as for Delphi and .NET developers. In addition, the new drag & drop interface for charts now also supports the selection of an aggregate function. The report template preview in the Report Server uses the new Web Report Viewer, styled according to the applied Report Server customization. Read our blog post for more highlights. The individual entries have been taken directly from the English readme.
Report Wizard now supports additional file-based providers, the following formats can be used: json, csv, xls, xlsx, txt and xml.
DOM bar chart, Z-axes can now be edited / added.
Alaska Xbase++ dsListLabel, support of SQLExpress, an add-on library for native ODBC integration.
VCL FireDAC now supports the following new classes, TLlDesignerObject27, TLDesignerFunction27, TlDesignerAction27 and TLlExprEvaluator.
The drag & drop interface for charts now also supports the selection of an aggregate function on drop.
PDF: Using ZUGFeRD with profile XRECHNUNG the XMP meta information of the resultig PDF document uses now the original version informationen from the given XML file for the XML meta information “fx:version” instead of the given ZUGFeRD version.
Lots of enhancements and improvements for the Web Report Designer: moving objects in the object tree, enhanced sub table generation, enhanced D&D interface. Stay tuned on all new features via our blog.
Enable CORS for REST API by adding key “EnableCORS” to “true” in privateSettings.config.
A JSON schema can now optionally be applied to a JSON or REST data source.
The report template preview now uses the new Web Report Viewer which is styled according to the applied Report Server customization.
If errors are detected in the database structure when opening a project, LoadError DatabaseStructure events are now triggered.
Dialogs, the designer window and the preview window do now save/restore the window position relative to their parent window’s position. Some windows might lose the size/position information once due to this update.
GoogleSheetsDataProviderWrapper now uses Sheets API v4 since v3 has been shutdown. Constructors, needed OAuth scopes and internal implementation were changed. Check your integration if you use this provider.
DbCommandSetDataProvider: Fallback implementation for asking the SchemaRow for stored procedures – it could fail for individual stored procedures and results into a NullReferenceException in Debwin4.
NuGet Packages now contain the XMLs for Visual Studio Intellisense.
Streamlined an uneccessary call to LlPreviewDisplay if IncrementalPreview is true.
Added MouseModeSelect to the ListLabelPreviewButtons class enabling a customization of this button as well.
Internetmarke: Update of the price list of Deutsche Post since 01.01.2022.
If too many RTF objects are used, as LL needs to reduce the resource usage, some RTF objects are used for multiple jobs. As this causes some threading issue, the print job is a bit more limited in optimization by threading.
If the condition for a report area did contain DrawingHeightSCM or DrawingWidthSCM, the calculation did not work (both functions retuning 0). This is not unexpected since at that time, the device is not yet known (!) and the dimensions were not calculable in every case. Now a value is returned if the argument is a file (not a handle or such) and can be compared with the other directional function (i.e. cx > cy or such comparisons work) – if the file contains a DPI option, the returned value is SCM, otherwise the pixels.
In case of a certain barcode printer, cancelling the printer’s option dialog seems to have left a message loop before the PrintDlg() API returned, allowing exiting of the parent dialog before the PrintDlg() call ended, causing an access violation in List & Label.
PDF: If a ZUGFeRD XML file was specified but the given options in “PDF.ZUGFeRDVersion” and “PDF.ZUGFeRDConformanceLevel” does not match it, this hint is now also in debug output.
The PDF export now also sets the creation date metadata field.
Further improved line object rendering in XHTML. Now uses a better SVG conversion and external SVG files.
When exporting the preview file, the file selection dialog stores the last choice (depending on the format(!)) to be able to restore the path to this directory next time. This is only done if there is no defined filename or the preview file is a downloaded file.
PDF: If link-property of objects are used with mailto-protocol, the resulting links in the PDF document was not executed as expected.
Added mail option Export.Mail.PreventPlainTexteditForHTML and the application specific registry entry Mail.PreventPlainTexteditForHTML to optionally prevent a plain textfield from being modified in internal editor if a html body is already present.
SMTP: Error code 421 (meaning “The service is unavailable due to a connection problem” – should be 452 (“Too many emails sent or too many recipients: more in general, a server storage limit exceeded”)) also causes a reconnect.
System load from the preview is now displayed in the active export jobs.
Improved error message for group selection in data sources.
Selection fields are now styled according to the applied Report Server customization.
Dependent selection boxes in the parameter selection now no longer overwrite existing values, but rather add the new values.
Cleanup: Result is now shown as popup.
When exporting selected report templates, the group assignments of report templates and data sources are now also exported.
Added details popup for system log if stacktrace information is available. This information will only be saved in debugmode.
Improved validation of project parameters with regex expressions when exporting a report template.
The PDF export now also sets the creation date metadata field.
Added missing warning of disabled information messages.
Show empty list indicator on “System Protocol”.
Hint: Due to a change in the Google Sheets API, your Google Sheets DataSources may not work without manual changes. Public Sheets now require an Api Key. If you are using OAuth, the refresh token may need to be updated. Go ahead and test your Google Sheets Datasources.
Function parser is optimized for caching of constant formula, resulting in 5-10% less memory footprint and a bit more speed, depending on the amount of formula with constant values.
The DataMatrix barcode now supports rotation.
Visual Studio Reporting Wizard: Removed messages in Visual Studio output window like ‘initialization can be simplified’ or ‘naming rule violation’ for better code style.
Added APIs CtlWindowPositionSave() and CtlWindowPositionRestore() to allow better Multimonitor experience of dialogs, which are now repositioned relative to the parent, which is much better in with changing monitor configurations.