Development changes and improvements LS One 2020.1

If a ticket from the support portal is attached to the work described here below, the ticket number (both development and support ticket number) are listed after the description. If no ticket numbers are listed, then either this change request came from the LS One roadmap and/or backlog or the request came to us through some other channel.

Diff report for 2020 SP1 to 2020.1

2020 SP1 to 2020.1 diff report download

Database changes

To view all database changes the update scripts for this release can be reviewed in the Development pack. The update scripts can be found at ..\DevPack\Source\Core\Datalayer\DatabaseUtil\SQLScripts\Update Database\LS One 2020.1

 

In this release there were no breaking changes made to database tables, but there were a number of tables added for the Kitchen Display System and Assembly item features. You can see the changes outlined in the update scripts.

Kitchen Display System

Site Manager plugin

The Kitchecn Display System plugin is a licensed plugin, but you can still customize and modify it via the KitchenDisplaySystem.PluginComponents project at SM -> Plugins -> KitchenDisplaySystem.PluginComponent

Changes in Site Service

The Kitchen Display System retrieves it's configuration and setup via the Site Service. All of the endpoints that provide data to the KDS are in the development pack at Site service -> KDSLSOneWebServicePlugin

Assembly item

This is a new feature in LS One and the changes done to support this reach across all applications.

Site Manager plugin

The setup and configuration for assembly items is contained in a new plugin: RetailItemAssemblies.

Changes in the POS

The assembly item components (i.e. the items that are included in the assembly) are all treated as linked items. The following properties have been added to the SaleLineItem class for assemblies:

Field Type Description
ItemAssembly RetailItemAssembly The active assembly for the current store for the sold item if it is an assembly item
ParentAssembly RetailItemAssembly The active assembly for the current store that the sold item is a component of
IsAssembly bool True if the item is an assembly item
IsAssemblyComponent bool True if the item is an assembly component
AssemblyID RecordIdentifier ID of the assembly
AssemblyComponentID RecordIdentifier ID of the assembly component
AssemblyParentLineID int

Line ID of the parent assembly item

 

New unique ID added to BaseSaleItem

A new field has been added to the BaseSaleItem class, which means that all subclasses (including SaleLineItem) now have the following property:

Field Type Description
ID Guid The unique ID of this tender line. This is not the same as ILineItem.LineId since this is ID is not tied to the position of this line within the transaction. This is not saved to the database and is only used at runtime to uniquely identify the line

The purpose of this field is to be able to store a direct link to a line item on the transaction that does not change when items are moved around on the sale (e.g. when a linked item or component is dynamically added to a sale line which causes the Line IDs to shift).

Partner requests

Issue number Support issue Description
ONE-10906   Moved calculation code for change back amounts to the CalculationService.
ONE-9967 LSTS-6633 Moved the code for cash-back to the TransactionService.ConcludeTransaction method so it can be customized for fiscal requirements.
ONE-12667 LSTS-11954 Fixed an issue where Mix & Match discounts were applying incorrect discount amounts when returning items
ONE-12847 LSTS-12349 Fixed an issue where the POS would show an error message when selling an item with infocodes and must key in quantity set, after cancelling the infocode.
ONE-12474 LSTS-10780, LSTS-11163 A bug has been fixed in LS One POS where weight was not read for certain scales.
ONE-12495 LSTS-10167 Fixed a bug where table designs were not updated when fields were modified or deleted.
ONE-12562 LSTS-11547 Fixed a bug where payment method rounding settings were not correctly mapped by the rounding service.
ONE-12681 LSTS-12061 Fixed an issue causing the POS to crash when logging in with a user which has the password changed on the head office database.
ONE-12723 LSTS-12174 Fixed a bug fur Russian localizations where 0 price items could not be sold because of an issue with the decimal seaparator.
ONE-12601 LSTS-12174, LSTS-10966 Fixed an issue causing a price override infocode to trigger when selling an item with price 0 and zero price valid.
ONE-11355 LSTS-9219, LSTS-9533 Fixed an issue causing an error message when selling an item with price 0, zero price valid and must not key in new price set.