LS Central 22.0 Release Notes
About This Release
Released - May 25, 2023
This version is built on Microsoft Dynamics 365 Business Central 2023, release wave 1, cumulative update 1, 22.1.55890.56216.
Important Notices!
For information about breaking changes in previous releases, click here.
LS Central Universal Code Compliant
LS Central is now Universal Code compliant. This means that the property Target in the app.json files for the LS Central and LS Central System apps has been set to Cloud.
Customers who have the granule Implemented code is not cloud-optimized in their license can ask for this granule to be removed, once they have upgraded to LS Central 22.0, unless there are other extensions installed that are not Universal Code compliant.
Deprecation of Windows Authentication for Web Services
Windows authentication for web services has been deprecated. The Windows authentication was based on Business Central Windows authentication code. The Business Central Windows authentication code is marked as OnPrem and can therefore not be used by Universal Code compliant applications. This does not affect SaaS customers as the only authentication method supported in SaaS is Oauth authentication. On-premises customers must switch from Windows authentication to either Basic authentication (Web Service Access Key) or OAuth authentication for web services before upgrading to version 22.0.
See How to: Set Up Basic Authentication for Web Services in the LS Central Help for instructions.
Obsolete Code Marked With Tag 20.0 and Below Removed
Our solution gets bigger with every release, but we intend to clean up by removing obsolete code in major releases as soon as the code has been marked obsolete for at least a year.
In release 22.0 we removed constructs like procedures and events, but there are no breaking schema changes yet, like Tables and Table fields.
Recommended action: Check if you are using a feature that has been marked obsolete for more than a year. The warning should state the reason and the alternative that is intended to be used.
OnPrem-only Procedures Are Now Obsolete
All procedures and objects that are marked #if _IS_SAAS_, previously marked [Scope('OnPrem')], have become internal, unless otherwise requested.
If your extension is using any of these, they will now get a warning.
Recommended action: If you have an OnPrem extension, check if there are any warnings. Usually, there are alternative procedures available, but partners can also request that a list of these is made public through the same flow as event requests.
Integration Event Triggers Are Now Internal/Local
In rare cases, it has been technically possible to trigger some of our events from an extension.
These cases are usually an oversight, since the internal/local keyword was missing for the IntegrationEvents so they became public, by default.
This has prevented us from adding new arguments to existing events, and therefore unnecessarily forcing new versions for events where a breaking change would not have been needed.
Recommended action: This should not require any work. There is a chance that somewhere an upgrade might fail, if it is calling an event function, for example in POS Transaction Event, which usually has no effect. Instead, the events are intended to be subscribed to, with an EventSubscriber.
Click here for a printable version of this notification.
New or Enhanced Features
LS Central
LS Central
Customer Order on hold functionality improved
When in picking mode, a Customer Order can now be put on hold. This will prevent other users from picking the same order. Orders are automatically closed when picking starts and released when picking is done or canceled. If Put on Hold, then only the terminal that puts the order on hold can continue the picking process.
Github: Variable size and background task error fixed
- Variable size was changed to avoid overflow errors.
- GuiAllowed was added to skip a message on background processes.
New field in Retail Sales Order Card
A new field, Customer Order Ship Order, has been added to the Retail Sales Order Card. The field is populated when a Sales Order is created from a Customer Order.
Response code for MemberLogon web service
The response code for MemberLogon web service has been improved.
Error code values are:
- 0099 /Unidentified Server Error (check Event Viewer on Server)
- 0131 LoginIDOrPasswordIncorrectTxt
- 1101 LoginIDNotFoundTxt
- 1160 LoginIDIsNotAMemberTxt
Terms and Conditions Acceptance for SPG (ScanPayGo)
Two new web services have been created:
- SPGSetTermsPolicyAcceptance - to insert records in a new table, "LSC SPG Terms Policy Accep.Log".
- SPGGetTermsPolicyAcceptance - to read records from the new table.
A new page, LSC SPG Terms Policy Accep.Log, was also created to see the records in BC.
XML port element to table/field mapping
A codeunit was created that holds the XML port field element mapping to table and fields. A script that updates the code was also created.
POS
Retail image changes: follow-up
POS Controls now use RetailImageLink with LinkType::Image to reference images, instead of lsmedia:// urls.
This means that the properties of the controls are now obsolete, so the same data is not being stored in multiple places, as it could easily go out of sync.
- If you were using the fields in AL code to store image URLs on temporary POS control records, you can use PosSession.SetImage instead, to assign the first image from a RecordId to be displayed on a POS control.
- If you were fetching images for POS Web Templates, you can now use PosSession.AddWebTemplateImage to make sure the image is available from javascript, via LS.GetImageUrl.
Replenishment
Item Import Journal improvements
The Retail Product Code field has been added to the LSC Item Import File Data table, to make it possible for you to import the Retail Product Code field into the Item Import Journal using the item import file.
Additionally, if the item added to the Item Import Journal is an existing item in the system, the journal will automatically retrieve the Retail Product Code of the item, if it is not already filled out in the journal.
Replenishment Out of Stock functionality improvements
The Out of Stock functionality in Replenishment has been enhanced, and features were added that will improve your experience in visualizing the out of stock data.
Improved Out of Stock data maintenance
You now have the option to only perform Out of Stock calculation for items and locations that are active for Replenishment. You can enable the option by using the OOS Calc. Scope setting in the Replen. Setup page, and when the Advanced option is selected, only items and locations that are set up for Replenishment calculation will be included in the Out of Stock calculation.
So if a store location does not have a valid Item Distribution setup, for instance, it is excluded from the Out of Stock calculation result.
Also, you can now delete the old and outdated out of stock data in the system, either for those that are still open or are already resolved.
Enhanced visualization of the Out of Stock data
The Replenishment Out of Stock Overview page has been added to show grouped information of the out of stock situations. You can set up the page to give an overview of the out of stock situations based on various parameters and filters, such as for a specific item category, product group, or location. The overview can be grouped by data that focus on out of stock situations that have started, ended, or were ongoing in a specific period of time.
A series of Replenishment Out of Stock Overview Charts has also been introduced. You can use the charts to visualize how the out of stock situations are distributed across the different item groups and locations. Moreover, you can now easily access the Replenishment Sales Chart from the Replen. Out of Stock Days page, which shows the sales pattern as well as the inventory movement and out of stock status for the selected item, variant, and location over a specified period of time.
For more information see Replenishment Out of Stock Days in the LS Central Help.
Restaurants
HTML information for deals
An HTML interface has been added to deals.
LS Central Modules
Bookings for LS Central
Activity member comments implemented
The Activity client (member contact) comments have been replaced by the new comment structure.
New setup for activity group booking and assigning group members
A setup has been added on the Reservation Type (section Group Settings), which is Group member assignment. This setting defines how the automatic assignments of the group members is done, when a group reservation is confirmed and group members have not previously been assigned by the user. By default (as before), the assignment starts based on the first group member for each group line. The new setup allows the user to set the logic to also start based on Next group member, which basically starts the assignment on the first line based on the first member, and then continues with the next, one per line.
Support for depositing APIs in SOAP
Depositing APIs for payment and refunding deposits has been added to the Activity Soap API. This deposit method does not require Customer Orders and issues the deposits by issuing POS receipts.
Forecourt for LS Central
Forecourt upgrade
Forecourt for LS Central has been upgraded and is released for On-premises in version 22.0. In version 22.1 Forecourt will be available for SaaS.
The Forecourt module is a separate extension that includes functionality for the POS to communicate to pumps through the Hardware Station and sell fuel items. This is the functionality that was previously in the Forecourt Manager for the Windows POS. The connection to Forecourt controller that was previously implemented in a DLL is now through the Hardware Station where a special implementation is needed for each type of Forecourt controller.
Hotels for LS Central
Hotels for LS Central is a separate app extending LS Central.
Folio management
Now Invoice management supports folio distribution to organize payers for reservation charges. Invoice type and payer are defined in the Reservation Folio, and Revenue Entries are assigned to Folios.
Member enhancements in Hotels to improve alignment withLS Central
CreateDefaultHotelGuest was removed from hotel initialization, and member related tables (Member Management Setup, Member Club, and Member Scheme) were removed from the configuration package HTL-Process... Two number series were removed, H-M-C and MEMHOT.
New fields, Store No. and Terminal No., added to DRE for charges transactions
Two new fields have been added to Detailed Revenue Entry table and related pages, Room Charge Store No.. and Room Charge POS Terminal No.. This populates the Store No. and Terminal No. where the charge is coming from.
Progress chart added to Front Desk and Housekeeping Role Centers
A Progress Chart has been added to the Front Desk Role Center and the Housekeeping Role Center to graphically show the progress of arrivals and departures for the workday.
Work Date instead of Today
Work date is now used instead of Today in Hotels, so the PMS will function normally when the work date is changed.
Pharmacy for LS Central
Pharmacy for LS Central is a separate app extending LS Central.
FMD process temporarily disabled
The field Medicine Verification Active in the Pharmacy Setup page has been temporarily disabled in AL.
Insurance document checked when a production is deleted
The system now checks if an Insurance Invoice for a Dispense Production has been submitted when the production is deleted. If that is the case, the user is alerted.
Line Discount functionality in AL
The Line Discount functionality has been updated in AL.
Pharmacy Item Card and List updated with new Sales and Purchase Price experience
A new Sales and Purchase Price experience has been enabled for the Pharmacy Item Card and List.
Substitution item in a dispense order with a different strength unit
It is now possible to use a substitution item in a dispense order. When this is reported to the gateway, a conversion is made to the issued item, so the prescription always shows the correct remaining quantity.
Supporting Functionality
Hardware Station for LS Central
Printing test strings
An option to print any string has been added on the POS Printer Card in Business Central and in the Hardware Station Management Portal.
Kitchen Display System for LS Central
KDS OAUTH: Request created for the web service
The Kitchen Service can now use OAuth authentication to connect to the Business Central SaaS. The KDS now uses REST to connect to the Hardware Station. And KDS uses not REST Client to access the OData web service protocols.
Backwards compatibility with older SOAP services is available down to v.17.0.
New fields added to CHITs in KDS
The following fields have been added to the fields that can be displayed on the chit in the kitchen:
- PhoneNo
- OrderID
- TableNo
- CustomerName
Other
POS Commands
The following POS commands are obsoleted in LS Central 22.0:
Command | Command | |
---|---|---|
FAB-CONTINFO-INPUT | TD_BAGNO | |
FAB-OPENPOS | TD_BANK | |
ITEMPIC | TD_CLEAR | |
LINEMSG | TD_COUNTED | |
MEMBERCARDREAD | TD_DECLARE | |
MODMENU | TD_FLOAT | |
MSGPOSACT | TD_POST | |
OPERATOR | TD_PRINT | |
POPUPSERIAL | TD_SAFE | |
PUTBACK | TEST_WEBSERVICE | |
QTYREASON | TR-RSERVATIONFUNC | |
REJECT | TR-RSET_PANEL | |
RESMATRIX | UPDATE | |
ROUND_TGL | VIEW_CUST_OPEN_INV | |
SELLMATRIX2 | ZERO_CHK | |
STATE | ZOOM_TABLE | |
TAKEOUT-FAB-FILTER |
See POS Commands in the LS Central Help and the corresponding Excel list with filters for a complete list of POS commands.
Fixed Issues
LS Central
LS Central
Commerce Scheduler Job Error
COMMERCE Scheduler job error was fixed.
Customer No. does not appear in Customer Order
- Customer number and name not appearing in a Customer Order when collecting on a POS has been fixed.
- Changes done to Navigate in Posted Statements to show more related records.
- A new setup field, Create CLE for Web Customer has been added to the Store card. The field specifies whether to create Customer Ledger Entries for transactions that relate to the Web Store Customer No. on the Store card.
Discount offers and price groups
A new field, Disc. Type, was added to the Discount Offer Lines page.
Incorrect Sales Quantity calculation
Sales Quantity is now calculated based on Invoiced Quantity.
Issue in eCommerce Shopify in LS Central - Members Code field length
Processing length for data has been fixed.
LSC License Certification Company Filter
LSC License, a company filter has been added when searching for a valid certificate.
Members and infocode
Code added to check for an infocode when a retail customer is linked to a member.
Member Sales Buffer Number of Items
A new field, Quantity, was added to hold Number of Items in decimal format.
Member Sales Buffer Sort Order
Member Sales Buffer Sort Order has been fixed.
Processing multiple deletes with distribution
The system no longer checks the variable ProcOnlyDelete to decide if the repeat-until loop should continue or not when replicating distribution groups.
Retail Picking cannot be posted
If the Default Qty. to Receive field in the Purchases & Payables Setup is Blank, the Return Qty. to Ship in the Purchase Return Order (create) will be the same as the Quantity.
Scheduler jobs with exclude list ingnore Active for Replication
The Scheduler job distribution exclude list has been fixed.
Support for duration fields in web services used in replication
Support for data type duration has been added.
Web Replication stopped working - Wholesale to Retail
A fix was released to refresh the used token for long requests.
WS Request Log table
Record locking is now avoided on the WS Request Log table. Two or more web services can now add to the log simultaneously.
POS
Deleting a Menu Line does not hide the line in the POS
An issue has been fixed that caused the removal of a button from the Menu Properties to not update the POS UI.
Error when clicking #HEADER, #INFO-1, or #INFO-2 during selection of Discount Infocode
An issue that allowed the user to select more than one option in a single selection pop-up or lookup control has been fixed.
MEMBERLARGE POS Web Template Issue on Purchase History
An issue was fixed that caused the purchase history details to not be displayed when expanding from the arrow.
POS browser returns to English when another language is selected
When refreshing the POS (browser), the DateTime format should remain in the chosen language. This has been fixed.
Replenishment
Incorrect date of first sales retrieved for items
When creating Sales History Adjustment entries using the Replen. Sales History Adjustment Calculation Rules, an issue has been fixed where the wrong date of first sales was retrieved for the item when the first Item Ledger Entry of the item has an Entry Type of Transfer.
Replen. Item Quantities calculation issue in Add Items to Replenishm. Jrnl. Report
When the Calculate Inventory option is selected, and the Vendor No. filter is defined in the Add Items to Replenishm. Jrnl. report via Purchase Replenishment Journal, Transfer Replenishment Journal, or Redistribution Replenishment Journal, the system was applying the filter strictly based on Item level setup, thus causing the Replen. Item Quantities not being calculated for items with a different Vendor No. setup on their Item Store Records. This has now been fixed.
Restaurants
Seated status image missing for table in P0011
Seated status image is now shown after seating the table.
LS Central Modules
Bookings for LS Central
Time zone setting of the BC user affecting reserved time for resources
Previous versions of the Booking module could only have users making appointments within their time zone. Also, the web service API for bookings could only make correct bookings within the time zone setting of the service tier. This has been changed so the module can now support users and web services to book at activity locations in different time zones.
Hotels for LS Central
Discount not applied in Upgrade Reservation page
There was a bug in getting discounts when the reservation rate code was changed. Now, when the rate code is changed, the system checks if the old discount is still applicable, or if new discounts are available. In case there are multiple discounts available, the user should manually select the discount to apply.
Deposit Policy page for groups unviewable
Captions in the Deposit Payment" page were updated according to what is used in the Invoice Management FactBox, and the Deposit Paid Amount field was added to the page to show the sum of deposits paid until then.
Filters in the Deposit Due page were fixed for reservations belonging to a Group Reservation. The filtering was on Group Res No. instead of Reservation No..
Pharmacy for LS Central
Agent header in FMD requests
User agent header was added to FMD request.
Dispense line GetLineQuantity not working if Dispense group is for Month
The Dispense Order Lines FactBox now shows Line Quantity based on Delivery location dispense period and dispense group settings.
H-Prescription: price should not be on the receipt or line display
The amount and the insurance payment values are now set as 0, when taking an H-Prescription to POS.
Purpose text on prescriptions too short
The field size has been changed.
Hotfixes
See the LS Central Help for information about hotfixes that have been released since the previous release.