--- title: "Lasernet FO Connector 6.18 - New Features and Fixes" slug: "lasernet-fo-connector-618-new-features-and-fixes" description: "This page describes new features, fixes, and enhancements in Lasernet FO Connector 6.18.0. This version is supported with Lasernet 9 and 10. " tags: ["6.18", "Archive", "Autoform DM integration", "Expression editor", "Lasernet config", "Lasernet FO Connector", "New features and fixes", "SharePoint"] updated: 2026-02-27T11:51:26Z published: 2026-02-27T11:51:26Z canonical: "kb.lasernetgroup.com/lasernet-fo-connector-618-new-features-and-fixes" --- > ## Documentation Index > Fetch the complete documentation index at: https://kb.lasernetgroup.com/llms.txt > Use this file to discover all available pages before exploring further. # Lasernet FO Connector 6.18 New Features and Fixes ## Lasernet Connector for Dynamics 365 Finance and Operations **Release version: 6.18** **Release date**: 22nd September 2022 ### Introduction This page describes the new features, fixes, and enhancements in [Lasernet FO Connector 6.18](https://support.formpipe.com/downloads/files/lac365fo-version-6-18-download). Click to view the [Lasernet FO Connector 6.18 Release Notes](https://formpipe.document360.io/v1/docs/lasernet-fo-connector-618-release-notes). ### New Features, Enhancements, and Fixes – Lasernet FO Connector 6.18 Lasernet FO Connector version 6.18 is released for Dynamics 365 for Finance and Operations version 10.0.28 (PU52) and 10.0.29 (PU53). The same source code is used across all versions. The Connector contains many new features that can assist in improving performance, and it has been optimized in relation to performance. 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 aimed to be a quality update, provided through the following new features, fixes, and enhancements in Lasernet FO Connector 6.18. #### Autoform DM Integration The latest version of Lasernet Connector for Dynamics 365 Finance and Operations 6.18 includes an integration of Autoform DM. For more information on Autoform DM for Dynamics 365, watch the [Introduction to Autoform DM for Dynamics 365](https://formpipe.document360.io/v1/docs/an-introduction-to-autoform-dm-for-dynamics-365) video. The following Autoform DM integrations and enhancements are now included with this version of Lasernet FO Connector: - Seamlessly connect to Dynamics. - View all documentation for a specific account within the FO interface. - Search for and retrieve documents quickly. - Share FO documents with non-Dynamics users. - Enable access to document sets for customers or suppliers external to your domain. - Secure storage of all files (PDFs, invoices, video files, audio files) alongside metadata. - Automatic indexing and content type allocation. - Centralized administration and access controls. - A fast and simple Document Import tool. - ISO 27001 compliant. For more details about this product, visit the [Autoform DM for Dynamics](https://www.lasernetgroup.com/products/lasernet-keep/) page on the Lasernet website. A full description of the Autoform DM integration enhancements can be found in the relevant additions to the [Lasernet FO Connector User Guide](https://formpipe.document360.io/v1/docs/autoform-dm-dynamics-360-finance-and-operations-integration). #### Expression Editor Enhancement The auto-complete function will show up as soon as you start typing in the new . It will automatically filter values based on context of the expression and what has been already typed. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-S4SQ4JLE.png) The icons in the auto-complete lookup indicate the types of available objects. | Icon | Description | | --- | --- | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850789161.png) | Value source | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850788631.png) | Enum | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850789692.png) | Function/method | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850789484.png) | Table | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850788851.png) | Operator or reserved word, such as (IF, THEN, SWITCH) | | Field | Description | | --- | --- | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850788043.png) | Container field | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850788333.png) | Date field | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850790251.png) | Enum field | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850788750.png) | Integer field | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850789894.png) | Real field | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850788480.png) | String field | If you start typing ‘C’, the editor will automatically show all available sources starting with ‘C’. **CustConfirmJour** and **CustConfirmTrans** are the available tables for the report, and in this example, the **SalesConfirmReplacement** is used. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-IJWHZT66.png) 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 an error occurs 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. Note that the error position in the status line is indicated with **<-!->**. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-3UASVGTG.png) #### Syntax Updates Multi-line expressions are now supported. Comments are also added to improve the documentation of some of the expression parts. Example: ```plaintext Switch CustConfirmJour.CustGroup            case "Regular" then "Regular customer"            case "Priority" then "Priority customer" /* Special name for Priority customers */            default "Other customers" End + " "  + "order" ``` ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-VUCSQVA5.png) #### Syntax Colors Syntax elements are now color-coded: | Syntax highlights | Description | | --- | --- | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850788954.png) | Blue is reserved for operators and words. | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850789373.png) | Dark green is for complete value segments. | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850789052.png) ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850789271.png) | Dark red is for string constants or numeric constants. | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850788210.png) | Light green is for comments. | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850789786.png) | Bright red is for incomplete values. Complete expressions should not contain these. | | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850790027.png) | Regardless of color, an underlined segment is **Active**. Value for such segment will also be editable in separate value field located below: ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/1663850793879.png) | Be aware that syntax highlighting can be slow in environments with high network latency. 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 clicking **F12** > **Network**. An established VPN connection can also slow performance, as the latency can be higher than when 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 reduces 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. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-UMBXKZG6.png) 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 the label of the , such as **Open order**. If these are used in expressions, ensure that you compare the same type of value. The best practice is to use **:NAME** as this will be the same across all environments, even where numeric values might differ. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-GS10597A.png) Auto-complete also works with **Enum** values: ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-CWGHM946.png) #### Test of Expression New functionalities for testing an **Expression** have been implemented. You can test expressions with different values that can be plugged into them and observe the output result. To test your **Expression**, specify the test values, then click **Calculate test result**. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-HXYIFUYE.png) 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. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-CN3NMICQ.png) If the calculation fails, you will get the following test error: ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-JD6OTSN5.png) 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. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-DF9BFF6V.png) How do I measure Network latency? In an Azure-hosted environment – Non-ServiceFabric (IIS) (B8ms): ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-MFLRYEMX.png) In an Azure-hosted ServiceFabric environment: ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-F9LYBTY4.png) #### Support for SharePoint 365 Graph in Lasernet A new option to support Microsoft/Lasernet Graphs when working with SharePoint has been introduced. The support for SharePoint 365 Graph in Lasernet can be accessed by navigating to **Setup** > **Administration** > **Connection** > **Graph setup** in Lasernet. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-YLKGZEUN.png) 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: ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-FO5WTPI1.png) Embedded connection within the SharePoint module: ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-53XLXP2M.png) #### 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. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-E2CQ62BD.png) ```javascript 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); } ``` 1. Update script: **LAC functions > SetOutParameters** ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-X7RZLDHL.png) ```javascript job.setJobInfo('OutFilePathGraph', job.getJobInfo(mergedPrefix + 'FilePathGraph'), true); ``` 1. 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**. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-WPZZXZMG.png) ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-M6J48QBY.png) #### 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 a 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 when resending: ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-XS8NYZYS.png) ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-NYQNB6A4.png) #### 312295@LAC365FO – T&P: Top Picking for SSRS SalesInvoice and SalesConfirmation Lasernet FO Connector 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. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-6UN56FTO.png) #### 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: ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-YL6GITQJ.png) Select **ReportValueFormatted** to get the proper formatting. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-W2PDJVQ6.png) ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-CIFH2Y36.png) #### 305298@LAC365FO - Change in TOP records 6.17 The option T**op reset** is introduced and used in relation to the **Top records**. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-SDAES9RZ.png) 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. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-ZYEPO3KL.png) The result will be two records for both **SalesTable** and **SalesLine**. Only records from the first sale orders line (**000002**) are returned, even though sales order line records also exist for sales order **000003**. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-YLM8IXHD.png) - **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. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-ZT8HEWES.png) The result will be two records for both **SalesTable** and **SalesLine**. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-47BTODQF.png) - **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. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-6JCFGYBC.png) The result is two records from the table **SalesTable** and all records from the table **SalesLine**. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-KO6M6U5O.png) #### 271957@LAC365FO - 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 using SharePoint (or Autoform DM) to archive the documents (normally PDF files). ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-9X2D93SH.png) This is useful 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. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-UHFR2L6Z.png) #### 317135@LAC365FO – Archive performance sorting parameter A new feature has been introduced that provides the option to improve performance when there are many entries (records) in the Lasernet Archive and when making a resend from the Archive. When there are many records, the issue is not resending and creating an 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 Lasernet FO Connector, 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 the same records, but it will set the focus (current record) to the end of the **Archive**. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-FQIW9S22.png) - **Newest to oldest** Records are sorted by default by descending order of the Created date and time, the same pattern as in previous versions of Lasernet FO Connector. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-GQZ5PNLK.png) - **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**. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-VZBUGNQT.png)