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.