Keystroke POS Go to the Keystroke POS Home Page Keystroke POS

Keystroke POS Version 6 Read Me

** CURRENT VERSION = 6.21 - Build 18

Thank you for using Keystroke Point of Sale.

This file contains a listing of changes made to the Keystroke POS v6.20 program and its modules made since the release of Build 20 on 08/01/07.

- Lines beginning with a hyphen are bug fixes for recently introduced errors.

****** Most Recent Changes *******

** 7/14/08 - v6.21 Build 18

- OUT OF MEMORY ERROR - From v6.20 - After running Keystroke for a long time the program would start to run slowly and would eventually generate either an error 7 - out of memory and/or an error 480. The problem was caused by the way the title bars on the individual windows was being drawn when using an XP display theme (rounded/shaded title bars). A workaround is available by using the command line switch BorderStyle0, or adding BorderStyle=Classic to the WS.INI file.

- COMMAND LINE SWITCHES - the following command line switches were not working when the "=" was included on the end of them: BorderStyle=, ToolBarsFile=, MacroBars=, TitleAlignment=, and TitleBold=. A workaround is to just leave the equal sign off (e.g. BorderStyle0). Note that this is only on the command line, they were working correctly when used in an .INI file.

- MACROS - PAUSE Command - the list of available functions showed the Pause command as using milliseconds but it uses seconds (documentation error only). Fractions of a second can be entered by using a decimal point (e.g., 0.5 for half a second).

- TRN - Taxable Shipping - Sales Tax on the shipping field was being doubled. This only happened if the Shipping Field is used (not shipping as a line item) and then only if that amount was taxable.

- TRN - Customer History - if a customer's history was set to load line items and the customer had exactly 63 line items in the history period, then the program would sometime generate an error.


** 7/03/08 - v6.21 Build 17

- DBM - Inventory - Menus - the "Search & Update Price..." function on the "Find" menu was sometimes being hidden.

- MACROS - ToolBarOn/ToolBarOff commands were not displaying until the screen was resized (from build 16).

- TOOLBARS - If a toolbar loaded another toolbar on top of it, the program was sometimes repeating the original button press since it was not recognizing that the button was no longer visible.


** 6/30/08 - v6.21 Build 16

CLOSEOUT - Date Range - The [Shift+F8] key will now add one day to the starting date if the initial time was after 6pm. For example, if the date range is 06/24/08 10:00pm through 06/25/08 8:00pm, pressing [Shift+F8] will change it to 06/25/08 0:00am through 06/25/08 11:59pm.

TOOLBARS/MACROS - Added the command "ToolBarOnTop=". This should be used instead of ToolBarOn= or ToolBarOff= when more than one toolbar covers the same area of the screen and you want to display one or the other. Using this command allows the program to preload both toolbars so it can then quickly switch back and forth between them without have to recalculate/display the entire screen.


** 6/24/08 - v6.21 Build 15

TILL TRACKING - The Till Tracking feature (Multiple Drawers on a single machine) is now available with single user version of Keystroke POS (use to require at least 1 addition user license in order to be able to activate it).


** 6/20/08 - v6.21 Build 14

PRINTSAL - Added support for the Display=0 parameter (also NoDisplay=1).

REMDUPES.EXE - Added support for the command line switch "Start=". If used, the default date will come from this switch, if it is not used, then the program will use "-1M" for 1 month ago.

TRN/POR - Increased the number of characters that can be displayed in the Amount column to 10 (was 9).

VAR - Import - Added a line to the message at the end to show if any of the imported items were not found (which may be due to items being hidden).

REPORTS - Formulas/Filters - Added the ability to use quote marks to tell the program that the characters enclosed in the quotes should be treated as text and not a numeric formula. For example, if searching for a product code of 100-65, enter [Product Code]="100-65", otherwise (and in previous releases), the program will interpret 100-65 as a formula and will search for product codes that match the result (which is 35).

- TRN - If a shipping amount was entered on a transaction type while in Order/Shipped mode (e.g. a Sales Order), then the shipping amount was not being cleared and would show up on the next transaction as well (from build 12).

- REPORTS - Formulas/Filters - Text fields were not always being interpreted as text, so when using a field like Product Code where it was 100-65, the program would interpret this as a formula and use the resulting number (35) instead of the original text (100-65).

- AR - Statements - The Total Balance Due field was not including Credit Memos.

- RECORD LIST BOXES - The Show/Hide button (for hidden records) was not working correctly. (It was displaying the view info function for the selected item instead (from build 12).)


** 6/02/08 - v6.21 Build 13

- CLERK LOGIN - Changed the password entry screen to only accept 16 characters to match the size of the clerk's password field.

- CNF - Parameters - the lookup ascii character for the Paragraph Symbol field was not working.

- MERCURY/PCCHARGE (EBT) - FoodStamp payment types with Change set to None (no overpay) were sending the payment request as all Cash Back and 0.00 as the purchase amount. Workaround is to set the Change setting on the payment type to allow change to be given. From v6.20 build 49.

- RECORD LIST BOXES - The Show/Hide Hidden records button was not working correctly and would display the view info function for the selected item instead (from build 12)


** 5/27/08 - v6.21 Build 12

CNF - Hardware - Customer Display/Security Feed - added support for Direct to Windows Printer and USB:HID as ports to send the data to.

CNF - Hardware - Security Feed - added support for OPOS as a port to send the data to.

CNF/TRN - Tax Tables - Added a "Pay w/ FoodStamp" parameter to Tax Formulas. If turned on, then the tax generated by this formula will be eligible to be paid for with a a Food Stamp payment type. This is mainly used when a bottle deposit is set up as a tax district and that deposit can be paid with Food Stamps. Note that tax formulas based on Qty always generate a tax on paid with a Food Stamp payment while tax formulas based on an amount do not.

SELECT CUSTOMER - Changed the column widths so more of the Address column can be seen.

- IMP.EXE /? - was running the export command after displaying the help screen (DOC\IMP.DOC) instead of quitting the program.

- TRN/AR - Pin Pads - the Derived Unique Key returned by some Pin Pads was 20 characters long, Keystroke will now use the right most 16 characters instead of all 20.

- TRANSACTION FILES - If the more than 999 transaction files have been used the program was sometimes not recognizing when a file that followed another file based on its name was not actually the next file in the sequence base on its date range. This problem would mainly only occur during conversion from a previous version.

- Record List Boxes - Show/Hidden function - changed the key to switch between Show Hidden and Hide Hidden modes from [Ctrl+F2] to [Ctrl+Shift+F2] since [Ctrl+F2] was already in use for the Show Info function. (All previous entries in the readme files have been changed to show [Ctrl+Shift+F2] to be the key for this function).

- Record List Boxes - Transactions - Show/Hidden function - removed it from list boxes showing transactions since transactions cannot be "hidden".

- TRN - Shipping Calculation on Orders - The program was always calculating the shipping charge based on the Order amount. It now calculates a separate charge based on items shipped and will use that when creating an invoice.


** 5/02/08 - v6.21 Build 11

DATENAME.EXE - Changed the characters used for duplicate file names to only use the alphabetic letters (just A-Z). Once "-A" is used, it will then go to "AA" then "AB" etc.

- IMPORTER - Contacts - the special City+State[+Zip] field on Contacts was importing into the EMail, Phone and Fax fields instead of City, State, Zip.

- TRN - EBT Payments with Verifone 1000se pin pad - The program was not allowing manually entered EBT card numbers to work with this pin pad.


** 4/25/08 - v6.21 Build 10

CNF - Payments - Added the parameter "Always Mask Ref/ExpDate". If this is on, then the program will not show Ref/ExpDate information in its unmasked form (this includes the screen, reports, and export functions). This should be turned on for all payment types that are required to meet the credit card industry's data storage standards. This parameter is stored with the payment as it is saved (changing the parameter will not affect payments that have already been saved).

TRN/AR/KRF - Added support for "Always Mask Payment". If on, then even the "UnMasked" fields available on some forms/reports/displays will still be masked.

TRN - Payments - if editing a payment that has already been saved, and the "Always Mask" payment flag is on, and it has not been purged yet, then the Reference and ExpDate fields will always use block characters (same as if clerk doesn't meet the Display Ref (Edit) security level).

TRN/AR - Payments saved with the "Always Mask" parameter turned on use an additional layer of encryption on the Reference and ExpDate fields. This is so if somebody hacks into the data and turns off this parameter on the payment, the reference expiration date fields will still not be displayed since they will then fail the decryption process.

CNF - Payments - Added the parameter "Purge Ref/ExpDate Immediately". If this is on, then the Reference and Expiration Date fields will be saved as a masked field (the same as they are displayed on the screen). This is similar to the "Always Mask" parameter except that it is permanent. The full data is never saved so there is no way to get it back. The purpose of this is to reduce the possible liability of storing a customer's credit card information. The downside is that once saved, the payments on a transaction cannot be removed using a "void" process but will use a "credit" process instead. The difference between the two is the "void" process usually eliminates any processing fees while with the "credit" process, the fees are normally still charged (sometimes for both the "sale" and the "credit"). But the security of knowing the data is safe since it was never saved may be worth these extra charges. Also, note that the "void" method only works with payments in the current batch anyway, so the possible extra charges for turning this parameter on only apply to sales that are voided/returned on the same day as the orginal sale.

TRN/AR/IMPTRN/IMPPOR - Added support for the Purge Immediately parameter when saving payments. If turned on, then the reference and exp date fields will be saved the same way they are displayed.

CNF/TRN - Sales Transaction Types - Save parameters - Added a "Ignore Purge Immediately" parameter. If this is on, then the "Purge Immediately" parameter on payments is ignored when this transaction type is saved. This is intended to be used by Recurring transaction types where the credit card number needs to be retained for future transactions.

CNF - Parameters - Passwords - Added the parameter "Case Sensitive". If this is on, then the Upper/Lower case of the letters entered in a password entry box must match the password. If this parameter is Off (which is the default and has been in all previous versions) then whether the letters entered in upper or lower case does not matter.

- ASC2INI - The Exp Date field was cutting off the year if a slash "/" was used in the date and only a 2 digit year was used.

- IMPALTIC - Was not working with the Customer or Vendor databases.

- MACROS - SendKeys= - if the last key sent used a Shift key modifier ("+") then the program would sometimes clear the list box that the macro was trying to display. For example: SendKeys=+{F5} would display the Quantity Lookup list but would then immediately close it.

- TRN - the "Warn If Existing Transaction" was not working on transaction types that were being stored in the standard transaction data files.


** 4/03/08 - v6.20 Build 50

CNF - COM Ports - Baud Rate - Increased the size of the baud rate field to 6 digits so the supported rates of 115200, 128000, and 256000 can be entered.

- AR - Statements - If the "Recently Closed Invoices" parameter was turned on, the program was including invoices that came after the specified billing period if they were paid with ROA payments that were also past the specified billing period. (i.e. "Recently Closed Invoices" was including future invoices that were paid with future payments).


** 4/01/08 - v6.20 Build 49 - not released

EXTRACT/STOREMRG - Added support for the DISPLAY= switch to turn off the display of the program while it is running. (/NODISPLAY is still supported for backward compatibility. Do not use both switches).

IMPALTIC - Added support for the switch "DBCODE=C" and "DBCODE=V" which will then cause the program to import Alternate Customer Codes or Alternate Vendor Codes. For customers and vendors, the /C switch (what to look up by) only supports "/CN" for Customer/Vendor Number and "/CC" and Customer/ Vendor Code.

KSL - Price Tags - Prompt for Qty - When printing by Sales/Purchases, the default Qty to print in the Prompt for Qty box is now the Line Item Qty instead of the QOH.

TRN - Dataport - Export - the program now writes to the file with the extension "KFT" first and then renames the file to the specified extension (usually "KFO") after it is finished writing to it. This will keep programs from trying to access the file before Keystroke is done writing to it.

TRN - EBT with Cash Back - Added the ability to give Cash Back when entering an EBT transaction type and processing through Mercury Payment Systems.

- KSR - If the Sales Transaction Types had less than 3 types enabled, then the following Sales reports would generate an error when going into the report settings box: Salesperson, Sales Tax by Tax Table, and Profit.

- TRN - Dataport - Export - the program no longer writes the "UnMasked" fields in the payment loop.


** 3/11/08 - v6.20 Build 48

DBLISTS.EXE (editor for the database Valid Entries lists) - Clicking on the title of a column will now sort the data by that column.

CNF - Security Levels - Added the security level "Show Hidden Records in Record List Boxes". If this is met, then the program will display the new "Show Hidden" button in the record list box and will support the use of it and the [Ctrl+F2] key to toggle whether or not hidden records are displayed. (the default value is 5 so most clerks will not be able to use this).

CNF/TRN - Price Formulas - Added "Based On" - "Current Price" (where Current Price is either Base Price or Sale Price depending on the On Sale flag).

CNF/TRN - TRANSACTION TYPES - Added the Save parameter "Recalc Shipping when Editing". If this is ON (it is OFF by default) then when editing a transaction that has already been saved, the program will recalculate the shipping amount as long as the shipping amount has not been manually changed and the transaction was never saved as a transaction type that had this parameter turned off.

LOGO - If the /NEWFILE switch is used, the program will not create the START PROGRAM audit entry since this switch should only be used if the last transaction file is having a problem and adding an audit entry to it may be impossible anyway.

RECORD LIST BOXES - SHOW HIDDEN - Added the ability to toggle whether or not hidden records are available in the record list box. In most cases, hidden records are not displayed, by pressing the [Ctrl+F2] key or the "Show Hidden" button, the record list can be set to show these items. When these items are being shown, [Ctrl+F2] or the "Hide Hidden" button can then be used to not display records marked as hidden.

WINDOWS PRINTERS - Added support for the setting "Landscape=" to the Windows Printer Driver files (".WPD"). If this is used and set to On, then the printer will be set to Landscape mode. If used and set to Off, then the printer will be set to Portrait mode. If not used, then the printer will use its default page orientation.

- GLLINK - Transaction Line items that had the "Price Includes Tax" parameter on were double posting the sales tax amount (was not being subtracted from the price when posting).

- MATRIX ITEMS - The Element Names field was not always showing the names of the items. This is an information only field and does not affect the actual data (from build 40).

- POR - Transaction Browse - The was not always working to break out of searching for a previous transaction.

- POR - Order/Recvd mode - Changed the labels of the totals fields from "Subtotal" to "Total" since the total is what the amounts are.

- POR - If View Cost security level was not met, the program was still displaying the Cost Totals instead of the List Price Totals at the bottom of the screen when in Order/Recvd mode.

- TRN - Receipts - If the "Save Before Printing" parameter was On, the program was not printing the correct amounts for "Customer Previous Balance" and "Customer Prev Total Purchased" when printing out a new transaction.

** 2/20/08 - v6.20 Build 47

MASKED FIELDS - TIME CLOCK - When in a field that is masked (characters are displayed as blocks instead of the actual characters) the program disables all function keys if the "Audit - Record All Keystrokes" parameter is turned on. It now leaves on the ability to use the Time Clock () function (note that since the auditing of "All Keystrokes" is suspended in this situation, the keys used in the time clock will not be audited).

- AUDITING - Build 46 was disabling all auditing features as soon as a masked field was used (e.g. entering a password).

- TRN - Parameters - Dataport - If any of the Import settings were turned on, then going into this function would turn on the "When Entering the Complete Sale Box - Export" parameter. This was only when entering the parameters, turning it off before saving would set it to off. (problem from Build 46)


** 2/13/08 - v6.20 Build 46

AR/FMTR - Statements - Added the body field "Invoice(extended amount)/ Payment Detail". This is the same as "Invoice/Payment Detail" except the line item price shows the extended amount (Qty times Price) instead of the individual price of each item.

DATAPORT - Added new Export/Import points for "Entering Payment Area" and "Payment Entered".

DBM - Inventory - Changed standard inventory screens to include the fields: Web Item, Closeout Item, User Flag 1, and User Flag 2.

IMPTRN/IMPPOR - Added support for the line item field QUANTITY= which will set both the Qty ordered as well as the Shipped Qty.

MASKED FIELDS - When in a field that is masked (characters are displayed as blocks instead of the actual character) the program was disabling all function keys. It now only does this if "Audit - Record All Keystrokes" is turned on.

TRN/CNF - PIN PADS - Added support for the Ingenico i3070. This device is run using OPOS drivers from Ingenico (similar to Ingenico's other devices). It is a serial only device (they do have a USB adapter for it but it is emulating a serial port and does not work as well). The device's OPOS drivers must first be installed and set up before using it with Keystroke (note that the drivers do not work with Windows 98).

TRN/FMTR - Invoice Forms - Added the field Total Qty Back Ordered for the summary section.

- EXTRACT - If extracting transactions that are stored in the their own alternate transaction file (like On Hold - KSTRHOLD.DAT), any transaction that was deleted would cause the program to extract all the deleted records that came after it. This would cause the merge file to be larger than it should have been.

- KSIOPORT - (used with Ingenico Signature Capture devices) - Error messages from this module were being displayed by the module itself which would cause the error message window to be behind the Keystroke window. This would make Keystroke appear to be locked up (it would be waiting for the clerk to acknowledge the error message but the error message would be hidden behind Keystroke). This module now sends most of its error messages back to Keystroke and then Keystroke will display them. This will keep the messages from being hidden.

- TRN/AR - Which One? on Customers - There was a 4 second delay before the Which One? list box would appear.
v - TRN - Payment Dates - While entering a new transaction, the program would set the payment's date to be the same as the transaction's date if the transaction had already been assigned a number (either by the Number/Date function or by entering a payment). The program now only does this when the date is changed through the Transaction Number/Date function. (The time of the payment is always the time it is entered.)

- DBM - Customers - Entering an "*" in a customer's Tax Table field was giving a code not found warning message (selecting from the list did not). This table code is valid and is used by the system to replace the code with the company's default tax table when entering sales.

- TRN - Contacts - Tax Table of "*" was not being converted to the company's default tax table.


** 1/28/08 - v6.20 Build 45

CNF - SECURITY LEVELS - Added the security level "Close Program". If a clerk does not meet this level, then the program will block the use of the standard Windows Close methods ([Alt+F4], clicking the X, etc.). A special case is to set this to 9999 which will allow the program to be closed even when on the "Enter Clerk" screen (when technically no clerk exists to meet the level). This functionality existed in previous versions but used the "DOS Shell Utility" security level (the new "Close Program" level will default to the same value as it).

- AR - PRINTING STATEMENTS - would sometimes give Error when printing a statement with more than one ROA payment on it.

- CNF - Parameters - Changed the name of "Record Lists Remember Position" to "Inventory Lists Remember Position" since it is only the Inventory Record list used from the enter line items screen that remembers the last selected item.

- DOLU - Was not allowing temporary license of Database Screens Editor.


** 1/22/08 - v6.20 Build 44

LOGO - Changed the wording on the "Help Us Help You" message which is displayed when the program has been licensed but not yet registered (evaluation mode does not display the message). Also, if the system was licensed more than 90 days ago, then the program will lock on the message for 5 second for every 30 days that it has not been licensed (maximum of 20 seconds).

IMPTRN/IMPPOR - Changed the licensing requirement to include the "Importer" module instead of just the "User Bundle".

WS.INI - Added the sound entries SoundItemNotFound= and SoundItemFound=. The default for both of these is blank (no sound).

TRN - Added support for the sound ItemNotFound when entering line items If this entry is left blank, then the program will continue to use the Warning Beeps that it has always used.

TRN - Added support for the sound ItemNotFound when entering customers If this entry is left blank, then the program will continue to use the BadKey sound that it has always used.

TRN - Added support for the sound ItemFound when entering Line Items. If this setting is left blank, then the program will continue to not make a sound when items are found.

- PROD.EXE - Was not working to Auto Produce. Was simply going to the Production Module in normal interactive mode.

- PROD.EXE - the /? (or /H) switches were not displaying the DOC\PROD.DOC file.

- STANDALONE UTILITIES - If the /NODISPLAY or NODISPLAY=1 switches were used, the program would generate an Error 11 as it was closing (it was trying to display the closing message when there were no Keystroke screens to display it on). {from Build 42}.

- TRN - ShowCustomerHistory Report - changed the Average figures to not include returns in the number of transactions part of the calculation. Also changed the Amount Due average to only include transactions with an amount due in the number of transactions part of the calculation.


** 1/15/08 - v6.20 Build 43

CNF - Tax Tables - if the tax rate is set to a "$" amount (instead of "%") then the Based On will now be either "Quantity" or "Per Line". Before the program would always base the tax on "Quantity" when the tax rate was a "$" amount no matter what "Based On" was set to. "Quantity" means the tax will be the Qty field times the tax rate, "Per Line" means the tax amount will be the tax rate no matter what the Qty is (as long as it is not 0).

CNF - Tax Tables - Minimum Purchase - Based On - added the selection "Price". This is the Unit Price of the item instead of the Extended Amount (which is what the standard "Line $ Amount" uses. For example, if the Minimum is $4.00 and you sell qty 10 of an item for $0.50 each, then if the Minimum Purchased Based On is set to "Price" the tax formula will not be used (if it is set to "Line $ Amount" it will).

CNF - Tax Tables - added the flag "Subtract Minimum Purchase Amount". If this is On (which it is by default), then the tax is only applied to the amount over the minimum purchase amount. For example if the Minimum is $4 and the line item amount is $10, the tax is calculated based on $6 (if the parameter is Off, then the tax would be calculated based on $10).

HEADER.EXE - Added support for the [Del] key to delete a file on the list.

TRN/POR/KSR/RPT - added support for the new tax formula parameters listed above.

TRN/POR - Customer/Vendor Comment - The display box for the Customer/Vendor comment can now be moved by dragging the title bar with the mouse.

TRN - Detail Box - Added totals fields for Customer History - Returns (Negative Invoices). The fields are: 145-Number of Return Transactions, 146-Net Total of Return Transactions, and 147-Net Profit of Return Transactions.

TRN/FMTR - Forms - Added the ability to print the "Food Stamp Total", "Food Stamp Total - Shipped", and "Amount Paid with Food Stamps" fields on Invoice/Receipt forms.

VAR - When using the Save button (to save an open variance to be worked on in the future) the program will now rename the original file (if one exists) to a .BAK extension. For example, if working on an open variance for register 1 that was saved before, saving it again will cause the file VAR1.DAT to be copied to VAR1.BAK before the new information is saved to it.

- IMP - Converting .KSI files to v6.0 - The Inventory Comment field number was not being moved to its new field position (78) and so would be set to import into the Web Item field.

- RECORD LIST BOX - Error 6 (overflow) - if a database record was displayed (either Edit or Query) that was stored past record number 32767 in the database file, then the program would sometimes give an error 6 (overflow) when leaving the list box.

- TRN - Detail Box - the Average Total, Average Profit, and Return Percentage fields were not being calculated correctly. The program now calculates this number by not including the negative transactions as part of the number of transactions (4 positive sales plus 1 negative sale will be treated as 4 sales instead of 5).


** 1/04/08 - v6.20 Build 42

TRN - Line Entry Parameters - Added the parameter "Lock On Item Not Found". If this is on, then when an item is entered but not found, the program will display the following message:
----------------------------------------
*** Scan was not Accepted ***
Press the Escape key ([Esc]) to continue.
----------------------------------------
At this point, only the [Esc] key will exit from the box. Then, if the clerk has the security to accept the item anyway, the Item Not Found box will appear next, otherwise, the program will return to the line item entry field.

TRN/FMTR - Invoice Form - Added the field "Payment Loop - Card Balance". This field will hold the balance on the account returned from payments processed through Mercury or PCCharge. However, this information is not returned by the processor for most types of cards and so will be blank (usually only EBT and Gift Cards return the Balance information). Also, this information is not stored, so it will not be available on transactions that have been brought up to be reprinted.

TRN - Show Customer History report - added totals and averages for each transaction type. No longer prints Amount Due of 0.00.

- VAR - MATRIX ITEMS - If a variance was Saved (instead of posted) and it contained matrix items. When the variance was reloaded from the saved file (done when reentering the Variance Module) then the Matrix Code on all the variance line items was being set to the first 4 characters of the Inventory Item's Product Code. Posting the variance would then not update the matrix items and would create an orphaned matrix item with this code. (This problem has existed since v6.11 was released). The orphaned items can be seen and deleted by using the Matrix Manager - Matrix - List By Matrix Code function.

- KSR - Closing Viewers - clicking on the X in the upper right corner of a report window (report printed to screen) would not always close the window the first time. Also, if more than one view was up, then this would also sometimes cause an error.

- TRN - Show Customer History report - was not printing multiple pages properly.


** 12/28/07 - v6.20 Build 41

CNF/TRN - Pin Pads / Signature Capture - Added support for the Ingenico 6550 Signature Capture / Pin Pad device. This device relies on the use of OPOS drivers that must be installed first (supplied by the manufacturer). Also, after installing the drivers, you must use the Windows Control Panel applet to correctly set up how the device is connected to the computer.

INGENICO - 6550 - Under the INGENICO\ subdirectory (below the Keystroke program directory) is a 6550\ subdirectory. In it is LOADFRMS.EXE which must be run to download then images used by Keystroke. (Do this after the OPOS drivers have been installed and configured).

EDIT MACROS - Fixed up the use of the List Boxes when selecting a Macro function or variable.

HELP ABOUT BOX - The version date will now show the date the current build was release instead of the date the license files were created.


** 12/21/07 - v6.20 Build 40

TRN - Enter Customer - Show History Button - If any of the sales transaction types is set to "Show On Customer History screen" then the Enter Customer box will include a Show History button. Pressing this button will run the Show Customer History function (same as running it from a Macro).

POR - Transaction Browse - program will now display on the message line that it is searching for a transaction and will quit the search if the [Esc] key is pressed.

STR - Transfer Reports - Added the field "Matrix Item Name" to the "Transfer Line - Calculated" list of fields. This is similar to the Long Description that can be printed on forms except it will only be filled in on matrix items and will be blank on regular inventory items.

TRN - Select Price List - Pressing [Tab] while in the Select Price list box will now exit the box (without changing the price) and move to the next column.

TRN - Edit Macros - When selecting a function ([Ins] from the macro text box) and [Esc] is pressed when from a list of a available settings, the program will now go back to the list of functions instead of the macro text box.

- CNF - Tax/Price/Commission formulas - if the number of formulas was more than would fit in the list box, it was possible to scroll down past the end of the box and not be able to see the highlighted line.

- CALENDAR - The Date and Time fields were sometimes not wide enough.

- DRAGGING WINDOWS - If a window was dragged past the edge of the program area then program would remember the position to be where the mouse was dragged to even though the window itself won't move past the edge of the program's display area. Moving the window back was requiring the mouse to be dragged farther than expected (or several times) to compensate for this. Now the program remembers the window position to be the same as it is displayed.

- KSR - If run from the command prompt (KEYSTROK /GKSR CUEID=) and the /NOP switch was used (which turns off the display of Keystroke screens) then the program was generating an error 11.

- KSR - SalesPerson Report - If commission method was set to "Cash" or "Weighted Cash" and an ROA payment paid off a transaction that was located in a different transaction file then the ROA Payment, the program would sometimes get stuck in a loop and appear to hang.

- KSR - Transaction Reports - If printing Detailed and no line items existed on a transaction, that transaction's totals would be doubled in the grand totals of the report.

- MENUS - Were not working sometimes after a function launched with a Shift Key was used.

- POR - Receiving - Serial Numbers were not being saved.

- POR - Menus - Opening the menus by using the mouse to click on a menu would cause the "Transaction" menu to appear instead of the one that was clicked on.

- TRN - Starting/Ending Script - The Select Comments from Item script type was not working correctly with Starting/Ending scripts (comments were not being placed in the Transaction Comment).


** 12/03/07 - v6.20 Build 39 - Not Released

RECORD LIST BOXES - If a filter is on, then the "Filter" button's font will be bold.

CNF - Sales Transaction Types - Added a warning message if the Menu Name does not contain an ampersand character ("&") which is required in order to be able to select the transaction type from menus.

CNF - Sales Transaction Types - Split the Entry button on the first screen to Entry and Complete Sales buttons and moved the buttons around.

CNF - Sales Transaction Types - Moved Complete Sale parameters from the the Entry Parameters screen to the new Complete Sale parameters screen. Changed the name of "OnOrd To" button to "OnOrd To Shipped" and the choices to: "Never", "Always", "Up Only", and "Down Only".

CNF - Sales Transaction Types - Entry Parameters - added fields used to control how Customer History information for this transaction type is gathered when the entering a transaction (of any type). These settings do not affect the way data is stored, only how it is looked up and displayed while entering a sale (in other words, they are similar to report settings, and can be changed at any time). The Customer History fields are:
"Start Date:" - The date range used to look up the history for this transaction type.
Blank = No History (this transaction type will be skipped when gathering the history information for this customer).
0 = Gather all history for this type. This should only be used on transaction types stored in their own alternate file.
Anything Else = a date to start on. Use relative date entry codes (-1Y for past year, -3W for past 3 weeks, 1.1 for YTD) or a single date (4/15/06 for all sales since April 16, 2006).
"Show on Customer History screen" - When the customer history screen is displayed, include this transaction type.
"Warn if Existing Transaction" - when a customer is entered on a transaction, display a message stating that they have an existing transaction of this type. (Note that this parameter already existed but it now uses the History Start Date instead of being limited to transactions stored in their own alternate file.)
"Load Customer Line Item History" - When loading customer history, also load the line items. Turning this on will cause the program to take longer to load the history but is required if the line item history is to be displayed in the Transaction Detail box or if the program is to warn if the line item already exists on a previous transaction.
"Warn if Item on Existing Transaction" - if On, then every time a line item is entered on any type of transaction, the program will check the already loaded Customer line item history and display a warning if the item is already on an a transaction of this type.
(Must have "Load Customer Line Item History" on for this to work).

TRN - Entry Parameters - Added the "Auto-Load Customer History" parameter. If this is ON, then every time a customer is entered on a transaction (other than customer #0) the program will scan the the transaction files and load that customer's history into memory so it can be displayed in the Transaction Detail Box and used to warn if a line item already exists on the customer's previous transactions (as set in the Sales Transaction parameters for each transaction type). If this parameter is OFF, then the Show Customer History function must be run in order to load this data. If the Transaction Detail Box does not show customer history and the "Warn if Item On Existing Transaction" parameter is not used, then this parameter should be left OFF.

TRN - "Auto-Load Customer History" - This parameter is ignored when using the Transaction Browse feature on all customers (this is so to not slow down browsing through transactions). Going to the customer entry screen () or entering a line item on the transaction will then load the customer history. (When a transaction is loaded through the Edit/Print function on the menu, then this parameter is checked. Also, if the transaction browse feature is used on a single customer, then the history will have already been loaded).

TRN - Warn if Item on Existing Transaction - does not warn if the existing transaction is the same one that is being edited.

TRN - Detail Box - Added new fields to display more item, customer, and history information. Please see DOC\DETBOX.DOC for a complete list.

CNF - Sales Transaction Types - Added a new standard Detail Box control file ("Item-Cust History [TRNDET6.DAT]") which displays customer history as well as selected item's history for the current customer (as long as this information is being loaded, otherwise the fields will be blank).

CNF - Sales Transaction Types - Detail Box - Added the ability to select other Detail Box Control Files. The program will now scan the data directory for all files with name matching "TRNDET#.DAT" (where # is a number from 7 to 99). This allows the addition of custom designed files while still retaining the use of the standard files. It is recommended that custom files use high numbers so they won't conflict with any new standard ones that would use the lower numbers.

TRN - Transaction Detail Box - changed the way the position of the fields is calculated so they move smoothly as the screen size changes.

TRN - Transaction Detail Box - On order to increase the speed of moving around the Sales Manager screen, the program now remembers most of the data available to be displayed in the Detail Box so it doesn't have to be recreated all the time.

- KSR - Report Editor - Editing a Field - [Ins]/[F2]/[F3] will now only bring up the list of fields when pressed from the [Field] or [Ok] buttons instead of from other fields that didn't have their own selection list.

- LOGO - Change the routine that checks available drive space to a newer windows function that should handle large drives better.

- TRN - Gift Cards - If the line item immediately above a gift card line item was removed from the transaction ([Ctrl+Backspace]) then the gift card line was always being saved as a line item even if set to save as a payment.

- TRN - View Others Transactions Security Level - The program was always using a level of 0 for this security level (it was not being read from the file). So anyone without a security level of 0 was being restricted to only viewing transactions that had their clerk number as the salesperson. (From v6.20 Build 36). The workaround in record list boxes is to use the [Shift+F2] key to turn off the filter.

- TRN - View Others Transactions Security Level - This security level uses the Filter function on the transaction record list box to restrict which transaction were displayed (by filtering on SalesPerson) but was easily circumvented by turning the filter off. Now when this filter is set by the program, it also locks the filter function so it cannot be turned off.

- TRN - Transaction Detail Box - If the clerk does not have the View Cost security level, then these fields will display as blank Transaction Detail Box (if used).

- TRN - Confirm Qty was not working if the item was marked as non- discountable (only Confirm price should be skipped).

- TRN - Confirm Price was not working with Matrix Items.


** 12/02/07 - v6.20 Build 38

AR - STATEMENTS - If the Balance Forward parameter was turned on, then the Balance Forward amount was not correctly including current payments that paid off older invoices.


** 12/01/07 - v6.20 Build 37

AR - STATEMENTS - Finance Charges - Finance Charges were not printed correctly on statements.

AR - STATEMENTS - If the Balance Forward parameter was turned on, then the Total Amount Due printed on the statement was not correct.


** 11/13/07 - v6.20 Build 36

- AR - Statements - When printing a statement with Balance Forward turned on and an ROA payment has been entered that comes after the billing period, the program was not printing the current Running Balance and total Amount Due on the statement form.

- DBM - INVENTORY - Vendor Info Screen was showing the Vendor's Name as "Not Found". This was a display issue only.

- SCRPT - Moving windows around was not working correctly with the list boxes.


** 10/29/07 - v6.20 Build 35

CNF - Gift Card Triggers - When editing or adding a gift card trigger, the program will now check to make sure the trigger's number is not already in use.

EXTRACT/STOREMRG - Added support for Productions. The category code is "M" and is on by default.

MACRO FUNCTIONS - PopUp - Added the command "Cash Calculator". This can be used to bring up the Cash Calculator normally available online in in the Closeout Module.

POR/VAR - Import Line Items - The FileName setting is now "sticky" which means the setting will be remembered whenever it is changed (up to 52 characters).

POR - Import Line Items - Added the parameter "Default Qty". This is used if the qty field is left blank in the file being imported. The available settings are "1", "0", and "Inventory Order Qty" (which will give a qty based on the Order Qty field on the inventory item). This setting is "sticky" which means the program will remember the setting each time it is changed.

- ALTERNATE CUSTOMER/VENDOR CODES - If the database directory switches were used, then the program was not finding the codes for Customers and/or Vendors. (It was looking in the directory specified for Inventory).

- BUTTON EDITOR - Pressing [F10] to save the button would sometimes not save changes made to the field that the program was in when it was pressed.

- BUTTON EDITOR - Was not working with ">", "<", and "&" characters correctly.

- CLOSEOUT - Cash Calculator - Canceling out of the Cash Calculator was setting the current field to 0.00 instead of leaving it as it was.

- CLOSEOUT - If the "Include ROA Payments" parameter was turned Off and any payments did not have the "Available On Sales" parameter turned On, then the starting drawer amounts for all the payments after the one not marked to be used on sales were not being saved correctly.

- CNF - Gift Card Triggers - Copying a trigger on the list would generate a second trigger with the same number as the original. Having two triggers with the same number would then cause problems as the program wouldn't know which one to use.


** 10/11/07 - v6.20 Build 34

- TRN - PCCharge - Gift Cards with VTEC - Check Balance - When using this processor, PCCharge is placing the Card Balance in the reference field instead of the field normally used. Keystroke will now read the card balance from the reference field when processing Balance Check commands for gift cards with VTEC through PCCharge.


** 10/10/07 - v6.20 Build 33

- TRN - Printing Receipts w/ Gift Cards - If a receipt was printed after it had been saved (either a second copy or "save before printing" was on) then the payment information that printed out would not be correct if more than one gift card line item was on the transaction (and they were set to "Report As Payment"). (The transaction was saving correctly and could be brought up and reprinted correctly.)

- TRN - Lime Item Import - if the price was set on an item that had a base price of $0.00, then the program was not updating all the other $0.00 prices on the item as it would when $0.00 items are entered on the screen. This could result in the program then setting the price back to $0.00 when recalculating the price.


** 10/09/07 - v6.20 Build 32

- CNF - Restore - Standard - was not restoring to the correct directory (from v6.20 build 12).

- DBM - Inventory Vendor Entry - Entering a vendor number of 0 or deleting the vendor number was not setting the vendor to "None". Also, if the look up list was used and [Esc] was pressed, the vendor name would show "** Not Found **" even though the vendor was not changed.

- MATRIX GRID - The last row was being hidden on the screen by the Totals row.

- REPORTS - Grand Totals were printing with 4 decimal places if the Decimal parameter on the field was blank (from build 31).


** 09/26/07 - v6.20 Build 31

AR - Automatic Payments - optimized some of the code so that it runs slightly faster (as will ARPAYOFF.EXE which is the same thing).

CNF - Changed the name of the Keystroke Toolbar Editor to Keystroke Toolbar Settings.

COMMANDLINE SWITCH - Added the switch "DISPLAY=" which can be used along with the "AUTORUN=" and "/NOP" switches. The available values are: 0=Display Off (the default, no screens are displayed), 1=Full Display of Keystroke screens, and 2=Show Status Screen Only. When running Keystroke utilities (e.g. ARPAYOFF, GLLINK, IMPORTER, etc.) from a batch file and using the /NOP switch, there is no feedback that the program is actually running. By adding DISPLAY=2 to the command line, the program will display a status window while it is running. This window will be on the screen from the time the program starts until it finishes but is not updated so it does not increase the amount of time it takes to run the program. Using DISPLAY=1 will show the program as it runs including updates of what is being done. This can cause the program to take longer and in some cases can cause the program to stop in the middle if any user feedback is needed or if the program needs to gain the display focus from the system.

CUSTOM MODULES MENU - Changed the text displayed next to modules that aren't licensed from "(Trial)" to "(Eval)".

STR - [SHIFT+F9] can now be used to change the columns displayed on the Transfer screen from "Price/Cost" to "List Price/Price".

STR - The View Cost security level is now supported (program will only display in the "List Price/Price" column mode if the View Cost security level is not met).

- CLOSEOUT - If the Register Number was changed in the Closeout's Date/Time Range box AND the new "Open Drawer at Start" Closeout parameter was turned off, then the program would lock up if "Ok" was selected from the "Register number changed. Program will refresh the Date/Time Range" message.

- CNF - Edit Customer Display File - The edit field for changing the values was sometimes being placed too low on the screen. Also, the entire box was made larger so the Ok and Cancel buttons don't hang off the bottom of it.

- IMPORTER - Setup - The edit field used to change the field values was sometimes being placed too low on the screen.

- MATRIX/CONTACTS PHOTOS - The filenames used for Matrix Photos and Contact Photos were not correct. For matrix items, the program was only using the filenames with a database code of either "I" or no database code (same as inventory) while contacts where using the database code of "C" (same as customers). The program now correctly uses the code of "X" for matrix items and "O" for contacts ("I" and "C" will still work for backwards compatibility). Also, for both Matrix Items and Contacts, a dash ("-") must be used to separate the record numbers from the code (Stocknumber "-" Matrix Code, Customer Number "-" Contact Code). This is not a change but was just not documented in the help screens. For example, the correct file format for Stock Number 3, Matrix Code LG is "X1-LG.jpg". Note that the Matrix Separator setting in Keystroke does not change this, a dash must alway be used in the file name.

- POR - Complete Sale Box - The On Account field was always showing as 0.00.

- REPORTS - If a grand total amount was a whole number and set to print as a price field (decimals = -99) and the "Fixed Decimal Point" parameter was turned on in the Configuration Manager, then the amount would be off by a factor of 100 ($2.00 would print as $0.02).

- SEARCH FILTER - The Search Filter ([Shift+F2] while in a Record List Box) was not working on Flag type fields (those that are simply checked on/off). On some fields an internal error would result either displaying an error or causing the screen to flicker, on others, either no records or the wrong records would be found.

- TRN - Printing Payment receipts with a customer number or clerk number of greater than 32767 would print a negative number instead of the actual customer/clerk number.

- TRN - Recall Function - Was not working with transaction types that come follow a disabled transaction type on the list of sales transaction types. The program was either presenting the wrong transaction type to select from or sometimes no list at all. (GUI mode only).


** 09/13/07 - v6.20 Build 30

- LOGO - Background and Frame colors where getting set back to their defaults everytime the data was run with a new release of Keystroke.

- POR - PAYMENTS - If the Payments are turned on in the Display parameters, then the Purchase Transaction were being save with an Amount Due of 0.00. The Amount Due field is now saved as the correct amount.


** 09/11/07 - v6.20 Build 23

CNF - CASH DRAWERS - Added ability to use the "Direct to Windows Printer" port.

KSR - Running from Command Prompt - including AutoRun=0 on the command line when running a cue will now cause the program to stop and ask for a clerk number to be entered. The clerk entry box will be the same one as is on the Logo screen so that can be used to exit the program (the reports will not be run). This needs to be done when running reports that require a security level (like customer lists).

MACROS - PLAY= Command - The location of the sound file to be played now defaults to the "FORMS\" directory below the Program Directory if the file is not found in the current directory. Also, if a relative path is specified, it will now be in relation to the Program Directory (instead of the current directory).

SCRPT - Replace Scripted Item Flag - When a script is running, the Replace Scripted Item flag will only be used once (for each time a script is run). If a script allows the addition of more than one item, the first item will replace the scripted item while any addition items will be added on. (In previous versions, the additional items would keep replacing the same line over and over again and only the last item would be placed on the transaction.)

TRN/POR/VAR - DETAIL LINE ITEM DISPLAY - Added the flag 32 to display the field as a date (see DOC\DETBOX.DOC for more info). One of the uses of this is to show the current birthdate for the legal drinking age (today minus 21 years). To do this, set the Flags column to "32" and the Field Text to "-21Y".

- DBM - DELETING MATRIX and CONTACT RECORDS - When a Matrix or Contact record was deleted, the program was not updating the indexes correctly which could cause other records with similar codes to disapear. (Technical explanation - if the index being deleted pointed to more than one other index, only the first code position was being updated which would leave a break in the chain that attached the other indexes that followed it.

- SCRPT - Fixed the use of the Min/Max fields in combination with Prompt For Qty when selecting from a list of items. The default qty on the items selected after the first item was not correct. If Fixed Qty is on, then the defautl qty will now always be the qty entered on the script. If Fixed Qty is Off, then the default qty on items selected after the first selection will be the qty needed to reach either the Min or Max qty.

- TRN - Customer Entry Screen - cleaned up display of customer last purchase date when contact was not being shown. Also removed extra shadow line that was sometimes appearing on the screen.

- TRN - MOUSE - Using the Mouse to click on a line item was not working if the clerk did not have the security level to edit the current line item.


** 08/31/07 - v6.20 Build 23

CNF - Ports - Changed the way Windows Printers are selected from the Ports List. The Ports List now has a single line called "Windows Printer" instead of listing all the windows printers in it. Selecting the "Windows Printer" line will bring up a list box of the windows printers.

CNF - PRINTERS - Ports - Added the line "Direct to Windows Printer". This works the same as "Windows Printer" except it will add an asterick ("*") to the begining of the port name. This tells Keystroke to bypass the Windows Printer Driver for this printer and to send the output directly to the Windows Spooler system. This causes the printer to work the same as when printing directly to a standard port (like LPT1:) except the physical port can be anything supported by Windows (LPT, COM, USB, Network, etc.). Since the Windows driver is not being used, Keystroke will use the selected Keystroke printer driver to send control codes to the printer.

CNF - CASH DRAWER - Added a new port selection, "USB:HID". This is designed to be used for USB cash drawers when the OPOS interface doesn't work properly. Keystroke will open the drawer and test its status via the Windows Human Interface Device drivers (HID). The drawer should automatically install itself under the HID driver system when it is first plugged in. Selecting this port will bring up a list of all the compatible HID devices currently available on the machine. Select the device name from the list and Keystroke will save its Vendor ID and Product ID as part of the port name. For some cash drawers, the Product ID is the drawer number (usually set by dip switches on the cash drawer). Keystroke will store and display the selected port as "USB:HID=vendorID-productID" (For example "USB:HID=1765-1" for an MS-Cash Drawer configured as drawer #1).

CNF - MERCURY/PCCHARGE Authorization Methods - Added the parameter "Manually Entered Only" below "Verify Address", "Verify Zip", and "CVV2 Verification". If "Manually Entered Only" is turned on, then the "Verify" parameters will only be used on manually entered cards (those not read in by a card swipe).

KSR - Last Used Report Settings will keep the name of the report that the settings are from as long as no changes are made. (Before, if the Last Used setting was run more than once, it would lose the name of the setting that it came from).

LOGO - Keystroke will no longer look for data files in the Program Directory if the Data Directory is not explicitly named in a startup switch.

- BUTTON EDITOR - Foreground Picture - Position - the position of "Right" was not working if there was no Body Text.

- COMMENTS - When highlighting characters in a comment field, if the highlight was drawn from the last character to the first (right to left instead of left to right) then the blinking cursor was not being displayed in the correct position on the screen. Also, if several lines where being highlighted in this way, the highlight would not be displayed on the last line on the screen. This was a display issue, the last line was still selected, it just didn't look like it was.

- KSR - Report Viewer - If switching from the Report Viewer to another program, Keystroke was being reactivated.

- KSR - Sales Tax - Table/District/Code - The Method button (to set Acrual, Weighted Cash, Cash) was not being displayed so the Method was not able to be selected.

- MOUSE - Double Clicking on areas outside of the current window was sometimes causing the program to act like either the F10 or a macro key had been pressed.

- RPT (v4.2 Report Manager) - Inventory Analysis - Filters on Inventory or Analysis fields were not working. They were testing the next field on the list instead of the one selected, so "Class" was checking "No Price Tag". (Work a round is to select the field just before the one you want - select Total Purchased to filter on Class).

- TRN - Dataport Parameters - If the Export or Import Filename had not been set before, then the label on the Directory and Export File Name fields were wrong and the default filenames (TRN&M.KFO, TRN&M.KFI) were not being placed in the blank fields.

- TRANSACTION LIST BOXES - If [Shift+Enter] (display comment) was pressed on a transaction type that was not a Sales Invoice, then the program would display a warning box that the Field [Comment] could not be found.

- VAR - Blind Variance Mode - The display window was too small and so the last digits of the Price/Cost column were not being displayed.


** 08/22/07 - v6.20 Build 21

CNF - Security levels - Added the "VM: Use Full Variance Screen" (default=5) security level. If this is not met, then the variance screen will run in the Blind Variance Mode (see below).

CNF - Security levels - Changed the default security level for "Access Variance Function" from 5 to 7.

VAR - Blind Variance Mode - Added a new variance mode where the variance screen will only show the item's Description, Physical Qty, and Cost (or Price). This is called the Blind Variance mode as the clerk cannot see the QOH or Variance Qty and so won't know whether the qty entered is too high or too low. Also, other functions are limited as well. This mode is designed to restrict the clerk to just entering the qty counted for each item and then saving the variance (in most cases the Post Variance security should also be set so the clerk can't post while in this mode).
VAR - Blind Variance Mode - when operating in this mode and the Physical Qty entered is not the same as the QOH, the program will display a warning that the number entered does not match the QOH for the item (but it will not say whether it is too high or too low). Also, it will only do this once for each line item (unless the whole line item is reentered).

STR - Transfer Reports - Added a "Line Item Filter" button and a "Don't Print if Empty" flag to the report screen.

WS.INI - Picture Viewer - Added the parameter "PVDataDir=" (default is blank). This can be used as an alternate location for the image files displayed by the Picture Viewer. If left blank, then the program will only use the "PHOTOS\" directory below the data directory for the database record being displayed. If this parameter is set to anything other than blank, then the program will read the image files from the specified directory if the file is not found in the data's PHOTOS\ directory. This allows photos to be shared with different data sets but still allow a single photo in a single data set to be different. Also make sure that a file with a name of "0" does not exist in the regular PHOTOS\ directory or it will be used instead of checking the specified alternate directory.

- CLOSEOUT - Reports - when printing to a windows printer the program was sending the setup string (used when printing directly to a port) instead of the setting from the WPD (Windows Printer Driver) file.

- CLOSEOUT - The "Update" button on the enter Date/Time range box was not being displayed (from v6.20 build 20).

- GLLINK - Store Transfers - If the Detail was not set to Detailed or Invoice Summary, then the output file was not being formatted correctly. Store Transfers don't actually support any kind of summary since the Departments and account numbers can be different for each store. The program will now always print transfers in detailed mode no matter what the Detail setting is.

- KSR - Print Individual - when printing to the screen and more then one section of the report was set to "Print - Individual" then the Keystroke was not displaying the second list until the Keystroke window (instead of the report viewer window) was selected.

- STR - Parameters - Inventory Update - If the Hidden Status field was turned Off, it would was being turned back on again the next time the Inventory Update parameters were saved.

- STR - Transfer Reports - when editing the form or entering a filter, the list of fields was not correct (from v6.20 build 11).

- TOOLBARS - If a button had a background graphic, then the mouse over and button press frame were not working correctly.

- BUTTON EDITOR - adding Text to a button that did not have any text would sometimes mess up the XML data which which would then appear in the text field.

****** End of Recent Program Changes *******

***** Version 6.20 Build 20 - FEATURES, CHANGES, and ENHANCEMENTS ********

**** NEW LOOK - CHANGES TO TITLE BARS, BORDERS, WINDOW PLACEMENT ****

*** WINDOW PLACEMENT ***

Windows can now be moved by dragging their title bar. The program does restrict the windows from being dragged completely off of the Keystroke screen.

If a window is moved, its new position will be saved to the file WP#.DAT (where # is the register number). To restore all windows to there default location, delete this file. Note that a few windows don't remember their position due to their ability to change size/position based on what they are being used for (Matrix Item Selection windows for example) or because they are pop-up lists for buttons on other windows.

There are security level to control this; the "Move Windows" and "Save Window Positions" security levels. If the "Move Windows" security is not met (default=10), then the clerk will not be able to drag the window around. If the "Save Window Positions" security is not met (default=9), then the window positions will be reloaded when the program changes modules. Note that while the Enter Clerk box is on the screen, the windows cannot be moved since the system is locked and there is no clerk to meet the Move Windows security level.

The Check Mark button in title bars has been removed. Instead, either click on the Ok button, double click on the selection in a list box, or use the Enter or Save buttons on the tool bar.

*** TITLE BAR AND BORDER STYLES ***

** WINDOWS XP THEME **

If the computer is set to use a Windows XP theme then Keystroke will now display its windows to match that theme. The Windows Theme on a computer is set using the Display Properties function in Windows Control Panel (or right click on the Desktop and select properties). The computer must be running on Windows XP or newer and the Windows and Buttons setting on the Appearance tab must be set to something other than "Windows Classic Style". If these conditions are met (and most new computers are already set this way) then Keystroke will run in "XP Theme Mode" otherwise it will run in "Classic Mode".

When running in XP Theme Mode the following will be used:

The color and style of the borders and title bars of windows in Keystroke will be based on the settings in Windows and not the colors set in Keystroke.

The location of the text in the title bar will be on the left side instead of centered in the middle and the font style be bold.

The Cancel (X Mark) button will use the Close button drawn by the Windows XP theme.

*** OTHER CHANGES TO THE WAY KEYSTROKE LOOKS ***

** LARGER DISPLAY AREA **

The Frame around the main Keystroke screen has been turned off so that the size of data entry area appears larger (the font size is still the same but there can be more space between the fields). Also, the BackgroundColor has been changed so that it is similar to other Windows programs. The previous look can be restored by putting: "UseFrame=1" in the WS.INI file and changing the Background color in the Configuration Manager (see below).

While the frame is said to be Off, it really is still there but is only 2 pixels wide around the main screen, it may still be seen around the new toolbars though. To truly turn it off, set BackgroundColor and FrameColor to be the same.

** MENU FONT **

The font used in menus is now the same as the Windows Menu font as specified in the Windows Display Properties (both font name and size).

*** NEW KEYSTROK TOOLBARS ***

A new type of Toolbar has been added to provide greater flexibility in the size, design and function of on screen buttons. The new toolbars are called the "Keystroke Toolbars" while the old toolbars are now called the "Traditional Toolbars".

The initial release of Keystroke version 6.20 ships with a set of 3 toolbars (a toolbar is a group of buttons). The toolbars are "Payments", "Numpad", and "Keyboard". The Payment toolbar is located in in the upper right corner of the screen and contains payment buttons as well as other buttons to make entering sales faster and easier. The Numpad Toolbar if located in the in the lower right coner of the screen and has buttons for entering numbers as well as buttons to Save and Cancel. The Keyboard Toolbar is located on the button of the screen but is initially hidden. Pressing the "Keyboard Button" on the payments toolbar will cause this Keyboard Toolbar to appear (or disappear if it is already visible). The Keyboard Toolbar is designed to replace a standard keyboard so Keystroke can be run with just a mouse (or touch screen monitor).

Whenever Keystroke is started, it will check the data set for the file that stores the toolbars ("TOOLBARS\TB.DAT"). If the file is not found then the program will automatically initialize the default toolbars. This will happen when upgrading from a previous version or when starting a new data set.

When the new toolbars are initialized, they are configured to only appear in the Sales Manager. This can easily be changed using the Configuration Manager -Settings-Toolbars- Keystroke Toolbars function (see below).

If Keystroke is run with data from versions prior to 6.20, the program will ask "Do you want to use the new Keystroke Toolbars". Be careful when answering this question. The default answer is "No" which will cause the toolbars to be turned Off and they will not appear in the Sales Manager (or anywhere else) until they are turned back. (The toolbars can be turned On or Off using the Toolbars function in the Configuration Manager.) Answering "Yes" will leave the toolbars on and they will be available just like in a new data set.

* Toolbar Settings *

In which modules (and on which registers) the Keystroke Toolbars appear can be changed by using the Toolbar Settings in the Configuration Manager under Settings-Toolbars-Keystroke Toolbars. Selecting this function will display a list of the toolbars found in the toolbar data file. Selecting a toolbar from this list will bring up the settings for the selected toolbar.

The name of the toolbar and the data file that it is stored in are displayed at the top of the setting screen. On the left side is a list box which shows all the modules that the toolbar has been set up for. On the right side there are 4 check boxes which determine whether or not the toolbar is available in the highlighted module and whether or not it will be visible when first entering that module. If it is Available but not Visible, then it will be loaded into memory but will not be displayed. A macro can then be used to display it at anytime. However, if it is not available, then it will not be loaded and there is no way to make it appear (other than going back to the settings screen and making it available).

These settings can be changed for "All Registers" as well as "This Register". The "This Register" settings override the ones for "All Registers". If both settings are the same, they will be linked. While linked, changing the "All Registers" setting will also change the "This Register" setting. To unlink the setting, change it in the "This Register" section.

* Toolbar Buttons *

When the toolbars are displayed, any of the buttons can be used by simply clicking on it with a mouse (or by pressing it when using a touch screen). When the button is pressed, it will run a Macro that is stored inside of it. If a button is grayed out , then it is disabled and pressing it will not do anything. (Buttons will be disabled depending on what screen is being displayed and/or by the security level of the current clerk.) A button can be held down and will start repeating itself the same way a key on the keyboard would.

* Button Editor *

The way a button looks and what it does is based on the settings stored in its toolbar's data file. The settings for each button can be changed by pressing the right mouse button to "right-click" on a toolbar button. This will bring up the the Keystroke Button Editor where the button's settings can be viewed and changed.

In the upper right corner of the editor is a sample of how the button looks (or will look once any changes are applied to it). As changes are made, the program immediately displays the results by changing this sample button. Clicking the "Ok" button will close the editor, update the button in the toolbar, and save the changes to the Toolbar data file (e.g. "TOOLBARS\TB.DAT"). Pressing Cancel will close the editor without making any changes to the actual button or toolbar.

For more information on each on the button editor, please see the Button Editor document ("DOC\BttnEdtr.doc"). It contains a description of each of the settings and how the button editor operates as well as information on the Advanced Button Editor.

* Toolbar Files *

The files that control how the new toolbars look are stored in the directory "TOOLBARS\" beneath the Data Directory. By default the file that is used is "TB.DAT". So for a standard installation on a computers C: drive, the toolbars are controlled by the file "C:\KEYSTROK\DATA\TOOLBARS\TB.DAT".

The name of the default file can be changed by using "ToolBarsFile=" in the WS#.INI or on the command line to specify a different name for the file (default is "TB.DAT"). If used, then the extension (usually ".DAT") must be specified but the path cannot be (the path will always be "TOOLBARS\" below the Data Directory.

The Toolbar data files are in a text based format (simple XML) and can be edited by using any text or XML editor (as well as by the editors built into Keystroke).

Please see the file "DOC\TOOLBARS.DOC" for technical information on the structure and commands used within these files.


*** NEW KEYSTROK MACROS ***

Keystroke now has the ability to store and use Macros. A macro is a set of commands that are run when the macro is used. Macros can be run by calling them from a specified keyboard combination (for example ), from a toolbar button, from a script, from other programs, or even from other macros. The commands that make up the macro can be a variety of things from keys being pressed to setting variables within Keystroke.

Currently Macros are only available in the Sales Manager. In future releases, Macros will be available throughout the program. The macros are stored in a series of data files named "MACROS##.DAT" (where the "##" is replaced with the module's code). Global Macros (available from any module in Keystroke) will be stored in the file named "MACROS.DAT". Currently, only the Sales Manager Macros are enabled and are stored in the file "MacrosSM.DAT". The Macros data file is in XML format and can be edited with a text editor or by using the Macro Editor built into Keystroke. The editor in the Sales Manager is accessed by using the Transaction - Parameters - Macros function.

The Macro Editor will first display a list of the macros that have already been defined. From this list, you can Add-[Ins], Delete-[Del], Cut-[Ctrl+X], Copy-[Ctrl+C], Paste-[Ctrl+V], and Edit-[Enter] each Macro. After selecting a macro (or pressing [Ins] to add one), the Macro Editor screen will be displayed. From here you can set the following parameters for:

Name: Used to identify the macro. This name can be used to call the macro from other macros or scripts. While not required, the name should be unique and should not include spaces.
Description: Note on what the macro does.
HotKey: To run the macro from the Keyboard.
Commands: The set of functions that the macro will run. Use [Ins] to select command from a list.

Note that the program will not check for duplicate Macro Names or HotKeys. Only the first one found will be used. Also, the HotKey is optional since the macro can be run from anything else that supports macro functions (Toolbar buttons (both old and new), other macros, scripts, etc.).

The Macro Command field holds Macro Functions. While the functions can be edited using standard text editing (same as in a Comment field), it is best to add new functions by using pressing [Ins] and then selecting the function from the list that pops up.

Most of the functions existed in previous versions for use by toolbars and scripts and are already documented in previous versions and help screens. The functions that have been added with this version are:
(* (Square brackets "[]" symbolize entries to be replaced.)

@SET [Variable]=[Value] - Changes the specified internal [Variable] to be equal to the specified [Value]

@TOGGLEFLAG([Variable],[BitValue]) - Toggles (1 to 0, 0 to 1) the specified [BitValue] (1,2,4,8,etc.).

TOOLBARTOGGLE= Toggles the display of a toolbar (On to Off, Off to On).

RUNMACRO=[Name] - Runs the Macro that matches the specified Name. The program will first search for the Macro Namethe new Macros and then will search the older ToolBar-Commands.

RUNMENU=[MenuPath] - Tells the system to select the specified menu option. The MenuPath is the name of the options to be selected, separated by a dash. For example: (RUNMENU=Transaction-Edit/Print-Layaway-Customer Number...) will bring up the list of layaways sorted but Customer Number.

POPUP=[Function] - While launch another Keystroke Function. (For example: "PopUp=Calendar" while bring up the Calendar function.) In most cases this will be the same as sending the function key. However, macros can include functions that don't have function keys (PopUp=MainMenu) or can be used when the function key has been used by another macro.

The @Set and @ToggleFlag functions are used for special purposes. The @Set function changes a variable's value while the @ToggleFlag function allows a single bit within a variable to be changed. These don't do anything on their own. It is the change made to the Variable specified that really does the work. The Variables are predefined by the program and allow the macro to change internal settings directly. The variables that are available are displayed when the function is selected. The available values for the selected variable will be displayed after the variable is selected.

This new Macro system has many advantages over standard Keyboard macros. The main one being that it doesn't matter where you are in the program when the macro is run and you will still get the correct results. For example, to switch the current Line Item Entry mode from Stock Number to Description, a keyboard macro would send in 3 [F9] keys. The problem is, if the current Entry Mode is not Stock Number, you won't end up on Description. And if you are not on a line item, pressing [F9] might do something different. With the new macro function you can now set the line entry mode to be directly what you want and it doesn't matter from where it is done. Another example is the the Screen Mode [Shift+F9]. With the new functionality, this can be set from anywhere (works while in the customer entry box where [Shift+F9] does not). Also, if the current transaction type does not support the Screen Mode being requested, then nothing happens instead of ending up in some other mode. One last "feature" is that current key assignments can be overridden. (This could also be abused so that "feature" may not be the right term.) For example, by assigning [F8] to a macro, the [F8] key will no longer work to move in and out of the Customer Entry Box.

The list of Macro Functions and Variables (and their accepted Values) is listed in the file FuncList.xml located in the FILES\ directory. This file is available to be used by outside programs that may want create and then send macros into Keystroke.


*** NEW WS.INI SETTINGS AND COMMAND LINE SWITCHES ***

* TITLE BARS, BORDER STYLES, ETC. *

BorderStyle= Changes the way the borders around windows inside of Keystroke will look. The program will default this setting to either "Classic" or "XP" depending on the windows version and its settings (see above). The setting can be entered as a number or as a name as follows:
0 = "Classic" - use traditional gray 3D borders, and Keystroke colors.
1 = "Colored" - use a flat colored border and Keystroke colors.
3 = "Colored3D" - use a 3D (shaded) colored border and Keystroke colors.
15 = "XP" - use XP Theme.
If "XP" is specified on a machine that doesn't support it then "Colored3D" will be used.

TitleAlignment= Sets how the text in the title bars will be justified. If the BorderStyle is "Classic" then this setting will default to "Center", otherwise the default will be "Left". The setting can be entered as a number or as a name as follows:
0 = "Left"
1 = "Right"
2 = "Center"

TitleBold= Sets whether or not the text in the title bars are bold. If the BorderStyle is "Classic" then this setting will default to "Off", otherwise the default will be "On". The setting can be entered as a number or as a name as follows:
0 = "Off" = "No" - font will not be bold
1 = "On" = "Yes" - font will be bold.

UseFrame= Turns on the frame around the data entry area. This is off by default which allows the main Keystroke screen be as large as possible and not show the frame around it (although the frame will still be visible if there are gaps around the new toolbars). (Default is Off)

* MENUS *

MenuFontName= Sets the name of the font to by used by the menus.

MenuFontSize= Sets the size of the font to be used by the menus (or a ratio if MenuFontAutoSize is set, see below).

MenuFontAutoSize= Sets whether or not the size of the font used by the menus is fixed or if it scales along with the font size being used by Keystroke (which scales depending on the size of the window). If MenuFontAutoSize is On, then the font size used by the menus will be font size being used by Keystroke time the MenuFontSize setting. (The default MenuFontSize is set to 1 when MenuFontAutoSize is turned On).

* SOUNDS *

SoundOpenDrawer=, SoundPaymentApproved=, SoundPaymentDeclined= These 3 new sound settings were added to help clerks recognize the events by sound instead of having to watch the screen. By default these are left as blank in which case the program will use the sounds as in previous releases (OpenDrawer did not make a sound, Payment Approved played "SoundProcessDone" and Payment Declined played the Warning Sound.

* OTHER SETTINGS *

DateShift= - Used to change the current date/time in Keystroke be shifted by the specified number of days. This allows the entry of older invoices without having to change the date on each one (or the system date on the computer). The value entered is in Days (use fraction of a day for time) and can be positive or negative. Examples: DateShift=-1 for one day back, DateShift=-30 for thirty days back, Dateshift=0.04167 to go forward one hour.

DisplayOff=0 - Used to turn the customer pole display back on (when DisplayOff=1 is in the .INI file). This is rarely used but can make it easier to set up the system when only a few of the machines have a customer display. (Set DisplayOff=1 in the WS.INI file and then add DisplayOff=0 to the command that launches Keystroke on the machines that do have a customer display).


**** OTHER IMPROVEMENTS TO THE OVERALL LOOK AND USEABILITY OF KEYSTROK ****

* README.TXT *

The order of the changes listed in the readme.txt file has been reversed. The most recent changes will now be listed towards the top of the file.

* PRODUCT ID *

Product IDs will no longer contain the numbers "0" or "1" or the letters "I", "L", "O", or "Q" in order to make it easier to read them. (The Product ID is the code that is entered when installing or upgrading Keystroke without a License Disk,)


* MOUSE WHEEL *

Mouse Wheels are now supported throughout the program (moving the wheel is interpreted as pressing the and arrow keys). Note that Record List boxes and the Report Viewer already had support for the mouse wheel.

* ENTERING TEXT - UNDO KEY *

Keystroke now supports pressing [Ctrl+Z] in edit fields and in the comment editor to undo the last key pressed. Pressing this key will undo changes made to the field (up to 32 levels). Like the [Esc] key in edit fields, this only works as long as you stay in the field. Note that some edit fields actually exit and reenter after every key and so [Ctrl+Z] will not work with them.

* ALTERNATE CUSTOMER AND VENDOR CODES *

The Customer and Vendor database now support the use of an Alternate Code list for each record. These work the same as the Inventory Alternate Codes. For Customers, the data is stored in "ALTCC.DAT" and "ALTCCNDX.DAT". For Vendors, the data is stored in "ALTVC.DAT" and "ALTVCNDX.DAT".

* RECORD LIST BOXES *

The Record List Boxes now have a small specialized button bar just below their title bar. The buttons available there are:
"Filter" - Same as [Shift+F2]. For limiting which records to include in the list.
"Sort By (Left)" and "Sort By (Right)" - Same as and . Used to change which field is displayed in the first column which is what the list is sorted by.
"Previous File" and "Next File" - Same as [Ctrl+PgUp] and [Ctrl+PgDn]. Only available when looking up a transaction and is used to change the list to show and earlier or later date range of transactions.

In order to keep the new "Sort By" buttons in the same position on the screen, the Record List Boxes are now always aligned near the right hand side of the screen.

* ENTERING FILE NAMES *

The [Ins] key can now be used from the Filename field to access the File Browse button (when it exists).

*** NEW EXTENSION FUNCTION ON UTILITES MENU ***

The Utilities Menu now contains a line called "Extensions".. The sub menu off of this function is called the "Extensions Menu". This menu is used to launch other programs (either Keystroke programs or any other program). The default list of items on the menu includes some of the Keystroke Extension programs. However, the Extensions Menu can be altered to match the needs of the store using Keystroke. The menus is controlled by the file "EXTMENU.XML" located in the program directory. Editing this file allows you to customize the items that are on the menu.

The EXTMENU.XML file is in simple XML text format. The tags supported are:

[MenuItem] - each item to be listed on the menu must be surrounded by this tag.

[Name] - the name as it should appear on the menu.

[HotKeyPos] - the position of the character in Name that should be underlined and used as the hotkey for this menu item.

[Command] - the command to run when the item is selected (the program's filename and any parameters. When the menu item is selected, Keystroke will first replace the following tokens in the specified Command:
%Register% with Register Number
%Machine% with Machine Number
%DataDir% with Data Directory
%ClerkNum% with Clerk Number
Keystroke will then launch the program by executing the Command using as a Macro with the RUN= function. For example, the entry:
[Command]CONTPRIC.EXE /D %DataDir%[/Command] will result in Keystroke running the following macro: RUN=CONTPRIC.EXE /D C:\KEYSTROK\DATA\

[SecurityCheck] - The menu item will be disabled if the current clerk is not allowed to use the specified function. This parameter is entered as a numeric value. This value can be found by looking at the Message Bar in Keystroke when the desired security function is highlighted in Keystroke-Configuration Manager-Tables-Security Levels lists. For example, if only clerks that have access to the DOS Shell Utility can use this menu item, then the tag would be:
[SecurityCheck[46]/SecurityCheck]

(The program reads this file when entering a module so changes made to this file will not be seen until exit and enter a Keystroke Module.)


**** CHANGES TO INDIVIDUAL MODULES ****

** ACCOUNTS RECEIVABLE **

Increased the number of Open invoices that can be displayed on screen by 1.

Statements can now print to 3 different forms/printers.

** CLOSEOUT **

An Open Drawer button is now available in the Confirm Date Range box (at the start of a closeout) and the Save box (at the end of a closeout). If pressed, then the drawer will be opened and an audit entry will be made (same as using F7 to open the drawer but the Open Drawer security level is not checked).

The appearance of the Open Drawer button is controlled by the "Open Drawer at Start" and "Open Drawer at End" parameters in the Closeout - Parameters function. By default, these parameters will be Off in existing data sets but will be On in new data sets.

** CONFIGURATION MANAGER **

The Setup - Colors function now has a setting for "Background" and "Frame" colors. The name of the old "Screen Text/Background" is now "Title Bars". The new "Background" and "Frame" settings use the Windows Color Picker (unlimited color choices) while the rest still use the Keystroke Color Selector (limited color choices).

After changes have been made in the the Configuration Manager, the program will now display the message "Save Changes to Configuration File." instead of just "Save Configuration".

The Standard Backup/Restore now has the new file browse button. Note that even though the program only needs the path, a file must be select in order to leave the browser. The filename will be dropped and only the path will be used by Keystroke.

The Tables - Authorization Method Setup for MecuryPay and PCCharge now has a file browse button to select the directory to write the request to. Since this uses the standard Windows browser which is designed to select a file and not just a directory, you must select a file in the directory even though only the directory will be used.

The Export Transaction - Details (Line Items) function now exports the "TransDate" and "TransTime" fields as field numbers 37 and 38. (The Line Item Comment field is now field number 39 as it is always the last field.)

The Export function can now be used to export Alternate Customer and Vendor codes. When using KSEXPORT from the command line, use the codes "DU" to export "Database - alternate cUstomer codes" and "DE" to export "Database - alternate vEndor codes".


** DATABASE MANAGER **

* DEFAULT FUNCTION *

The Screen Name and File Name will now be displayed in the Title bar while using the Setup-Default function.

* INVENTORY DATABASE *

If a vendor number that does not exist is entered in one of the Vendor Info screen of an Inventory item, the program will now display the vendor name as "** NOT FOUND **" instead of just showing it as blank.

* MATRIX DATABASE *

While editing the Matrix Database, the Search & Replace function now supports using formulas on the price/cost fields including the use of the variable code for the other price/cost fields ("A"=AvgCost, "C"=LastCost, "P"=BasePrice, "L"=ListPrice, "S"=SalePrice, "X"=Level1, "Y"=Level2,
"Z"=Level3).
** GENERAL LEDGER LINK **

This module will no longer run from directly from the command prompt if the system is not licensed to use the General Ledger Link module. (Used to generate the the journal entries file or report from a scheduler or script.)

The name of "BusinessWorks" is displayed as "Sage BusinessWorks" (at the request of Sage).

** REPORT MANAGER **

The fields TransDate and TransTime are now available to be printed with the Transaction Line Items data. (This same information is available through the Transaction Header section, it was added here when added to the Export function.)

The Database - Alternate Codes - function now shows a sub menu to select whether to print Inventory, Customer, or Vendor alternate codes. The Inventory Alternate Codes reports use the forms "RDA1*.KSR" (same as before). The Customer Alternate Codes reports use the forms "RDA2*.KSR" and the Vendor Alternate Codes reports use the forms "RDA3*.KSR".

ASCII Character Codes enclosed in braces (e.g. "{27}" for the Escape Character) are now supported in report variables (filters and formulas). (The use to be only supported in the Field Text field.)

** PRODUCTION MODULE **

This module will no longer run from directly from the command prompt if the system is not licensed to use the Production Module. (Use to run the Auto-Produce function from a scheduler or script.)

** IMPORTER MODULE **

The setup function now has the new File Browse button to look up the file to be imported.

** IMPORT PURCHASES (IMPPOR) **

If a Vendor Number, Code, or Name is entered but not found, then the program will now check the Alternate Vendor Codes list to try and identify the vendor.

** IMPORT SALES TRANSACTION (IMPTRN) **

If a Customer Number, Code, or Name is entered but not found, the program will now check the Alternate Customer Codes list to try and identify the customer.

** PURCHASING MANAGER **

Increased the number of lines shown on the screen by 1.

Added the File Browse button to the Import Line items function.

If a Vendor Number, Code, or Name is entered but not found, then the program will now check the Alternate Vendor Codes list to try and identify the vendor.

The Import Line Items function can now import Comments. The comment is the 4th field and is optional. Field 2 (Qty) and Field 3 (Cost) are also optional, so to import a comment without these fields, leave them blank but include the field separators (for example: 123,,,"This is the Comment"). To include line breaks (paragraph marks) in the comment, you must use ASCII character number 20. Since this can be difficult to create with some programs, you can also use tokens {20} or  instead.

The Import Line Items function now supports the importing of Serial Numbers for serialized items. The serial numbers are imported through the comment field and must be formatted correctly. Each serial number must be on a separate line (lines are separated by a character number 20, see above) in the comment and the line must start with the Serial Number Prefix as set in the Configuration Manager. (For an example, view the comment for a line item that has serial numbers attached to it in the Purchase Manager. The format used there by Keystroke is the same as what is required the the Import Line Items function.)

If importing Serialized Items and updating the Shipped Qty, the program will now set the Shipped Qty on the line item to match the number of serial numbers imported.

** SALES MANAGER **

Increased the number of lines shown on the screen by 1.

Added the File Browse button to the Import Line items function.

If a Customer Number, Code, or Name is entered but not found, the program will now check the Alternate Customer Codes list to try and identify the customer.

If the clerk does not meet the "Print/Save Blank Transactions" security level, then the program will no longer allow a payment to be added to a blank transaction (one with no line items on it).

When displaying line items in the Cost/Profit or List/MarkDown mode, the the program will now display the total Profit Percentage or Percent MarkDown for the transaction.

When using the Line Item Detail screen, pressing [Ins] while in an inventory lookup field (Description, Product Code, etc.) will now display the record list box in Query mode ( to view, to edit) and no longer allows the selection of a different item to replace the current line item.

New security levels are now available for "Sell Item Below Sale Price", "Sell Item Below Level 1 Price", "Sell Item Below Level 2 Price", and "Sell Item Below Level 3 Price". The default setting is the same as "Edit Line Item Price". Note that the level is only checked when the clerk manually changes the line item price. Therefore, it is still possible to sell below these prices via the Base Price, On Sale, or Price Table settings. Also, if the clerk doesn't meet the "Edit Line Item Price" security level, then the price can't be changed anyway so these new security levels will not be checked.

A clerk can now remove a "Check Balance" Gift Card Line Item (by pressing [Ctrl+Backspace]) .even if they don't have the security to "Edit Line Items". This is now being allowed since this type of line item does not sell anything and does not change total on the transaction but is sometimes generated when customer wants the clerk to check the balance left on a gift card.

The Price Lookup list ([Ins] from price field) will no longer show prices that the clerk does not have the security to select based on the "Sell Item Below..." security levels and the Override Minimum Price security level.

The Import Line Items function can now import Comments. The comment is the 4th field and is optional. Field 2 (Qty) and Field 3 (Price) are also optional, so to import a comment without these fields, leave them blank but include the field separators (for example: 123,,,"This is the Comment"). To include line breaks (paragraph marks) in the comment, you must use ASCII character number 20. Since this can be difficult to create with some programs, you can also use tokens {20} or  instead.

The Import Line Items function now supports the importing of Serial Numbers for serialized items. The serial numbers are imported through the comment field and must be formatted correctly. Each serial number must be on a separate line (lines are separated by a character number 20, see above) in the comment and the line must start with the Serial Number Prefix as set in the Configuration Manager. (For an example, view the comment for a line item that has serial numbers attached to it in the Sales Manager. The format used there by Keystroke is the same as what is required the the Import Line Items function.)

If importing Serialized Items and updating the Shipped Qty, the program will now set the Shipped Qty on the line item to match the number of serial numbers imported.

** STORE LINK MODULE **

Added the File Browse button to the Import Line items function.

** OTHER MODULES/UTILITIES **

* CHGNUMS *

Added support for Alternate Customer Codes.

* CUSTDATE.EXE *

The DATE= command line parameter can now be used to set the date that the Oldest Open Invoice date on each customer should be set to. If not used, then current date/time will be used.

**** PROBLEMS AND ISSUES FIXED BY THIS VERSION ****

- CLOSEOUT - If the mouse was clicked in the payment list more than one line below the last payment on the list, then the program would sometimes give an error 341.

- CNF - Export - Inventory Alternate Codes - was never finding anything to export.

- DATABASE - Valid Entries Lists - if the field was formatted as a number with more than 1 decimal point, then the program was not finding matches that existed on the list.

- DBLISTS - The editor was not automatically pulling up a new list for the last field number of a database (for example: Customer-Age would load the editor but not a blank list).

- DBM - Recall Function - the word "* * Recalled * *" was sometimes being split between several columns. The program will now display it in the first column that is big enough to hold it.

- FMTR - The Skip Blank Item flag was not working with Messages.

- GLLINK - Print To File - the File Browse button when selecting a file name was not working.

- HEADER - Fixed Error 9 when a transaction file is missing.

- LOCKSCREEN=1 - The screen was not always locking once it was maximized (note that it does not lock if the clerk has the security level "DOS Shell Utility").

- KSR - Inventory Analysis - Grouped by Location - items with a blank category but a valid location would be included in both the No Location and the item's Location sections.

- KSR - Sales - Receivables - set to "Aging" and Invoice set to "Print" and invoices sorted by "Customer Name" was not printing the invoices.

- KSR - Inv- Sales Analysis - fixed Error 63 if Group By Contact was turned on and Group By - Customers - All was selected and the Start Range was blank (or "First").

- KSR - Tax Discrict/Code reports - where not backing out the Sales Tax amount on line items that were marked as "Price Includes Tax" from the Sales Tax formula that was used.

- KSR - Sales Person - Commissions - Formulas the used the "Subtract Minimum" parameter were not working correctly.

- LOGO - Main Menu - changing clerks while in the main menu was causing the program to go back to the main Enter Clerk window.

- MENUS - If the name included an Ampersand ("&"), then it was not showing and the HotKey for that item was not being underlined.

- MENUS - Security Levels - The program was not allowing a clerk to access a function from the menu that the clerk did have security for if the clerk did not have the security to use the current module.

- TRN - Gift Cards - Gift Card Line Items that had an amount of $0.00 (as all Check Balance items would have) were not able to be removed ([Ctrl+BackSpace] was not working).

- TRN - Gift Cards - If a Check Balance Gift Card was trigged by entering a line item and and the Save Check Balance parameter was off, the program was still leaving the line item on the transaction.

- TRN - Line Items - Line items that are marked as Gift Cards are not allowed to be edited. However, it was still possible to replace the item by using the Look Up feature (pressing [Ins]). Also, when this was done, the item was still marked internally as a gift card so it would not be reported correctly and would not appear correct when the transaction was edited.

- TRN - Line Item Cost - The Edit Line Item Cost security level was not being checked if the Screen Mode was in Cost/Profit mode. The program will no longer allow the clerk to edit the Cost field in this mode if they don't meet the Edit Line Item Cost security level.

- MENUS - If the name included an Ampersand ("&"), then the HotKey for that item was not working.

- TRN - Recall Function - When using the Sales-Recall function to bring back a transaction that was deleted from an alternate transaction file, the program would sometimes generate an error.

************************ END OF VERSION CHANGES/FEATURES ********************

******************************************************************************
** Program changes made prior to v6.20 **
** Changes prior to 01/26/07 - 6.20 build 10 are in the file README61.TXT **
** Changes prior to 03/28/06 - 6.10 build 10 are in the file README6.TXT **
** Changes prior to 05/03/05 - 5.20 build 21 are in the file README52.TXT **
** Changes prior to 05/10/04 - 5.10 build 10 are in the file README51.TXT **
** Changes prior to 01/03/03 - 5.00 build 20 are in the file README5.TXT **
******************************************************************************

Keystroke POS software is owned by Specialized Business Solutions ("SBS") of Long Beach, CA and is protected by United States and international copyright laws (Copyright (c) 1987-2007. All rights reserved).

For more information about Keystroke POS or other products published by Specialized Business Solutions, call (800)275-4727 or (970)262-1720 or visit our web site at www.KeystrokePOS.com
------------------------------------------------------------------------------

******* The most recent changes are listed near the top of this file *******

MODULES: (Description of Codes used in this document)

Name

Code

Windows

Logo Screen

LOGO

LOGO.DLL

Sales Manager

TRN

TRN.DLL

Database Manager

DBM

DBM.DLL

Variance Module

VAR

VAR.DLL

Purchase Manager

POR

POR.DLL

Report Manager

KSR

KSR.DLL

Label Manager

KSL

KSL.DLL

Account Receivable

AR

AR.DLL

Configuration Manager

CNF

CNF.DLL

Closeout Manager

CLOSEOUT

CLOSEOUT.DLL

 

v4.2 Report Manager

RPT

RPT.DLL

v4.2 Label Manager

LBL

LBL.DLL

Store Link

STR

STR.DLL

Matrix Manager

MTX

MTX.DDLL

General Ledger Link

GLLINK

GLLINK.DLL

CYMA Link

CYMA

CYMALINK.DLL

Importer

IMP

IMP.DLL

Production

PROD

PROD.DLL

Script Editor

SCRPT

SCRPT.DLL

Forms Editor

FMTR

FMTR.DLL

 

Mercury Payment Server

MERS

MERCURY.EXE

Mercury Payment Service

RPT

MERCSVC.EXE

Keystroke POS Point of Sale Software

Home | Products | Support | Dealers | Downloads | Search | Contact
Tech Support |Training Services | F.A.Q. | Updates

|