ITrack/Enterprise/Changelog Version 30

From ISoft Wiki
Jump to navigationJump to search

General

  • Fixed: in the attachment area, an issue where filenames including UTF-8 characters would fail to load/save. Now these attachments will correctly load from the disk or save to the disk. This commonly comes up when people paste attachment filenames with smart quotes from the internet.

Database

  • Changed: (case 42365) most of the email columns in the schema have been changed from VARCHAR(100) or VARCHAR(320) to TEXT. This is because the email RFCs I can find allow up to 125 recipients per email with 250 characters per address. This allows bigger recipient lists.
  • Added: (Case 42497) - Added Inventory Stock Type and Stock Method to both the filter and display fields of the Transaction List.
  • Added: (Case 42559) Added Quantity Available to the display fields on the Transaction List Screen.
  • Fixed: The EPA Charge field in the Transaction List for the Work Order source was incorrectly mapped to job.laborcharge instead of job.epacharge.
  • Fixed: an issue where the document pricing function could throw an error if the customer had duplicate, overlapping contracted prices on the item.
  • Removed: (case 42626) several ebay shipping methods that are not supported by ebay any longer.
  • Changed: glentry, gltransaction have had the precision of their decimals increased, to allow transactions in the hundreds of millions.
  • Fixed: an issue where p_inventory_adjust_cost might throw an error if the user adjusted a PO for an amount that differs by hundreds of millions of dollars.
  • Fixed: (case 42674) an issue where p_salesorder_saved could be slower than necessary because of a MySQL query planning bug. Some salesorderline indices have been removed: `inventory`(inventoryid, inventorystoreid) has been removed because its redundant with available_speed index. Also, hold/type are not very selective indices, which makes them slow down things if mysql uses index_merge in its query plan (see https://www.percona.com/blog/2012/12/14/the-optimization-that-often-isnt-index-merge-intersection/ for more info). Also, these columns are in available_speed. This has made p_salesorder_saved and f_calculate_inventory_allocations 90% slower than necessary.
  • Changed: (case 42656) moved a part of t_inventory_post_update to t_inventory_pre_update to handle when the primary location gets changed, but changed to a value that can't work. In that case, inventory.location gets set to the correct value after the attempt. The most common scenario here would be when a user had two non-permanent locations:

1 @ A -1 @ B If the primary location got set to B, the locations would get their quantities merged, removing them, which could cause an issue in the trigger. Now, inventory.location will end up as after this operation correctly. Also, this trigger no longer resets the session variable @SUPPRESS_INVENTORY_INTEGRITY_CHECK after execution.

  • Added: logging in t_inventory_post_update now checks the session variable SUPPRESS_LOGGING to see if logging should be skipped. Useful for large operations that could cause a lot of logging to be generated.
  • Changed: p_inventory_move_primary_location now handles scenarios better where changing primary location in a way that lead to combining locations and destroying them.
  • Changed: t_inventorylocation_post_update now uses a session variable to cache a value read from a setting. This makes updating large numbers of inventorylocation rows faster.
  • Added: status column to the ebayauction table. This stores the listing status returned by ebay so that we know which auctions are active and which are not.
  • Changed: salesorder.websaleid and salesorderline.websalelineid have been changed to facilitate 64bit integers used for ebay listings.
  • Added: salesorder.websaletype to differentiate between documents being linked to a HeavyTruckParts.net ecommerce sale or an eBay sale.
  • Removed: the columns in the ebay tables that linked to documents, as they are no longer necessary.
  • Added: retroactively, any sales to the ebay customer set up in settings will be connected up to ebay transactions so that they will correctly show an 'Invoice #' in the transaction list.
  • Added: Case 43829: Add Vehicle VIN# to Transaction List for the Inventory Source
  • Added: Case 43832: Add Store Filter and Vehicle Inventory Type Field To Display to the Transaction List for the Vehicle Source
  • Added: a table that is used for optional password blocking based on security preferences.
  • Changed: useraccess.username is now long enough to store an entire username.
  • Added: (case 24295) support for useraccess.accesstype of 'Session Unlock'

CreditCardProcessing

  • Updated: version of internal PAX S300 credit card terminal version. This should correspond to newer versions of the terminal firmware.
  • Added: support for terminal communication types of "HTTPS GET" and "SSL". These are essentially secure versions of the web terminal and ethernet options.
  • Added: support for level 2 commercial credit card processing. This mostly involves passing the local invoice # in as a vendor PO # and the tax amount.
  • Fixed: a minor issue where "prompt" is chosen for credit vs debit might not correctly set the transaction to Credit.

Customer List

  • Fixed: memory leak in the finance charge assessment popup.
  • Added: (case 37650) customer cores and returned cores tabs now have columns for manufacturer/model of the originally sold item.
  • Fixed: an issue where the uneditable columns on the returned cores tab were no longer being grayed out.

eBay

  • Fixed: the edit template popup no longer lets the user do multiple-lines in the subtitle box. This is to more closely match the behavior of the auction upload's subtitle box.
  • Fixed: (case 42396) an issue where the user could not continue to type into the title/subtitle boxes in the edit template popup once they filled the box.
  • Added: (case 42420) {?OEMNumber} as a tag for both Pro and Enterprise. Also, {?InventoryID} has been added to the pro templates to more closely match the syntax of EE templates.
  • Changed: in the 'edit template' popup, the sub-title field has been changed to be single-line to more closely match the format of the auction upload dialog.
  • Changed: better column sizing in the default shipping methods area of the account settings.
  • Changed: the edit listing popup now puts "or best offer" near the listing settings (like the account settings area does).
  • Changed: the edit listing popup now puts the "Global Shipping" option in the shipping configuration area.
  • Fixed: the description and return description boxes no longer scroll horizontally as well as vertically, as this required unnecessary scrolling. Now long lines will appear to 'wrap'.
  • Fixed: the "paypal immediate pay" setting was not transferring to new listings correctly.
  • Fixed: the "global shipping" setting was not transferring to new listings correctly.
  • Fixed: most settings on part type templates were not transferring to new listings correctly. Now, they will apply if present, but if no template is found, the global settings will be used instead.
  • Fixed: adding/editing/removing shipping options from a part type template was not working correctly.
  • Changed: "returns accepted" no longer viewable when editing the default template settings. This is because this setting is set elsewhere on the account settings.
  • Added: if a template refers to the {?Price} field, it now respects the "use retail + core" setting.
  • Fixed: the return policy description now supports {?Tags} like the description, title, and subtitle.
  • Fixed: (case 42561) when uploading listings with images, the number of image uploads is now restricted to the number of public images on the item (up to 12).
  • Fixed: (case 43736) several issues where times that were returned by eBay were not interpreted in the correct timezone, leading to issues where auctions would not show as closed when they were.
  • Added: (case 43736) when we retrieve items from eBay, we now ask for the listing status, which can be Active, Ended, or Completed, which we report to the user. This has replaced the previous auction status column, which was only based on the end date of the auction.
  • Removed: the transactions page, which duplicated behavior from the auctions tab, but had several bugs in it. Completed auctions can be searched for and invoiced from the auctions tab.
  • Changed: the tag # column on the screen now shows the item tag #, not the SKU of the item. If the related inventory item could not be found, <NOT FOUND> is displayed in the tag # column.
  • Added: if the user double-clicks the tag # column in the ebay auctions list, the part will open on the parts screen instead of opening the auction on the internet.
  • Changed: many columns have been resized, rearranged, and renamed to make using the screen easier. Some important columns are now bolded.
  • Removed: several columns that were redundant or confusing.
  • Added: tooltip descriptions to all list columns.
  • Added: (case 42749) quantity on hand column to show current stocking levels. If these are lower than the quantity left to sell on an auction, the cell will be red with an attention icon. Double-clicking such a cell will prompt the user to cancel the auction on ebay.
  • Changed: hold id column and create hold button have been hidden in ITrack Enterprise, as we will handle holds a different way.
  • Added: listings that come back as Ended or Completed are now a light or medium gray to distinguish from active listings in a mixed search.
  • Changed: many columns now show as blank instead of "0" to make finding items with sales or uninvoiced sales easier.
  • Fixed: (case 42628) the auctions tab would lose the user's sort and selection if they refreshed the results from ebay or changed filters.
  • Fixed: an issue where "invoice #" column in the transaction list would not get filled out after the user invoiced an ebay sale. Now this column will show "<store #>-<Sale #>", and double-clicking it will open that item on the document screen.
  • Added: double-clicking a tag # in the auction list will open the item on the parts screen.
  • Changed: the column "To Invoice" now correctly shows the number of completed sales that have not been invoiced yet in ITrack. If this is not 0, the cell will be green with an attention icon. Double-clicking this cell will create an invoice for an uninvoiced transaction.
  • Added: the 'time left' column now 0-pads the numbers it displays to 2 digits so that the column will be easier to scan and sort.
  • Added: (case 36613) new filters to the auctions page "W/eBay sales" and "Need invoiced". The first will limit to results that have been sold at least once, and the second will limit to those listings that have online sales that have not yet been turned into invoices in ITrack.
  • Fixed: (case 42628) an issue where the user's selection and sort order in the new listings page would be lost if the user edited any listings. Now their sort order and selected item will be retained.
  • Added: (case 42750) new listings now default to the remaining quantity on hand in inventory, instead of always 1. The user is also now allowed to edit quantity on listings. However, this only applies to fixed price listings, as auction listings do not support multiple quantity.
  • Fixed: the user can now enter a buy it now price for normal auctions (not just fixed price listings).
  • Fixed: reserve price on normal auctions now works.
  • Fixed: (case 43846) an issue where "Or best offer" was not working on fixed price listings.
  • Fixed: an issue where paypal immediate pay was not being sent correctly on fixed price listings.
  • Removed: (case 43846) characters such as (, ), <, >, &, and others are no longer 'HTML encoded' in the listing's title and subtitle because these fields do not support HTML. However, this is still done in the description template to support HTML in that area.
  • Fixed: when the user cancels one or more auctions, the entire auction list is no longer re-loaded from the database. This will speed up this operation and reduce flickering.
  • Fixed: an issue where auctions that were cancelled would show up as active until the user refreshed all auctions from ebay.
  • Fixed: an issue where the user's selected item in the auction list was not correctly reselected in some scenarios after a refresh.
  • Added: the user can now select multiple auctions at once. This is currently useful for cancelling more than one auction at a time.
  • Added: totals to many columns in the auction list. These display some useful totals and summaries regarding the items the user searched for.
  • Fixed: (case 44120) an issue where loading and resaving a document created as an ebay auction would remove the connection to the auction.

GlobalSettingsExtension

  • Added: the EE ebay interface now correctly loads the shipping width/height/length into the ebay items to be listed.
  • Added: inventory.quantity is now retrieved for auction items for telling if there is enough quantity on hand.
  • Added: we now check for sales orders connected to ebay transactions in a new way that will automatically recognize if a new sale is created or voided.
  • Added: (case 28580) inventory.quantity is now an available tag in the edocuments format for ebay auction templates as {?Category}
  • Fixed: (case 42588) an issue where the first time a setting in a given category/location was checked, it might retrieve a value of (blank) instead of the correct default.

ITrack Online

  • Added: support for running general API::Requests. The previous GraphQL related request is now a subclass called API::GraphQLRequest. A lot of fixed behavior has been moved in as default functionality into API::Request.
  • Added: support for HTTP GET based API::Requests.

Login

  • Added: new user passwords can now no longer match the user's first or last name, or their work email or recovery email, due to ease of guessing that kind of password. It also cannot contain the account name, as this does not add any complexity to guessing the password.
  • Added: the change password popup now shows some warnings/errors as the user types, and some other, slower tests when the user leaves the field.
  • Added: support for many new (optional) Password security settings, including minimum/maximum length, minimum number of characters from character classes (upper, lower, special, number), checking against a block list of the top 10k passwords, checking to see if the password was involved in any password breaches, and making sure the password doesn't match any recent passwords the user employed. All of these settings default to off.
  • Added: support for a global setting to set a threshold on how many breaches a password must be involved in before it is not allowed. Below this, the user simply sees a warning.
  • Added: (case 24295) as part of logging in, a new setting is checked "Security"->"Passwords: maximum number of days between user password changes" which checks to see if the user has changed their password recently enough. If not, they are shown a popup forcing them to change their password now.
  • Added: (case 24295) a new global setting: "Security"->"Passwords: number of days before password expiration to prompt user to change password". This represents a number of days before password expiration to begin prompting the user to change their password and let them know that the password will expire soon.
  • Added: (case 24295) support for locking and unlocking user sessions. There is now a menu option File->Lock Session which will lock the current session, requiring a password to continue. This is useful for security when a user walks away from a terminal. By default, this can be activated by Ctrl + L, but this hotkey can be customized in the user hotkeys dialog.
  • Added: (case 24295) a global setting of 'minutes of inactivity before automatically locking user session' (defaults to off). If a machine has no activity for this many minutes, the session will automatically be locked, requiring the user to type in their password to continue.

Master

  • Added: a separator to the File menu for better organization.
  • Added: support for customizable user hotkeys in top level menus. This is being used in the new File->Lock Session option.
  • Fixed: the help->about box now correctly shows all modules loaded by the system with their full absolute path on the file system.
  • Fixed: an issue where help->about module list wouldn't show modules correctly if the working directory was not the install directory (common in terminal services installs).
  • Fixed: an issue where help->about didn't show modules where the module name and filename didn't match.
  • Added: by request, the help->about box now shows the last file modification time for each module. This is useful when checking to see if files were downloaded and applied during update without opening windows explorer. This dialog now has a large minimum size to facilitate more data that is shown in it.
  • Added: the help->about box now splits the directory off the filename so that the filename can be more obvious and easier sorted. The version and filename are now bolded and the path and hash are slightly gray to make the important information easier to see.
  • Added: help->about now has a last modified timestamp, which is read from the file in the filesystem.

Parts

  • Fixed: an issue where, if a company had the setting "Clear locations when copying a part" set to True, when copying replenishable parts, the default store location might automatically be added to the newly created part, which seemed against the spirit of the setting.
  • Changed: the 'default' location for a part at a store is no longer automatically marked as permanent on replenishable inventory to avoid situations where this 'placeholder' location was sticking around forever at some yards.

Payment Entry

  • Added: icons to various buttons in each area of this screen.
  • Added: the allocation dialog now bolds the invoice #, balance, and amount paid columns. This should make where the allocations are more obvious.
  • Fixed: an issue where reopening a previously created payment allocation might check the 'use balance' checkbox on items where the entire balance was not paid.
  • Changed: (case 42445) to avoid user confusion, if you uncheck 'use balance' on an invoice in the allocation popup, the 'amount paid' is now reset to whatever it was before the user opened the popup (generally $0). Discount amount is also reset (if any). This means that checking, then unchecking 'use balance' should no longer leave the entire invoice balance in the amount paid field.
  • Fixed: several issues with improperly sized buttons and tab order.
  • Fixed: memory leaks on various batch/payment lists on this screen.
  • Fixed: incorrect date sorting in the history list.

Purchase Orders

  • Fixed: (case 42656) an issue where receiving of items after loading a PO would not use the default PO receiving location.
  • Fixed: (case 43972) a possible crash that would occur when a user would change counterperson on a PO with a newly added item selected.
  • Fixed: an issue where loading an item by typing into the lookup column would not refresh the contextual pop-out pages on the left side of the screen.

Sales Orders

  • Fixed: (case 42715) the shipping/billing address of an invoice converted from an ebay purchase was not being set correctly, leading to this info clearing out if the document got refreshed.
  • Added: (case 42716) converting an ebay purchase into an invoice did not copy the buyer's email address into the document billing/shipping info.
  • Fixed: the screen will no longer show the 'this item is already on an ebay auction' attention icon when the user is editing an invoice created from an ebay auction.
  • Fixed: an issue where saving a document might throw a database error related to ecommerce columns.
  • Added: more information passed to the credit card processing system to support level 2 commercial card transactions, which can have a better rate for the user.

Search

  • Added: (case 32079) part search results now show a count of active ebay auctions for a given item. Double-clicking this icon will open that auction in a browser.
  • Changed: (case 44054) when the user performs a part search, their cursor should now go back into the field they were in if there were no search results.
  • Fixed: tab order at the bottom of the screen is now in the correct order.
  • Added: (case 39245) the "Purchase Vendors" info pane on search now has a "Price Class" and "Ordering Group"

ITSQLFramework

  • Changed: the host.ini setting for using ssl (secure connections) now defaults to on for new configurations instead of off. Generally, most servers support connecting securely and this seems like a good default moving forward.

Work Orders

  • Fixed: error messages related to unconfigured part gl settings now show what is in the "lookup" column instead of the part tag #, since it was difficult to understand which item the error was for.
  • Changed: the 'pick sales order to invoice WO' popup now sorts items better and has better default column widths.
  • Fixed: (case 42563) the user might see incorrect error popups saying something like "One or more labor entries/tasks/jobs/parts were invalid". This could occur when the database was busy. Now the screen will correctly automatically (and silently) retry the save operation in such a case. The error messages have also been updated to be more specific. This also means that if a database error occurs, it will no longer be hidden by one of these popups. But the previous message will still be shown in the status bar if the save fails.
  • Added: (case 42602) if the user attempts to save a work order with nothing on it (empty document) they will no longer be allowed, by user request. The popup will allow them to easily close the screen, as the user often clicks save when they mean to just close.
  • Changed: by user request, one can now manually add assemblies to WOs. We allowed it through automation on the Parts screen already, so maybe this is best.

Reports

Billing Statement (Billing.rpt)

  • Fixed: (case 38398) added a : after company phone number in the tearoff
  • Fixed: (case 38398) removed leading : in the tearoff
  • Changed: (case 43944) excluded $0 balances on OIA mode
  • Fixed: (case 43944) payments allocated to "future" invoices outside of the billing cycle range not filtering by store, which was an issue when not doing centralized Billing.rpt
  • Added: (case 43944) setting to include customer mailing address after street address
  • Changed: (case 43944) excluded second customer company/contact line if they are the same

Internal Work Order (WorkOrderInternal.rpt)

  • Fixed: (case 39694) odometer mileage now references workorder mileage (at time of WO)

External Work Order (WorkOrderExternal.rpt)

  • Fixed: (case 42639) Finalized/Unfinalized flag
  • Fixed: (case 39694) odometer mileage now references workorder mileage (at time of WO)

Labor Log By Employee (LaborLogByEmployee.rpt)

  • Added: (case 42582) user parameter, worker group parameter, and open/closed column

Parts Remaining By Vehicle (PartsRemainingByVehicle.rpt)

  • Changed: (case 40851) storeid filter now applies to parts inventory instead of vehicle units, excepting vehicles with no parts.
  • Fixed: (case 40851) excluded cost from vehicles not associated with the store when filtering by store

Sales Order (SalesOrder11in.rpt)

  • Added: (case 40868) separate job parts and labor subtotals above grand SO subtotal, enabled by a new setting. No visible changes by default.
  • Fixed: (case 39694) odometer mileage now references workorder mileage (at time of WO)

Unmoved Inventory (UnmovedInventory.rpt)

  • Fixed: (case 40353) minor query inefficiency and filters requiring the existence of a default vendor and part type