New Features
Export
- PDF: Supporting ZUGFeRD Version 2.1.
.NET
- Introduced new RepositoryHelper class with DeleteItemWithDependencies function.
- Parameterized data sources now also support date typed parameters. Example: param.Value = “{{CreatedOn=01.01.2020|format=date|choicesfield=All_Contacts.CreatedOn}}”;.
Dataprovider
- In ODataDataProvider added the capability to handle different OData namespaces in multiple schemas.
Print
- Tables and autosize columns: if the MinWidth of a cell is Null(), the cell is automatically sized to the needed width if it would be smaller. Important for example for numerical columns to see all data. Same for MaxWidth.
Report Server
- LDAP uses secure connection if required.
Others
- Sort orders in preview: While the sort order menu offered ASC, DESC and Unsorted, clicking on the sort icon only toggled between ASC and DESC. Now it iterates all three states too.
Improvements
Mail
- LsSendMail() API: when the window handle passed is NULL, the send operation is done in the same thread, otherwise in a separate one (to get out of the way of message queue issues with Outlook’s editor). But in the mode with the separate thread, Outlook leaks much less handles, so setting “HKCUsoftwarecombitcmbtll<appname without extension>” “ForceSendMailInSeparateThread” [String] “T” will also force this behavior to use a thread. In addition, a COM object loss was fixed, also resulting in less handles leaked.
- XMAPI: A COM object loss was fixed, also resulting in less handles leaked.
- XMAPI: leaving the Outlook form by canceling it (sending the mail does not show the behavior!) did cause MAPI to hang on MAPIUninitialize(). Now there’s a MAPI DLL Cache in the MX delaying MAPIUninitialize. Also LsSendMail() puts the send process to a different thread, which prohibits the phenomenon of an inaccessible Send dialog.
.NET
- The TableLineGroupHeader class now supports the KeepGroupTogether property.
- The NetworkFileProvider helper class now also supports ReadFile using Impersonation for the .NET Core build. Before, an exception was raised as this feature hadn’t been implemented.
- The MailJob class has new member ErrorText.This returns the LastError on an exception.
- The AutoDefineNewPage event args have a new member IsPreprocessing. This will be true if the print engine is currently in the first pass of a multi pass print (e.g. if keep data together is selected for any of the tables).
Print
- The preview control may be forced to display a wait cursor in incremental view by explicitly switching to LS_OPTION_MOUSEMODE_WAIT mode.
- The preview control still shows a wait cursor in incremental view when hovering the main area while there first page is still prepared for display.
Export
- Added the Export.ConversionPreventPageReloadAfterDelete option for a slight performance gain when re-exporting only few pages into a preview file from a originally huge preview file by using the ConvertTo feature.
- The data-only XLS export adopts the font face, size and color from the project’s default font. If this font’s color is white, this results in invisible characters in XLS inadvertedly. So in this special case, the color is switched to black to make sure the result can be read.
Dataprovider
- The RestDataProvider now also supports the file:// protocol as valid URL and loads local files accordingly.
Designer
- Report Designer: Introduced LL.ChartObject.AxisCoordinate.SecondaryValue to access the original axis coordinate in addition to the bubble size in a bubble chart.
Ad-hoc Designer
- Changed Adhoc-Designer for .NET Core:
- Removed services.AddMvc() call from AddAdhocDesigner method because it should be called directly in ConfigureServices in Startup file.
- Removed the code for adding default route in UseAdhocDesigner method because the default route should also be added directly in Startup file.
- Changed the place of AdhocDesignerSetting input parameter from AddAdhocDesigner to UseAdhocDesigner method because according to Autofac documents in ASP.NET Core 3.0+ they added ConfigureContainer method to access the Autofac container builder which runs after ConfigureServices and before Configure method in Startup and due to the need to use Autofac container builder for AdhocDesignerSessionManager we should call AdhocDesigner.Setup method not before Configure method.
Download the new Service Pack 25.002 now.
Daniel is mainly responsible for quality assurance and release management at combit. He likes to spend his free time with his family hiking, doing karate or playing video games.