Development changes and improvements

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.
Caching and temporary database connections
When working on an issue that in some cases caused errors when a line discount was added in the POS (ONE-9970), it was found that the caching mechanism in LS One is vulnerable when a "temporary connection" is created and used in the POS functionality. In the standard functionality this is done in TransactionService -> ConcludeTransaction (line 211). The change that was done is done in line 264 where the data connection associated with the cache is reset to be the "normal" database connection.
Any time a customization requires a temporary connection to be created, resetting the database connection in the cache this way needs to be done as well
Tender restrictions
A transaction parameter was added to TenderService -> IsTenderAllowed to allow for better customization of tender restrictions. (ONE-9966, LSTS-6634)
The function IsTenderAllowed now also has the current transaction as a parameter. This does not affect the standard functionality of this function but was added to assist with any customizations needed when doing calculations for tender restrictions.
HTML panel
A new type of panel is now available for POS layouts that can display custom information using HTML styling.
Development documentation about HtmlInformationalPanel is available here.
Inventory improvements
Creation and processing of inventory documents has been improved by moving the logic into stored procedures.
Stored procedures handling inventory are prefixed with spINVENTORY.
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 2019.1

When the database is updated through the DatabaseUtil.dll the POSISINFO table is now also marked with the date and time when the update occurred.
Here below are examples of some of the changes done but by no means all the database changes:
- Added information about windows printing. New table WINDOWSPRINTERCONFIGURATION and marked WINPRINT_ columns in POSHARDWAREPROFILE as obsolete.
- Added column XMLDATA to the table OMNIJOURNAL. This replaces the need for the table OMNIJOURNALLINES since all lines for a journal are now seralized and put into the XMLDATA column.
- Various improvements have been made to inventory stored procedures. Please refer to the diff report for the file 00008-Inventory Stored Procs.sql for more details.
See chapter Transaction table changes for changes done to the transaction tables
Transaction table changes
Here below is a list of all changes done to the transaction tables. In some cases the description references a more detailed description of the changed functionality.
Functionality | Description |
---|---|
Email receipts |
RBOTRANSACTIONTABLE - Added column ISEMAILRECEIPT. This column is set to true if this receipt was generated using the email profile and is meant to be sent via email. |
Payment limitations |
New columns have been added t RBOTRANSACTIONSALESTRANS to store information about the splitting of lines. LIMITATIONSPLITPARENTLINEID -The parent line ID that this line item was created from. This happens when a line item is partially paid with a limited payment and the remaining amount of the item is split into anoter line. LIMITATIONSPLITCHILDLINEID -The line ID of the child item that was split away from this line. This happens when a line item is partially paid with a limited payment and the remaining amount of the item is split into anoter line. |
Fiscalizations |
New columns have been added to RBOTRANSACTIONFISCALTRANS so that partners can store more information when doing fiscalizations. TRANSDATE - Date of the transaction. GROSSAMOUNT - Total gross amount of the transaction. NETAMOUNT - Total net amount of the transaction. PRIVATEKEYVER - Private certificate version used to hash the transaction, if applicable. SIGNATURE - Hashed signature of the transaction. |
Other improvements
Issue number | Support issue | Description |
---|---|---|
ONE-9033 | LSTS-4261 | Size of field RboTransaction.OrgTransTerminal increased to be 20 characters to accommodate larger terminald ID's |
ONE-10023 | LSTS-6809 | Fixed an issue causing the OnPayment delegate to not always trigger when paying in the POS. |
ONE-10449 | LSTS-7286 | Add functionality to the OperationInfo to allow customizations to run operations on any item. See more information in the development notes. |
ONE-9644 | Fixed a typo in the name of GetDistictRetailItemsForVendor method. | |
ONE-9641 |
Marked GetVendorItemByItemID and GetVendorItemByUnitID as obsolete. GetVendorItem should now be used with the appropriate overload. | |
ONE-9304 |
Casting a null RecordIdentifier to non-nullable types now throws ArgumentNullException. |
|
ONE-9645 | Marked GetInventoryWorksheetLineEffectiveInventoryForItem as obsolete. Use GetEffectiveInventoryForItem instead. | |
ONE-9253 | DevUtilities.dll has been removed from LSOne applications. | |
ONE-8289 | A new plugin has been added to the Site Manager for the Pharmacy functionality. No new functionality was added but all pharmacy tabs and function calls were moved to this plugin to isolate the functionality for easier customization | |
ONE-9266 | Script "00005-POS Stored Procs.sql" in the database utility was reviewed and stored procedures that are not used any more were removed | |
ONE-9939 | Barcode receipt customization is now available in the Barcode Service | |
ONE-7192 | Added documentation to the development on how to use the Log Transaction (see "How to use the Log Transaction" topic in development help) | |
ONE-10208 | User is now prevented from printing receipt copies if the Fiscal service does not allow it | |
ONE-10375 | When creating inventory documents from templates (stock counting journal, transfer orders, transfer requests) with no item filtering no item will be added to the inventory documents | |
ONE-10723 | Fixed an issue causing new triggers for a job to not be loaded by the scheduler. | |
ONE-10756 | Added the script for creating the stored procedure sp_Dimdate that will be used by the Power BI templates | |
ONE-10362 |
It is now possible to create purchase orders and store transfers from an inventory template New column (TEMPLATEID) added to INVENTORYTRANSFERREQUEST, INVENTORYTRANSFERORDER, PURCHASEORDERS tables |
|
ONE-10382 | A data replication issue was solved where the replication counter was missing for table RBOTRANSACTIONFISCALLOG in the LS One database, which caused extra data load when replicating transactions. |