LS Central 19.0 Release Notes
About This Release
Released - November 17, 2021
This version is built on Microsoft Dynamics 365 Business Central 2021, release wave 2, build 19.0.29894.30693.
LS Central 19.0
LS Central is now delivered as two apps. Some code has been moved from the LS Central app to a new app named LS Central System App. The LS Central app has a dependency on the LS Central System App. The code that was moved to the LS Central System App is a code that was originally in the Toolbox .dll and is related to the POS UI. The code in the Toolbox .dll was not public, and partners could not modify the code. The code in the LS Central System app will not be public and the LS Central System App will only be published as runtime package. The LS Central System App will, in the future, hold code related to licensing to enable LS Retail to license LS Central components in the cloud.
LS Central AL code
The source code for the LS Central app is delivered in AL files that can be modified by partners. It is, however, highly recommended to make all modifications in extensions, and if you need to alter the LS Central or Business Central behavior then do that by subscribing to events.
It is LS Retail's priority to make it easy for the partners to extend LS Central. Therefore, a special section in our Support Portal (login required) is provided for partners to submit requests for new events. These requests are given priority.
LS Central extension
The release package includes LS Central and LS Central System App as runtime apps that can be installed as extensions. To install the extensions, you first need to publish them, see Publishing and Installing an Extension v2.0. Once the LS Central and LS Central System App extensions have been published, the LS Central and LS Central System App extensions can be installed using the Extension Management page in Business Central.
Important Notice!
Scope attribute [Scope('OnPrem')] replaced with Access Property Access = Internal
As part of the journey of making LS Central AppSource compatible, the Scope Attribute OnPrem is being replaced with Access Property Internal. By using preprocessorSymbols the change only applies to SaaS deployments. This means that access to LS Central code for extension development is the same before and after the change. Those who are extending LS Central on-premises version have the same access as before, including objects/functions that were marked as [Scope('OnPrem')]. Those who are extending LS Central in the cloud do not have access to code that was marked as [Scope('OnPrem')] as it is now marked as Access = Internal. If your extension needs access to any of the Internal code, it can be requested through the Support portal as before. To grant access LS Retail will follow the design principle that Microsoft is using in the System app where access is granted through public codeunits but implementation of the code stays Internal.
“Using Access Modifiers in AL
Access modifiers are used to set accessibility of tables, table fields, codeunits, and queries, which controls whether the object can be used from other code in your module or other modules. Access modifiers in AL are designed to create solid APIs, by limiting the symbols that dependent modules can take a reference on. Limiting the API surface can hide implementation details and allow for later refactoring of code without breaking external code.” (from Microsoft documentation "Using Access Modifiers in AL")
New or Enhanced Features
Retail
General
Fields Added to the POS Interface Profile
The Show Banner on Error and Show Banner on Message fields have been added to the POS Interface Profile Card. If you select these check boxes, the message or error will be emphasized by being displayed in the POS's alert banner.
OnPrem Scope Removed in Codeunit 10014600 LSC Franc. - Process Inb. Ms
The procedure CreateOutboundPurchHdr in codeunit LSC Franc. - Process Inb. Ms is now available for extension development in SaaS.
New integration event for Table Management
A new event, OnBeforeCheckProductAvailability, has been added in Table Management. This allows external systems to reserve availability for products.
BackOffice
eCommerce Cross Border VAT Calculation for Sales Orders
- A new field, Web Store Customer No., has been added to the Countries/Regions page.
- A new field, ShipToCountryRegionCode, has been added to MobileTransaction XML.
These fields (and also the existing Ship-to Country/Region Code on a Customer Order header) will be taken into consideration to decide which Customer No. will be set on the Customer Order and on the Calculate Basket functionality.
The only difference to previous behavior is the check that is now done on the EU Country/Region Code field. Having a customer per country will, for example, allow VAT to be set per country.
Suppress Search Indexing Building
A new field, Suppress Search Index Build, has been added to the Retail Setup page.
If this field is selected, the Search Index functionality will not create a background session to update the search index. This should prevent table locks and improve performance.
Sourcing Location Added to eCommerce Order
If eCommerce is sourcing from a location that is specified in the Sourcing Location Setup on the Store Card, the Sourcing Location ID is added to the Customer Order header when it is created.
Improvements in Statement Auto Calculation for Midnight Setup
- Statement - Auto Calculate
Codeunit LSC Statement - Auto Calculate has been improved: statements for stores with Midnight Open setup are created and calculated if there are relevant transactions, instead of waiting until the next day. - Autom. Statement Posting
An issue has been fixed in codeunit LSC Autom. Statement Posting, where statements with the same date were being created whenever the codeunit was run for stores with a Midnight Open setup, resulting in duplicated statements.
Replenishment
Improved Excel Import and Export Functionality for Retail Budgets
The import and export functionality with Microsoft Excel spreadsheet for Retail Sales and Purchase Budgets has been improved.
Retail Sales Budgets
You can now perform import and export of the Opening Stock Value and Closing Stock Value for the budget entries, using the Microsoft Excel spreadsheet. We've stopped exporting the Closing Stock Value of the budget entries to the Inventory Value budget value type in the Excel spreadsheet, but will continue to support the import of this value type into the Closing Stock Value of the budget entries until LS Central version 19.1. It is advisable to start using the Closing Stock Value budget value type for the import.
For more information see How to: Work with Excel (Export/Import) for Retail Sales Budgets in the LS Central Help.
Retail Purchase Budgets
We have stopped exporting the Purchase Amount of the budget entries to the Sales Amount budget value type in the Excel spreadsheet, but will continue to support the import of this value type into the Purchase Amount of the budget entries until LS Central version 19.1. It is advisable to start using the Purchase Amount budget value type for the import.
For more information see How to: Work with Excel (Export/Import) for Retail Purchase Budgets in the LS Central Help.
Hospitality
General
Changes in Activity Reservation for Dining Reservation on Validation
Five info fields in the Activity Reservation are now automatically updated in the dining reservation entry on change if the activity reservation is Confirmed (Edit is allowed).
Other
LS Central Help
The LS Central Help now has a special section where hotfixes are listed and arranged by release versions. The section is located under Release Notes - LS Central - Hotfixes and Breaking Changes in the left navigation tree. There is also a link to the section in the right navigation column on the Home page.
Fixed Issues
Retail
General
Web Replication Run By Scheduler Instead of Background Session
Because of technical challenges in SaaS, running a web replication in a background session is not a viable solution. Therefore, running the web replications has been changed, so they are now run by a Scheduler job instead of a dedicated background session.
No Rollback If Posting a Sales Order Fails
If a posting of a Sales Order created from a Customer Order fails, the system now performs a check and posts the sales order again without posting a second time an already posted payment .
LS Central POS
POS Close Contains Tenant in the URL
The URL now contains the tenant as well as the company parameter when the POS closes.
Replenishment
Purchase Replen. Journal and Transfer Replen. Journal
Conversion overflow error in the Purchase Replen. Journal and the Transfer Replen. Journal, when calculating replenishment for items with non-whole number inventory level, has now been fixed.
Hospitality
Allocation of large groups to tables caused Allocation panel error
This bug, which occurred when large groups were being allocated to tables, has now been fixed.
Automatic allocation status change to Late and No-Show created table locking
The performance of updating automatic allocation statuses has been improved eliminating table locking.
Incorrect parent line numbers in delivery order recall
A bug, where voided items and modifiers caused wrong parent lines in a journal when a delivery order was recalled, has been fixed.
Information fields in Activity Reservation updated
When the five information fields, Comment, Client Name, Phone numbers, and Email, on an Activity Reservation are changed, corresponding information fields in the corresponding Dining Reservation Entry are now automatically updated, if the Activity Reservation is Confirmed.