LS Central Archives -

Category Archives: LS Central

Creating Sales Order/Sales Quote from POS in LS Central

Introduction LS Central allows us to create a Sales Order or Sales Quote directly from POS. I will be demonstrating the same below in this blog. Pre-requisites LS Central v16+ Business Central OnPrem/OnCloud References Suspend Type, Sales Type (lsretail.com) Configuration Search for “Sales Type” in Business Central  Create a new record titled “SALES ORDER”  in it. Make sure to set the Suspend Type to Sales Order/Sales Quote as required. I am setting it to Sales Order for this example.  Log In to your POS with a POS Super User account and Right click on a button and go to button properties, I’m using the default “SUSPEND” button for example here.  Set the command to “SUSPEND” and the parameter to the “Sales Order” record you created a few moments ago.  Once this is done, create a new Transaction with a Customer and then click on the button. In the confirmation box, click on Yes.  If you check in Business Central now, you can see that a new Sales Order has been created.  You can also see the same from POS itself if you click on the “Sales Order” button that we created just now.  Conclusion: Thus we saw how to create a Sales Order/Sales Quote directly from POS. Happy Coding!

Share Story :

Blocking Items in LS Central from POS

Introduction LS Central has its own unique way of preventing Items from being sold which is different from the standard “Blocked” option field we get on the Item Card. It also comes with detailed and refined permissions which can fit most business needs. All of this is done using another related table known as “Item Status.” Pre-requisites: Business Central OnCloud/OnPrem LS Central v16 References: Item Status (lsretail.com) How to Block Items From Sale at the POS (navisiontech.com) Configuration Open the Item Card for the Item you want to block.  Open the “Item Status” for that Item.  Click on the “Status Code” and Click on “Select from full list.”  Create a new record with code “BLOCKED” and enable all the fields. Here, you can see all the detailed controls available.  Conclusion: Thus, we saw how we can Block Items on POS in LS Central and other finer controls available at our disposal in LS Central.

Share Story :

Configuring NAS in LS Central for automating Data Director jobs

Introduction LS Central Scheduler Jobs are used for automatic background processing. These jobs use the NAS Service under the hood. We are going to see how to configure the NAS Service for LS Central. References https://help.lscentral.lsretail.com/Content/LS-Insight/Setup/LS-Central-In-Cloud-LS-Insight-In-Azure/3-Machine-Or-VM.htm Pre-requisites LS Central v16.4 – OnPrem Data Director Configuration Create a new Server Instance and name it appropriately.  Ensure that the account for this new Server Instance is set to User and the User has Administrator privileges.  In the General tab, update the “Service Default Company” and “Service Default Time Zone.” In the NAS Services tab, set the following fields: Run NAS Services with Admin Rights: True Startup Argument: NASID,TYPEFILTER=,LOG=1,REPEAT=1 Startup Codeunit: 99001468 Startup Method: LSRSCHEDULER Restart the Server Instance. Open the Scheduler Setup in LS Central and set the “Enable NAS Scheduler” to true.  Refresh the page. Conclusion: Thus we saw how to configure NAS Services in LS Central. Happy Coding!

Share Story :

Using Scheduled Jobs to Update POS Search Buffer

Introduction: POS Search Buffer is used to display the Items in the main POS Search Drop Down. The configuration for automatically updating the POS Search Buffer is located in the POS Functionality Profile, but it is limited in nature, only 2 options exist on the POS Functionality Profile, one which defines whether the buffer should be updated automatically and the other defines the frequency in which it should be updated. We’ve faced some issues with this process running automatically such the Buffer not being updated as such we had to look for a work-around using Scheduled Jobs. Pre-requisites: LS Central Business Central OnPrem or OnCloud References: How to: Control When to Update Search Index and POS Buffer (lsretail.com) Configuration: Create a new scheduled job with an appropriate name and description. In the Object Setup, define the “Object Type” as Codeunit and “Object ID” as 10000749, set the “Code” field as INDEX. Also ensure that the “Uses Scheduler Job Record” is set to true. In the Schedule Details configure the frequency in which you want to run the job. In the below screenshot the job is defined to run Every 10 seconds from 27-01-2022 starting from 10:14:00. Click on Run Now to test whether the job is working as expected. Conclusion: Thus we saw how we can use Scheduled Jobs to update the POS Search Buffer in the event that the standard automatic updating of POS Search Buffer isn’t working as expected. Happy Coding! Extra: The reason we set the “Code” to INDEX and “Uses Scheduler Job Record” is set to true is because in the Source Code of the Codeunit that we are trying to run we can see that the TableNo is defined as Scheduler Job Header which is a reference to the “Uses Scheduler Job Record” field and we can see that it uses the “Code” field to compare which action is to be performed. For instance if instead of INDEX we set it to UPDATE then the processing of the POS Search Buffer would happen based on Actions instead of all the records being re-index as happens when we set the “Code” to “INDEX”, we can also see that we can specify which table we want to Index by setting the table name in the “Text” field. 

Share Story :

ScanPayGo by LS Retail

The current Retail process supported by LS Central is simply for the customers to collect the items and bring them to the POS for completing the transaction. LS Retail aims to change this process with the introduction of their new product ScanPayGo. Using this app customers will be able to select the items to be purchased directly from within the app or by scanning the barcode on the item, manage or share multiple shopping lists , pay directly from within the app or pay at the POS by simply scanning one QR code instead of all the items as was done previously. It also allows paying using loyalty points if sufficient points are available. As a security feature the app has random checks in which after a transaction the customer has to confirm with a Staff member to verify the purchased items. It maintains a purchase history so that repeated transactions need not be scanned repeatedly. It help customers find the closest Store by providing a list of all the available Store ordered by the closest Store. It also displays the current available offers in the Store. All of which adds on to the seamless retail experience with minimal interaction. Retailers can customize the color scheme and logo of the app however they wish. Retailers can also offer personalized ads to Users using ScanPayGo! This application is going to be available for both Android and iOS.

Share Story :

Configuring Barcodes on POS Receipts

Introduction: Refunding a transaction is an everyday occurrence in Retail. LS Central provides us with the functionality to initiate the refund of a transaction by simply scanning one barcode! In this blog, we will be looking at how to configure this feature. References: https://help.lsnav100.lsretail.com/Content/LS%20Retail/POS/Hardware/Printing%20Receipt%20Barcodes.htm Pre-requisites: Microsoft Dynamics 365 Business Central LS Central Configuration: From Business Central, open the POS Terminal for the current Store. In the “Printing” tab, Set the “Receipt Barcode” ID to 101. Set the “Print Receipt BC Type” to “CODE39” or “CODE128_A”. You can optionally adjust the Barcode Height and Width but depending upon the POS Printer it may or may not be scannable as the resolution of the barcode suffers. The default parameters which are applied if you leave the fields to 0 are width – 8 and height 40. Set the “Receipt Barcode” to true. Once this is done, simply run the POS and generate a Receipt. When the Barcode at the bottom of the Receipt is scanned it should directly take the User to the refund screen of the POS. For instance, this is how it looks on the Virtual Printer: While, this is how it looks when using a real printer. Conclusion: Thus, in this blog we saw how to configure Barcodes on POS Receipt. Thanks for reading!

Share Story :

Using Web Content on POS

Introduction LS Central allows us to use HTML content on the POS which includes both Text and Images. Users can add extra information related to the Items here which can assist in the POS Users to make the sales much more efficiently. In this blog, I’ll be demonstrating how to configure the same. References https://help.lscentral.lsretail.com/Content/Fields/T_10001411.htm Pre-requisites Microsoft Dynamics 365 Business Central LS Central Configuration Open Business Central and search for POS Terminals. Open the POS Terminal for the current Store and set the “Item HTML” and “Item Image” property to true. Search for Retail Items and open the Item you want to add description and image for. Open the Item Card and Go to Navigate -> Master Data -> Item HTML. Here you can specify the description for the Item that you want to be displayed on the POS and click on Save. For instance: After that go to Navigate -> Master Data -> Images and click on New. Click on Import and select the Image of that Item and then Click on OK. Go to POS and search for the Item. Double Click on the description of that Item to see the Image and the HTML Content. You can even embed Videos if required! Conclusion: Thus, in this blog we saw how we can utilize HTML content on POS. As an additional side note I’d like to mention even using Javascript is possible, to a certain extent, so for those who are curious you can even create basic games for it. Thanks for reading!

Share Story :

Customizing POS Receipt Layout

Introduction POS Receipts are generated after every transaction that occurs on POS. The default receipt provided by LS Central is generally sufficient but as is in all things there are always exceptions. There are two approaches we can use to modify the POS Receipts and we are going to see them both. This is the default receipt provided by LS. I have marked division of sections using color. Red – Header Green – Body Blue – Footer References https://www.archerpoint.com/blog/Posts/learn-how-set-pos-receipt-enhancements-ls-retail https://help.lscentral.lsretail.com/Content/How-Tos-Created-By-Support/How-To-Set-Up-Receipts-LS-Central.htm Pre-requisites Microsoft Dynamics 365 Business Central LS Central Development Environment Setup for Business Central Configuration Using Receipt Printing from POS Terminal / Store Card We can add text directly into the Header or the Footer of the POS Receipts and also define some basic properties like bold, italic or wide for the text. It can be defined at POS Level or Store Level i.e. for individual POS Terminals or for all the POS Terminals in a Store. Go to POS Terminal Card. Go to Printing -> Receipt Printing Here you add static content, like Store Name, GST/VAT No, Store Address, etc in both header and footer. Here you can also define, if you want to specify the Item No. or Barcode in the POS Receipt. Similar, to this, we can also define for Store level, i.e. all the POS Terminals in a Store. Using the “POS Print Utility” procedure: In this method, we will write actual code to modify the receipt. If you are using NAV, then this is pretty straight forward, but in case of Business Central, we only have access to Events which we can subscribe to, to change the behaviour of the procedure. The highlighted four procedures do the majority of the work done in printing. PrintHeader -> Prints the content of the header defined in the Receipt Printing. PrintSubHeader: It prints the Information related to the current Transaction. PrintSalesInfo: It prints the actual Items of the Transaction along with VAT and other details at the bottom. PrintFooter: It prints the Footer Text defined in the Receipt Printing. Now that we know which procedure is responsible for which part of the Receipt, we can subscribe to that procedure’s event. For example, let’s try me modify the “Sub Header” part of the Receipt. As such we need to modify the “PrintSubHeader” procedure, so we subscribe to its event. The parameter, sender gives us a reference to the current instance of “POS Print Utility” codeunit which we can use to call all the procedures of that codeunit with the correct values. TransactionHeader is the current “Transaction Header” record. At the start of the procedure, we need to set the IsHandled variable to True so that once your procedure ends, the parent “PrintSubHeader” procedure exits immediately. DSTR – It is the design String, here we define the design of the Line that will be printed. It is at max up to 40 characters. It follows the pattern “#(alignment)##…”. The Design String is divided into sections, each section contains one piece of data. Value – It is a text array, which defines the data which is to be printed in the sections. The number of values set in the Value should be equal to the sections in the design string. Node – It is used as a Label for the data in the section. The number of values in this array should be the same as the values in Value array. Next, the essential part is the “FormatStr” procedure, the 4 booleans at the end are used to specify whether the String is going to be Wide, Bold, High or Italic respectively. After this, the final piece of the puzzle is the “AddPrintLine” procedure, the first argument is the “Section ID”, it is related to which part of the receipt we are printing in, it is better to set it the same as the procedure from which this event is being triggered. Next argument, specifies the maximum number of Sections that will be in the design string, just make sure it is more than the values you have provided. Next, we pass the Node and Value array, the Design String and specify whether the String is going to be Wide, Bold, High or Italic and the Tray at the end. The value for Tray can be taken directly from the Event’s parameters. Similar to this, we will add one more line and then we will check the results. The “PrintSeperator” procedure is used to draw a horizontal line across the receipt using dashes. Here is the final result: Conclusion: Thus we saw how to customize POS Receipts in LS Central either through POS/Store Receipt Printing or for advanced customizations through Event subscriptions.

Share Story :

Configuring Scheduled Jobs – Part II

Introduction: In the previous Blog, we saw how to configure the Schedule Job Header, this time we will configure the Sub-jobs. In Sub-jobs, we can define the Table structures to be followed, Tables the Data is supposed to be sent to, filters, replication counter fields and so on. References: Repl. Counter Interval, Scheduler Subjob (lsretail.com) From-Location Design, Scheduler Subjob (lsretail.com) Replication Method, Scheduler Subjob (lsretail.com) http://www.apanko.ru/showthread.php?t=3517 Pre-requisites: Microsoft Dynamics 365 Business Central LS Central Configuration: General:- ID:- Unique Identifier for the Sub-job. From-Location Design/To-Location Design:- These fields specify the structure of the tables. If the table structures are same in both sending and receiving locations, then you do not need to set this field. From-Table ID/To Table ID:- These fields specify the IDs of the tables. In most cases, these will be same only exception would be when you want to send data to custom Tables from BC/LS Tables. Replication Method:- It has two options- Normal :- In this method the entire table is transferred but as this is an expensive operation and unsustainable if the data in the table is growing constantly, there is another field “Replication Counter” which resides on the table which is to be transferred, it must be an integer field and every operation which modifies/inserts a record in the table, this replication counter field must be updated. Majority of tables provided by LS have a “Replication Counter” field in them. By Actions:- Every operation we perform on every table is logged into a “Preactions” table by LS. Then these Preactions are converted into “Actions” which are then used to transfer data. Field Transfer Type:- It specifies how to handle the fields of the table. It has three options- All:- All the fields from the “From Table” are transferred in the “To Table”. Include List:- Only the fields specified are transferred. Exclude:- All field except the ones specified are transferred. What to do:- It specifies the operations the transfer can perform. There are the basic operations Add, Update & Delete and then building on them there are combinations of these operations.Note:- Please use the delete operations carefully as it may cause unintended data deletion. For most uses, Update-Add is sufficient. Replication:– Action Table ID:- This field is automatically updated when “Replication Method” is set to “By Actions.” Move Actions:- Specifies whether “Actions” should be transferred along with Data. Use Truncate:- When using “Normal” replication method, if this is set to true, then the destination table is cleared and then new data is inserted in it from the source table. If you are using “Update-Add-Delete” as “What to do” then this is more efficient. Replication Counter:- Specifies which “Integer” field is to be used as the “Replication Counter.” Repl. Counter Interval:- If this value is set then the data to be transferred is divided into blocks. The size of the block is as defined in the field.For instance, as per the replication counter, 1000 records are to be transferred. But since sending a huge amount of data at once may burden the replicator we can specify the “Repl. Counter Interval” at 100, after which the “Sub-job” will run 10 times, replicating 100 records at a time. Update Repl. Counter:- Specifies whether the “Replication Counter” field in the destination table should be updated or not. Mark Sent Records:- In this field we can set a boolean field of the “Source Table” which will automatically be set to true, when the record is set. Please do note that none of the fields mentioned in the “Replication” tab are compulsory but creating a sub-job without using the available replication options may become slower and network intensive as entire tables are transferred. Transfer Field List: Go to Navigate > Sub-job > Transfer Field List Here we specify the field mapping between the source and destination tables. It also allows for some degree of Conversion in transferring, for instance, Set “Conversion Type” to “Constant” and set a value in the “Conversion String” field, then after transferring, the value specified in the “Conversion String” is set on all the records in the specified field. Make sure the field is of type “Text” or “Code” before using this. Another practical example would be, When transferring “User” table, if we simply send the password directly then the proper values are not transferred. This can be resolved by using “Skip Text Conv.” on the “Password” field before transferring. From-Table Filters: Go to Navigate > Sub-job > From-Table Filters Here we can specify filters to be applied to the source table. Linked Tables: Go to Navigate > Linked Data > Linked Tables Here we can specify data from which other tables has to be pulled along the main table, in the above example, as the sub-job is using data from “Customer” table, we have defined that along with that we also want data from “Customer Ledger Entry” table. We can also define field mapping for these tables by going to Navigate > Linked Table> Field List. To define the link and/or filters on this table, go to Navigate > Linked Table > Filters and Links. Conclusion: Thus, we saw how to configure Sub-jobs and a brief overview of the features it offers. Thanks for reading!

Share Story :

Using POS Tags in LS Central

Introduction: Tags are small pieces of Information that we can display on the POS. This information may be a field from a table or just some text. If we are using a field from some table, it is necessary that, the table can be referenced using only the fields available in the current “POS Transaction” record. There are multiple types of Tags available like: System :- These tags display system information. Transaction :- These Tags display information regarding the current Transaction. Session:- These Tags display information regarding the current Session. References: https://help.lscentral.lsretail.com/Content/LS%20Retail/POS/Data/Tags.htm Prerequisite: Microsoft Dynamics 365 Business Central LS Central Demonstration: In most cases, we are going to use “Transaction” type Tags so let take an example. In this example, we are going to create a Tag which will display the manager of the Store. To create a Tag: Search for POS Tag in BC Create a new POS Tag, by convention the naming is <#TagName> so we are going to follow the same. Since the data we need is from the “Store” table we set the “Store” table’s ID in the “Table No.” field  and as we need the “Manager Name” from the “Store” record, we set the “Field No.” accordingly. In the “POS Trans. Key Field” we specify which field will be used to reference the table mentioned in the “Table No.” field which, in our case, is Store. This list of fields is from the “POS Transaction” table. In the “Expression” we can specify how the data should be presented, %1 is substituted for the data. On the POS, we can use this Tag in the “Description” field of any and all Menu Lines, for example, we can use this as the name of a button, thus the button will change depending on which Store it is being used on.  In this example, I am going to set it on “Manager” button on POS. Right Click on the “Manager” button and click on “Button Properties.“ Click on the three dots and choose the “Tag” that we just created and click on OK. Click on OK again so that the “Button Properties” page closes. The button now shows the “Manager Name” field of the Store, in the expression that we provided. Conclusion: Thus, we saw how to configure and use “Tags” in POS, in LS Central. Thanks for reading!

Share Story :

SEARCH BLOGS:

[gravityform id="36" ajax="true"]

FOLLOW CLOUDFRONTS BLOG :