Lasernet FO Connector Release Version 6.18
Release date: 22nd September 2022
Click to download Lasernet FO Connector 6.18.0.
This page describes the enhancements in Lasernet FO Connector 6.18.0.
Bug fixes and Enhancements – Lasernet FO Connector 6.18.0
Case No. | Description | Ticket No. |
---|---|---|
317135@LAC365FO | Archive performance sorting parameter | |
317092@LAC365FO | Adjusted preview | |
316957@LAC365FO | Expression editor - wrong calculation | |
316497@LAC365FO | T&P: Test Checkpoint form "hanging" when LACArchive has a large amount of data (2M+) | |
316466@LAC365FO | Improve warning when resending documents to predefined destination and not use force-rerun | |
316410@LAC365FO | Deprecated "translate" when using Warehouse mobile app | |
316409@LAC365FO | Data from subreport is repeated when multiple subreports are added to a new section | |
316130@LAC365FO | Mobile Device Printing > License plate label > error when Display methods are used in ZPL layout | |
316091@LAC365 | Better warning when resending through a predefined destination without a re-run | |
314431@LAC365FO | Dynamics Language report parameter is ignored | #27882 |
313568@LAC365FO | Change - Show Text instead of TextID in the Print Dialog used with Formlinks | #27305 |
313372@LAC365FO | Performance updates on report initialization | |
312978@LAC365FO | Lasernet Parameters opens slowly if the customer has tried to expand the Version/Module before and had the feature called "Saved views" enabled | |
312295@LAC365FO | T&P: Top picking for SSRS SalesInvoice and SalesConfirmation | |
311529@LAC365FO | Missing labels in Connector when D365 user language is NB_NO | #27447 |
311260@LAC365FO | Aggregate Function errors when using expressions in Group by | #27000 |
305906@LAC365FO | CE - Multiple reports matching criteria in CE Print Dialog on Refresh when criteria checked is unique | #26144 |
310691@LAC365FO | Form Link Dialog setup issues | #27177 |
309763@LAC365FO | No data will be returned in the XML for CustVendPaymProposal | #27266 |
309108@LAC365FO | Clarification when using Base64 with Attachments in LAC | #27115 |
308787@LAC365FO | Unable to change name of objects on host report when linking Query from another report | #27715 |
308725@LAC365FO | Cannot remove field from range once added for a table in the Link Query | #27163 |
308269@LAC365FO | Language Text Label: Other language label shows GUID | #26720 |
308095@LAC365FO | Error when changing table name in Query Wizard "Object reference not set to an instance of an object." | #27088 |
306474@LAC365FO | LAC Environment is not respected in LACConnection SharePoint | #26461 |
305904@LAC365FO | Language Expression in CE print dialog | #26852 |
305374@LAC365FO | Date format applied on report value is not respected in the Email body | #26823 |
305298@LAC365FO | Change in TOP records 6.17 | #25492 |
305297@LAC365FO | Print button and review before sending | #26746 |
304740@LAC365FO | Linked query reports are not linked anymore if copied between companies or imported from backup | #26714 |
300124@LAC365FO | Hide the on-hand column toggle when printing the counting list | #26366 |
298451@LAC365FO | Report identification | #26052 |
291740@LAC365FO | Feature request: SharePoint archiving does not work with LAC JobInfos | #24999 |
296443@LAC365FO | T&P: UX Test - Repeat test setting | |
293767@LAC365FO | T&P: UX test Repeat parameter | |
285851@LAC365FO | Data source renaming in related data sources form throws an error | |
282801@LAC365FO | Issue with removing replacement for the report (6.17) | |
271957@LAC365FO | D365FO LAC: Decouple XML and PDF storage for SharePoint 365 | #21778 |
230517@LAC365FO | LAC6.14 Issue with relation handling in OData report | #25031 |
Introduction
Lasernet Connector F&O version 6.18.0 contains the following models, including the model for integration with D365CE and the models for the Lasernet print buttons.
Model | Description | Location / Remark |
---|---|---|
Lasernet | Core and main engine for LAC365FO | Lasernet Requires activation key: Lasernet > Setup > Parameters > License terms |
Lasernet81Spec | Additional requirements in relation to 8.1 and newer versions of standard D365FO | |
PRNButtons | Lasernet print buttons | Print buttons |
PRNButtonsLACAdaptor | Adaptor between the Lasernet print buttons and Lasernet | |
LACCE | Provide the integration to CE from LAC365FO | Lasernet > Dataverse/Dynamics 365 |
LACMSHotfixes | Hotfixes for standard D365FO | System Administration > Setup > Hotfixes from Lasernet |
Lasernet Test Suite | Test & Performance Suite | Lasernet > Test and performance suite Requires activation key: Lasernet > Test & performance suite > Parameters |
LasernetPU35Spec | Support of Wave labels in D365FO | |
Lasernet Autoform DM | Integration into Autoform DM (Archive) |
Instead of simply installing and deploying the AOT package, please ensure that the following new objects/dll-files are added to TFS:
- LACSupport.dll.config
- XmlDiffPatch.dll
- XmlDiffPath.View.dll
The following image details the complete list of objects which are not automatically added:
On the Lasernet parameters page, the version number should contain version 6.18.0 after either installing or deploying the AOT package. This can be accessed by navigating to Lasernet > Setup > Parameters, and the version should appear alongside the package number and related modules.
Version numbers:
PU52: 6.18.0.2209227
PU53: 6.18.0.2209226
To access and add the AOT package:
- Through LCS: Apply a deployable package to an environment
- Through installing a deployable package: Requires RDP access to environment
LAC365FO 6.18 is supported with Lasernet version 9 and Lasernet version 10 and a setup for either Lasernet version 9 or Lasernet 10 is required for any new installation and when upgrading from Lasernet 8.
LAC365FO contains an option to reduce record size in the Archive as this could become quite large.
Reducing the size would still keep the documents (PDF/XML) within the Archive but would remove the information required to resend a document from scratch from the Archive (the forced rerun option).
It would still be possible to resend the document(s) from the standard Journal.
Deleting or shrinking the archive can reduce the database/record size significantly.
Please consult the following Pre-Requisite/Technical section for more detail about the option to shrink/delete information in the Archive.
Pre-Requisite / Technical
It is best practice to do a Stylesheet refresh after upgrading LAC365FO as this could help to avoid any potential issue(s).
And please also use the following Register selection-classes located in Lasernet > Setup > Backup parameters > Setup Default Selections in case an error is produced when using Export, Import, or Copy across companies (legal entities).
The newly introduced upgrade framework should manage this but could fail in a scenario when using a TFS/Dev build as this would require executing Microsoft.Dynamics.AX.Deployment.Setup.exe.
Error message
The following error message may appear:
Please try to run Register selection-classes before processing.
OR
Cannot create a record in Lasernet default export/import selection(LACDefaultSelection). The record already exists.
Major enhancements – LAC365FO version 6.18.0
LAC365FO version 6.18 contains many new features including features that can assist in improving performance.
The connector itself has been optimized in relation to performance but this version also contains features that can reduce the content of the XML file and therefore optimize performance.
The main focus of these enhancements:
- Performance
- Reliability
- Usability (user-experience) and flexibility
- Simplicity
This is provided through the major enhancements detailed in this section.
Autoform DM integration
For a full list of features and enhancements available with the Autoform DM integration and to access an introductory video, please see the Autoform DM Integration News Page.
A full description of the Autoform DM integration enhancements can be found in the new additions to the Finance & Operations Connector Guide.
Expression Editor enhancement
The Expression Editor is now enhanced and includes new and improved guidance when typing.
This makes typing faster and allows more syntax options. The full range of improvements include:
- A new approach to typing that allows fast type, while catching up with syntax analysis in the background
- Automatic parallel syntax analysis and colors on expression segments
- A new approach for string values – now when using expressions these values can be within single or double quotes
- Multi-line expressions
- Switch–case
- An autocomplete list when typing
- Automatic validation while typing
- Significantly improved error position reporting with a callout indicating the exact place of error
- Enums are introduced as value sources
- The syntax editor area is now resizable
- Comments are introduced
- The overall syntax analyzer and parser performance is improved and various errors are fixed
- Expression testing is now integrated with the expression editor
- Expressions are fully backwards compatible
Expression typing and auto-complete
The auto-complete function will show up as soon as you start typing in the new Expression Editor. It will automatically filter values based on context of the expression and what has been already typed.
Images on auto-complete lookup will indicate types of available objects.
General | Description |
---|---|
Value source | |
Enum | |
Function/method | |
Table | |
Operator or reserved word, such as (IF, THEN, SWITCH) | |
Fields | Description |
---|---|
Container field | |
Date field | |
Enum field | |
Integer field | |
Real field | |
String field |
If you start typing C, the editor will automatically show all available sources starting with “C”. CustConfirmJour and CustConfirmTrans are the tables that are available for the report, and in this example, the SalesConfirmReplacement is used.
If you select or type the table name and continue typing the field name, all available fields and methods will appear in an auto-complete list.
Error reporting
Syntax analysis and error reporting are automatic. If there is an error in the expression, an automatic callout with a short error message will appear, and a longer version will appear in the status line below the editor. Please note that the error position in the status line indicated with <-!->.
Syntax updates
Multi-line expressions are now supported. Comments are also added to improve the documentation of some of the expression parts. For example:
Example
Switch CustConfirmJour.CustGroup
case "Regular" then "Regular customer"
case "Priority" then "Priority customer" /* Special name for Priority customers */
default "Other customers"
End + " " + "order"
Syntax colors
Syntax elements are now colour coded:
Syntax Highlights | Description |
---|---|
Blue is reserved to operators and reserved words | |
Dark green is for complete value segments | |
Dark red is for string constants or numeric constants | |
Light green is for comments | |
Bright red is for incomplete values. Complete expressions should not contain these | |
Regardless of color, underlined segment is “Active”. Value for such segment will be also editable in separate value field located below: |
Please be aware that syntax highlighting can be slow in environments where network latency is high. Because of automatic validation and highlighting, quite a few roundtrips to the server and back are required. You can monitor latency in your browser by navigating to F12 > Network.
An established VPN connection also can slow the performance as the latency can get higher compared to running the software without a VPN.
Enums
There is a new value source called Enums. Enums will also appear in the auto-complete lookup, but only when the filter will reduce the number of them below 20. This is done to avoid loading a massive amount of data, as there are many Enums in the system.
Enums now support three types of values. For example, if SalesTable.Sales status is “Open order”:
1. (New) SalesTable.SalesStatus would return the numeric value of the Enum such as 1.
2. SalesTable.SalesStatus:NAME would return a symbolic representation of the Enum, such as “Backorder”.
3. SalesTable.SalesStatus:LABEL would return label of the Enum, such as “Open order”.
If these are used in expressions, ensure that you compare the same type of value. Best practice is to use :NAME as this will be the same across all environments, even where numeric values might differ.
Auto-complete also works with Enum values:
Test of expression
New functionalities for testing expressions are implemented. You can test expressions with different values that can be plugged into the expression and observe the output result. To test your expression, specify the test values, then click Calculate test result.
All test values are saved as LastValues in the user’s Usage data, under Class > LACExpressionParser > TestValues. The Calculate test result checkmark is also saved in Usage data as Form > LACExpressionEditor > CalculateTestResult. Normally test values can be reused across various expressions, as these are common for all of them. Only relevant values are shown by default, but you can show all test values saved for the user by clicking Show all. Select Clean test values to indicate how many test values are saved for a user.
If the calculation fails, you will get the following test error:
In this case, the expression is technically valid but comparing an integer Enum value with a string produces a testing runtime error.
Misc
The Expression Editor is now resizable.
How to measure Network latency
In an Azure-hosted environment – Non-ServiceFabric (IIS) (B8ms):
In an Azure-hosted ServiceFabric environment:
Support for Sharepoint 365 Graph in Lasernet
A new option to support Microsoft/Lasernet Graphs when working with Sharepoint is now introduced.
The support for Sharepoint 365 Graph in Lasernet can be accessed by navigating to Setup > Administration > Connection > Graph setup in Lasernet.
A similar setting is located in the Lasernet Server which can be accessed by selecting Connections and is also embedded within the Sharepoint module.
Connection for Sharepoint 365
Embedded connection within the Sharepoint module
Adjustment of the Lasernet configuration
The following adjustments are required within the Lasernet configuration to support the Sharepoint 365 Graph in Lasernet:
1. Update script:
Attach documents > AttachDocumentGeneric (prefix, prefix2)
The code in StorageType is the Sharepoint part of the method.
Code / Script
logger.logEvent(0, prefix + ' loading file from: ' + job.getJobInfo(pref + 'StorageType')); if (job.getJobInfo(pref + 'FilePath') != job.getJobInfo(pref + 'FilePathGraph')) { // On graph full path should be in FileStorage job.setJobInfo('AttachmentFileStorage', job.getJobInfo(pref + 'FilePathGraph')+ job.getJobInfo(pref + 'FileStorage'), true); job.setJobInfo('AttachmentFileStorageCategory', '', true); } else { // Setting file name for azureStorageCommand job.setJobInfo('AttachmentFileStorage', job.getJobInfo(pref + 'FileStorage'), true); job.setJobInfo('AttachmentFileStorageCategory', job.getJobInfo(pref + 'FilePath'), true); }
2. Update script:
LAC functions > SetOutParameters
Code / Script
job.setJobInfo('OutFilePathGraph', job.getJobInfo(mergedPrefix + 'FilePathGraph'), true);
3. Open the Sharepoint Output module, select Pre JobInfos, and add additional value with the criteria. This will set OutFilePath to OutFilePathGraph, if OutFilePath is not equal to OutFilePathGraph.
Enhancements - LAC365FO version 6.18.0
316466@LAC365FO – Improve warning when resending documents to predefined destination and not use force-rerun
An improved warning is added for attempts to resend documents by using predefined destination and not using force-rerun.
Force-rerun is required when resending documents and when using predefined destinations, as this would require all data (tables/fields) to identify the proper destination.
The following warning is introduced in when resending:
312295@LAC365FO – T&P: Top picking for SSRS SalesInvoice and SalesConfirmation
LAC365FO version 6.18 supports the use of SSRS reports for Top picking used within the Test & Performance Suite.
This is useful when there is a need to benchmark report performance and memory when using a standard/customized SSRS report.
305374@LAC365FO - Date format applied on report value is not respected in the Email body
The new option ReportValueFormatted is introduced and issued for using the formatting applied to an element within the structure.
This is useful if there is a need to use specific formatting of information, such as an email body.
Apply the required formatting for the required field, such as the Custom format for ConfirmDate in the following example:
Select ReportValueFormatted to get the proper formatting.
305298@LAC365FO - Change in TOP records 6.17
The option Top reset is introduced and used in relation to the Top records.
The Top reset option controls when the number of records used for Top records should get reset/set to zero.
Top reset | Result |
---|---|
Parent | The number of records in Top records is calculated across the report and any records found within any of the tables will be part of the calculation of the number of records (Top-x) |
Report | The number of records in Top records is reset (set to zero) when the parent record changes |
It is possible to use the Top reset for any tables and in any subqueries used within the Query.
Top reset Report
Top resets are in the following example set to Parent for the tables (data-source) SalesTable and SalesLine. The Top records are also set to two for both.
The result will be two records for both SalesTable and SalesLine. Only records from first sales-order line (000002) are returned, even though sales-order line records also exist for sales-order 000003.
Top reset Report and Parent
Setting the Top reset to Parent for SalesLine and selecting two in Top records will generate an output containing two records for both tables.
The result will be two records for both SalesTable and SalesLine.
Top reset: Report, Parent and zero for Top records
Setting Top records to zero for the SalesLine will return all records for each sales line.
The result is two records from the table SalesTable and all records from the table SalesLine.
271957@LAC365FO – #21778- D365FO LAC: Decouple XML and PDF storage for SharePoint 365
There is a new option to use one Storage/Storage type for the XML file and another Storage/Storage type for the PDF file.
This approach ensures much better, faster, and more stable communication such as when there is a need to use Sharepoint (or Autoform DM) to archive the documents (normally PDF files).
This is useful if there’s a need for specific formatting of information, such as within an email body.
305298@LAC365FO – Change in TOP records 6.17
The document preview has been adjusted.
317135@LAC365FO – Archive performance sorting parameter
A new feature has been introduced which provides the option to improve performance when there are many entries (records) in the Lasernet Archive and when making a resend from the Archive.
The issue when there are many records is not the resending and creation of the entry in the Archive, but when the selected entry (record) needs to be re-selected (current record).
The default option Newest to oldest, which has also been the standard in previous versions of LAC365FO, could cause the system to become unresponsive when resending from the Archive and when having many entries in the Archive. Selecting the new option Oldest to newest makes the system much more responsive when there are many entries in the Archive and when making a resend. It will find same records but it will set the focus (current record) to the end of the Archive.
Newest to oldest
Records are by default sorted by descending order of the Created date and time, the same pattern of sorting as in previous versions of LAC365FO.
Oldest to newest
Sorting from Oldest to newest will show the newest records at the end of the Archive, in ascending order of the Created date and time.
Add a comment
Please log in or register to submit a comment.