Skip to main content

D365 FO Connector 6.16 Release Notes - News / D365 FO Connector / D365 FO Connector Release Notes - Formpipe Support Portal

Oct 8 2021

D365 FO Connector 6.16 Release Notes

Authors list

LAC365FO Release Version 6.16.0

Release date: 8th October 2021

This document describes the enhancements in LAC365FO version 6.16.0

Lasernet version 6.16.0 contains all the models including the model for the integration with D365CE and the models for the Lasernet print buttons.

The newly introduced package LACMSHotfixes contains hotfixes for standard D365FO.

It’s possible to install/deploy this package separately and the package will get updated once new hotfixes are introduced for standard D365FO.

Both the package and the release notes for LACMSHotfixes are accessible as separate downloads.

LAC365FO version 6.16.0 contains the following models/packages:




ComponentPackage

Lasernet

  • Core and main engine for LAC365FO


Lasernet81Spec

  • Additional requirements in relation to 8.1 and newer versions of standard D365FO


PRNButtons    

  • Lasernet print buttons


PRNButtonsLACAdaptor

  • Adaptor between the Lasernet print buttons and Lasernet


LACCE

  • Provide the integration to CE from LAC365FO


LACMSHotfixes           

  • Hotfixes for standard D365FO

Lasernet Test Suite     

  • Test & Performance Suite 

New model LasernetPU35Spec

The new model LasernetPU35Spec is added for supporting the Wave labels in standard D365FO.

The model LasernetPU35Spec is only added to the package PU34+ and it’s possible to download and install a separate package containing this model.

LAC365FO version 6.16.0 is only supported from Lasernet version 9 and a setup for Lasernet version 9 is required for any new installation and when upgrading from Lasernet 8.

The version number should contain version 6.16.0 like the following after either installing or deploying the AOT-package.

Add the AOT-package

Either through LCS - Apply a deployable package to an environment 

https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/deployment/apply-deployable-package-system 

Or by installing a deployable package – Requires RDP access to environment 

https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/deployment/install-deployable-package


Major enhancements – LAC365FO version 6.16.0

Main focus in LAC365FO version 6.16
  • Performance
  • Performance when using OData (data from D365CE)
  • Usability and user experience


This is provided through the following major enhancements in LAC365FO version 6.16:

  • Option to limit use of memory 
  • Minimizing record-size for the report-definition
  • Performance improvement in relation to OData-request(s)
  • Improved Task-recording when using Test & Performance Suite (T&P)
  • Better option to measure report-execution with Test & Performance Suite (T&P)
  • New HTML editor/designer
Performance / Option to limit use of memory(Cache / memory)

LAC365FO version 6.16 contains an option to disable the saving of records in memory (cache of the records). 

The previous version of LAC365FO  always saved records in memory.


The advantage of saving records in memory is information/fields are retrieved faster if there’s a need to re-use information (tables/fields).

The disadvantage is the consumption of memory which could get reduced by disabling the cache.

It takes time (not a lot) to save record(s) in memory and in some scenarios possible to gain better performance by disabling cache – especially if a low number of fields are re-used.

(such as when most of the information (tables/fields) are added through the Query Wizard).


Re-using fields is an example when adding fields within the structure/elements or when re-using information for the file-naming.

Manually added information is colored “Yellow” within the elements – such as the following:


The best practice is to add as much as possible through the Query-Wizard and avoid as many yellow elements as possible.

“Yellow elements” could end up harming performance for the Report and the overall performance.


Adding as much as possible through the Query-Wizard would also ensure a minimum of roundtrips to the database which especially is important when having ”higher” latency and/or ”low” bandwidth.


Some tests are needed to identify the best/optimal performance settings of the cache.

The option to disable cache is located at Report-level – Lasernet > Common > Reports.


Cache-control

  • Default (Defined within the Lasernet parameters)
  • Use cache. Save record(s) in memory both when running report(s) in batch and through UI
  • Disable cache. Never save record(s) in memory.
  • Disable cache in batch

Save record(s) in memory when running the report(s) from UI but not when running through a batch-task.

The module Test & Performance Suite is a great tool for identifying the best settings in relation to performance as it contains the option for logging the following information:

  • Average execution time for report
  • Average execution time for report - Including time for the batch-task
  • Memory usage (%) for report
  • CPU usage (%) for report


Execution time, Memory usage and consumption of the CPU.

The Idea of using the Test & Performance Suite is to execute like 10/100/1000 reports within a batch task and identify the best settings.

Disable cache in the batch is useful in case there’s a need to lower memory usage when running batch tasks, such as when posting and printing invoices.

Performance / Limit size of report-definition

The record containing the report-definition/structure is optimized to a minimum size.

Implemented by moving the Stylesheets (Transformation Stylesheet, Sorting Sylesheet) into a new table as the sizes of the stylesheets often can get quite big.

Having Stylesheets within a separate table ensures they only are loaded when needed.

Moving Stylesheet from existing to new table happens when the record containing the report definition gets updated (Table=LACReport)  – Like when Saving, Importing or modifying a Report.

Technical

Existing table containing the report-definition

Tablename: LACReport

New table containing the Stylesheets in which the Stylesheets are moved into

TableName: LACReportStyleSheets


            SortStyleSheet

            TransformStyleSheet

Possible to move Stylesheets back from LACReportStyleSheets into LACReport by adding the following to the URL.

Remember to use the right legal entity/company, such as &cmp=USMF in the following:

 https://<server>/?mi=SysClassRunner&prt=initial&cls=LACReportStyleSheetMover&cmp=USMF

This would move the Stylesheets for all reports from the table LACReportStyleSheets back to the table LACReport.

Approach to identify best performance settings by using T&P

The module Test & Performance suite (T&P) is a separate module and requires an additional license key to get activated.

It’s possible to obtain a demo license for trial purposes.


The following approach is required for all reports as each report could have a different structure and behavior. 

Most important for reports which are critical in relation to performance such as the packingslips as an example.

But similar approach for reports having Long execution time, High memory usage and/or High consumption of CPU.

Run x-number of reports by using the following approach, such as 10/100/1000 reports.

1. Start by enabling Cache for the Report – Lasernet > Common > Reports.

2. Run a number of reports – like 10/100/1000 reports.


A. Open Batch print schedule (Top picking) which is located in Lasernet > Test & performance suite > Performance > Batch print schedule (Top picking)

  

B. Start by selecting the required Report before entering the destination.

(Report is required for selecting a proper destination)

Enter a dummy destination like Fax ’1234’ – like the following:

C. Enable Run in batch and set the Number of tasks/threads (Like 4/8).

D. Enable Log per report, Log CPU and Log memory usage and set Log performance on every ’x’ report to 1.

Open review form would ensure the Form containing the logging information automatically are opened.

It is possible to open same Form from Lasernet > Test & Performance suite > Performance > Batch print review.


E. ”Check” the logging in relation to Execution time, Memory Usage %, CPU Usage % in the Form Batch print review



D. Disable the cache at report level.




3. Repeat Step 2 and re-run x number of reports – like 10/100/1000 reports.

4. Check the logging and compare with the previous logging in which cache was enabled (step 2.D).


It’s also possible to use the Tracking/Performance indicators to identify the best settings for a report.

It is important to run the same report multiple times as it’s caching the report definition and query the first time the report is executed.

Lasernet > Setup > Parameters > Performance

Example on processing report which contains yellow elements 


Cache enabled

Cache disabled


New HTML Editor/designer

It’s in LAC365FO version 6.16 possible to activate the new HTML editor control which is introduced as a preview feature in standard D365FO.

It's still possible to select and use the Legacy HTML editor or Plain text.

The options are available in Lasernet > Setup > Parameters > Email.

Selecting the new HTML editor should get shown as the following:


Please ensure the New HTML editor control is enabled within the Feature management in standard D365FO in case it isn’t shown as above.

It's still possible to use the old editor by selecting Legacy HTML editor within the Lasernet parameters. The old/ Legacy HTML editor is also used as a”fallback” in case the New HTML Editor doesn’t exist or isn’t enabled.


Legacy HTML-editor

Working with images within the new HTML Editor

Images are added by using the Select image file.

Afterward, select the required file which contains the Image.

The added image will get previewed and added into Mail-body (HTML).

Adding an image within the new HTML editor would add the image into the image table in LAC365FO.

Image table in LAC365FO– Lasernet > Setup > Lists > Images

It’s possible to use an image added to the image table in both the HTML editor and within the Report group in LAC365FO.

The image is added into the MailBodyHTML when running the report (Base64 Encoded).

Please be aware exporting a report(s) using the Legacy HTML editor into the new HTML editor would require some adjustments in relation to the images which have been added.

TEST & Performance Suite

The Test & Performance Suite module contains the following enhancements:

  • Improved use of Task-recording 
  • Better option to measure report-execution
Improved use of Task-recording

Using the Task-recorder with the UX testing (User Experience) is improved and now contains an option for adding add a pause.

UX-testing

The task-recorder used with the Test & Performance suite is a powerful tool for recording processes and is used in T&P to identify if a process succeeds or fails.

Having a task-recording in which a destination was selected could hang once it was used with the UX-testing.

This is improved in LAC365FO version 6.16.

Task recording contains the execution of a document:

The following would hang in previous versions of LAC365FO:


Improvement when using batch testing

Additional information regarding execution time is added into the Batch print review and is useful when tracking bottlenecks in relation to Execution-time, performance, Memory/ CPU usage.

Time per report (without batch overhead) contains the average execution time without any overhead caused by the batch/batch-task.

Please have in mind that the value for Time per report (without batch overhead) could get higher compared to  Time per report (ms) in case ”multi-threading” are used (multi tasks/threads).


Example when using 4 tasks/threads

Multi-threading would cause Time per report (without batch overhead) to get higher compared to Time per report (ms).

Single-threading (single task) would cause almost identical numbers:


Bug fixes and enhancements

223772@LAC365FO - Memory issue when using LAC365FO within an MS self-service environment

Records were in previous versions of LAC365FO always saved (cached) in memory when executing a Query.

LAC365FO version 6.16 contains a new option for enabling/disabling the cache.


231387@LAC365FO – Issues with Report identification (PU43)

Using Report identification didn’t always show the proper values when Edit was used.

The Report identification is optimized in LAC365FO version 6.16.

Object name and Method name wasn’t properly filled when created a new entry.


231393@LAC365FO – Error: Unable to save the file as a file with ID xxx already exists

The following error could get thrown when previewing a document:

Issues were caused by an adjustment in newer versions of D365FO (PU42+) in which it as default doesn’t allow to overwrite documents (file) saved in the Storage.

This is fixed in LAC365FO version 6.16.

231718@LAC365FO – CE Class Report with more than 255 characters in Range - Multi-select in CE
232113@LAC365FO – Requirement for multi-selection of many records in D365CE

The multi-selection of records in CE had a limitation of 254 characters when the range was parsed to LAC365FO.

This limit is extended to 2 KB. of characters.

231860@LAC365FO – Aggregate Sum does not return any value when the report run in Latvian language

Using an Aggregation like a Sum didn’t return any value(s) when overwriting the Language/Report Language, such as when using LV for the Language (Report Language).

This is fixed in LAC365FO version 6.16.

Previous versions of LAC365FO

LAC365FO version 6.16


233906@LAC365FO – Error: The data source is not embedded within a (parent) data source.

The following error could get thrown when running a Report having an expression for which field(s) was found within a Query having multiple sub-queries.

This is fixed in LAC365FO version 6.16.

Multiple subqueries

Error 

The data source is not embedded within a (parent) data source.

234366@LAC365FO – Sub query issue

LAC365FO contains some nice options for grouping and summarizing records.

This is extremely useful when creating statistic reports or when working with retail as it provides the option to summarize and group data across multiple tables.

Performance is also greater when using a “group by query” as only fields added within the Query wizard are “fetched” from the database.

Removing a table within “group by query” could cause the following error when selecting next in the Wizard:

This is fixed in LAC365FO version 6.16.

Removing a table

And clicking Next...

could throw the following error:


Error

Object reference not set to an instance of an object.


234376@LAC365FO – LAC 6.14 Calculation element Expression datatype string decimals deleted

Having a calculation using a string for the type (datatype) did in LAC365FO version 5 did always return 2-decimals.

LAC365FO version 6 does have a little different behavior as it as default would remove the decimals.

But it’s possible within LAC365FO version 6  to set the number of decimals for a string-field by adjusting the type (datatype) from String to Real and enter the number of decimals.

 – Afterwards, adjust the type back to string which would respect the number of decimals that was set for the Real.

LAC365FO version 5 would add 2 decimals to the output.

LAC365FO version 6 requires a number of decimals to get set.



Element for which 2-decimals are required



Revert the field to the Type/datatype Real and set the required number of decimals

Reverting Type/datatype back to String would now show the number of decimals within the Output

234407@LAC365FO – An unexpected client error has occurred

Deployment at an OnPrem environment could cause issues in relation to the resources getting used.

This is fixed in LAC365FO version 6.16 as it’s using relative paths instead of absolute paths in relation to URLs.

(An OnPrem-environment is adding /AXSF/ as part of the URL).

234814@LAC365FO – Optional caching of OData calls

Requesting same entity records through an OData call are cached in LAC365FO version 6.16.

This would improve performance when the same entity is used multiple times for OData- call/request.

Please verify performance after any adjustments as it in some cases could slow performance when enabling Cache identical statements.

Example for which performance is improved by enabling ’Cache identical statements’

Cache identical statements ENABLED

Cache identical statements DISABLED



Example for which performance is worsened by enabling ’Cache identical statements’



Cache identical statements ENABLED

Cache identical statements DISABLED


235291@LAC365FO – Not all fields are taken into account when loading from another report

The Lasernet connector contains a powerful option to add fields from a “record-method”.

A “record-method” returns a record at which the wanted fields are selected.


Using a “record-method” could in some scenarios avoid the need for adding additional tables.

Loading fields from another report did not load fields which was added from a “Record-method”

 – such as when adding fields from deliveryAddress() from the table SalesTable.


Using Load from report didn’t load fields added through a “Record-method”.

LAC365FO version 6.16 do add fields which are added through a”Record-method”.


236711@LAC365FO – Bug - Alert Links import not importing

Alert links were not properly imported from an export.

This is fixed in LAC365FO version 6.16.


Previous versions of LAC365FO

LAC365FO version 6.16

238116@LAC365FO – Handle damaged reports when importing backup

Importing reports into an environment not having all tables did throw the following error.

- Such as when importing the Query for the WaveLabel feature into an older version of Dynamics 365FO not having the WaveLabel as a feature. (Query/Report: LACWHSWaveLabels)


Importing the LACWHSWaveLabels into an environment not having the Wave-labels feature

Error

Object reference not set to an instance of an object.

Import failed


238493@LAC365FO – Query wizard - Statement is created with OR instead of AND

Using a field from another branch for a relation could cause issues in relation to the selected records and a warning should get shown.

The warning was only shown in previous versions of LAC365FO when a Query was modified.

LAC365FO version 6.16 would show a warning when navigating in the Query Wizard and when validating the report.

SalesLine - RelationsData source SalesLine has relation to data source CustConfirmTrans in a different branch. This may lead to a situation where only the last record of CustConfirmTrans will be used to build the relation.


New HTML Editor

The following is managed through the newly introduced HTML editor:

231414@LAC365FO – Missing HTML tag and Font Family auto-reset in Email Editor LAC6.15

232016@LAC365FO – Determine if we need to change the front-end HTML editor, jqxEditor to CKEditor

232104@LAC365FO – Support (use) of new HTML editor (>PU37)


Test & Performance Suite (T&P)

The Test & Performance Suite contains some powerful options to measure performance, memory usage and the consumption of the CPU.

Including options to measure performance within a batch task.


Resending documents by using the batch tasks are extremely useful for making a high workload on the system.

241806@LAC365FO – T&P - Background print and Force rerun option

The option Force rerun was shown when using Background print (part of T&P) even though the value for ‘Allow forced rerun’ was empty.


Allow forced rerun isn’t specified for the report.

Selecting the Background print (batch).


Did provide the option to select Force rerun even though it shouldn’t.

This is fixed in LAC365FO version 6.16.

The option for Background print (part of T&P) is activated within the Form links at the report level.

Lasernet > Reports > Form links


259300@LAC365FO – Additional field containing 'time per report (ms)' without time used for the batch/batch-task (overhead)

A new field Time per report (without batch overhead) is added to the Batch print review form.

Value for the field contains the execution time for the report(s) without time used for the batch/batch task.

Useful for tracking and when making performance improvements.

236779@LAC365FO – UX tests – Issue: Test replay fails in "Print destination settings"

In previous versions of the T&P, it was not always possible to make a playback if the recording included a report/report-destination.

This is fixed in LAC365FO version 6.16.


Update of the Query Wizard

The Query Wizard in LAC365FO version 6.16 is updated as the symbols à , +, ß was shown at the bottom of the Form and not between the available/selected tables/fields.

It’s also now possible to extend the width of the available tables and fields.

Adjustment to the Lasernet configuration (default configuration)

The Lasernet configuration for LAC365FO 6.16 contains the following adjustments:

Adjustment to the scripts/LAC functions

Added &&


setRecognizedForm() is removed

The script setRecognizedForm() is removed in the Exit Modifiers within the module Pre-DestinationSelection.

Script ‘’ setRecognizedForm() is removed

The functions setRecognizedForm() and getNotRecognizedData() are removed in LAC functions.


Bug fixes and enhancements – LAC365FO version 6.16


table text


Case no.DescriptionTicket no.

223772@LAC365FO


Memory issue when using LAC365FO within a MS self-service environment.


231387@LAC365FO

Issues with Report identification (PU43)

#21256

231393@LAC365FO

Error: Unable to save the file as a file with ID xxx already exists

#21288

231414@LAC365FO

Missing HTML tag and Font Family auto-reset in Email Editor LAC6.15

#21297

231718@LAC365FO

CE Class Report with more than 255 characters in Range - Multi-select in CE

#21342

232016@LAC365FO

Determine if we need to change the front-end HTML editor from jqxEditor to CKEditor


232104@LAC365FO

Support (use) of new HTML editor (>PU37)


233906@LAC365FO

Error: The data source is not embedded within a (parent) data source.

#21387

234366@LAC365FO

Sub query issue

#21389

237393@LAC365FO

OData ranges applied in FinOps code are ignored

#21634

234376@LAC365FO

LAC 6.14 Calculation element Expression datatype string decimals deleted

#21379

234407@LAC365FO

An unexpected client error has occurred

#19345

234814@LAC365FO


Optional caching of OData calls


235291@LAC365FO


Not all fields are taken into account when loading from another report

#21544

236711@LAC365FO

Bug - Alert Links import not importing


236779@LAC365FO

UX tests – Issue: Test replay fails in "Print destination settings"


238116@LAC365FO

Handle damaged reports when importing backup


238493@LAC365FO

Query wizard - Statement is created with OR instead of AND

#21588

241806@LAC365FO

T&P - Background print and Force rerun option


259292@LAC365FO

Lasernet Administrator role lacks maintain (update / create / delete) privileges for the Quick destinations form

#21818

259300@LAC365FO

An additional field containing 'time per report (ms)' without time used for the batch/batch-task (overhead).


265722@LAC365FO

Stack reader tuning


267026@LAC365FO

Bug - Relation from SSRS to Replacement must be set up after each change only when using the createdTransactionalId range


Helpful Unhelpful

2 of 2 people found this page helpful