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. |