From ISoft Wiki
Jump to: navigation, search

EE Change log version 22

REVISION 20292-20663 database version 2200


  • Starting with this version, Enterprise has discontinued support for Windows XP
  • Added: (case 32446) if the system encounters a deadlock while saving a SO/WO/PO/TO, the system will automatically retry the save operation up to 2 more times without showing an error to the user. If there are more than 3 errors (or an error that can't be auto-retried), the user will be shown the error and given an option to retry. If they choose to retry, the entire save operation will be attempted again.
  • Performance: time to load items onto a sale has been reduced by as much as 75%. This is particularly noticeable when sending many items to a sale. Also, saving time has been improved by a lesser amount.
  • Fixed: many crashes all over the system, including various image preview/attachment manager issues. This should hopefully reduce a lot of the user crashes.
  • Added: better support for various crystal report parameter types.
  • Fixed: recent windows updates were causing the error reporting dialogs to not pop up anymore. Now, they should work again. Before this fix users would notice that ITrack would simply 'close' when a crash error occurred.
  • Added: (case 33086) now, when the user has a crash in the application, extra information is captured by the application, including information about the state of the application and a screenshot at the time of the crash. This information is written into the computer's temporary files, and uploaded to our error reporting database. This should allow us to debug hard-to-reproduce crashes with less information from the user.
  • Added: the application now manages 'sessions' when the user logs out/logs in. This will allow embedding mobile applications into internal web browsers without displaying login dialogs in those pages. This will be used in the future.


  • Changed: (case 31994) drag statics can now no longer chain move operations, which can cause stack overflow on some machines.
  • Fixed: (case 32117) an issue where viewing enough images in attachment managers over time could cause a crash, depending on the windows per-process GDI object count.
  • Reconfigured: all "Configure" menu options have been sorted into the "Edit" menu, as they were redundant. Edit->Options has been removed and its constituent pages have been moved to reasonable Edit submenus.
  • Added: icons for various Edit menus that did not have them previously.
  • Fixed: some issues with menus not being active/inactive at the right times of login.
  • Updated: (case 32836) the version of curl/SSL/zlib we use for contacting the update server has been upgraded. This adds support for the more modern TLS 1.2 and 1.3 SSL encryption. For this reason, there is a new file (zlib1.dll) that is required by the application.
  • Fixed: an issue where lists could crash when the user put focus into a dropdown with no auto-complete registered.
  • Fixed: dozens of potential crashes on all screens that could be caused by financial numbers.
  • Fixed: an issue where ITDateTimeCtrl::SetFormat could get stuck in an infinite loop.
  • Fixed: an issue where combos could crash if they were destroyed while the user was killing leaving an auto-complete edit.
  • Added: the third party image library has been rebuilt to add debugging features to try to debug crashes related to image viewing.


  • Changed: previously, a single checkbox in the rebuild accounting popup controlled both whether we wanted to delete exported GL entries as well as whether we should ignore historical documents that have any exported transactions or not. These are now split into two different checkboxes. It is rarely desirable to delete exported gl entries, but is sometimes desirable to rebuild unexported accounting on a document that has been partially exported.
  • Fixed: an issue where the refresh button on the activity detail page did not work.
  • Fixed (Case 31995: Pushing entries to quickbooks once again sends correctly formatted amounts.


  • Fixed: (case 31938) an issue where approving a credit override would mark the sales order as 'updated' so if it was open on a user's screen, they would have to reload it before saving. Now they can save immediately.
  • Fixed: (case 31994) some potential crashes when opening the screen on some machines. This fix also makes loading the screen slightly faster.
  • Changed: (case 31927) credit and price approvals now exclude any expired documents from the list of documents that can be approved. If a salesperson wishes to have such a document reviewed for approval, they should move the expiration date forward in time or remove its expiration.

Crystal Reports Extension

  • Changed: the Edit->reports option is now under Edit->Global Preferences->Reports so that users don't get confused with editing their printer options.
  • Added: (case 32992) string parameters sent to crystal reports now escape certain wildcard and string characters that could cause errors when printing.
  • Added: (case 33260) Crystal "Number" parameter types now support fractional values up to 6 digits of precision.
  • Added: support for Crystal "Currency" parameters.


  • Fixed: (case 33071) an issue where payment methods that marked as not customer payment methods could still be enabled for a customer. If the user deselects one of these invalid payment methods, they will be removed from the screen. If the customer has a deleted payment method selected, it will be removed from the customer on the next save.
  • Fixed: possible query error that could occur if finding sales/payment history if a system had very long adjustment type names.
  • Fixed: a crash when going to the service tab.

Customer Contact

  • Changed: the customer contact page now renders dates in locale date format.

Customer List

  • Fixed: (case 32307) full text searches now properly know that non-alphanumeric characters such as "." or "," or ";", etc 'break up' words. They are stripped out of such smart searches so that the query that gets run is clearer. This also fixes issues where smart searches returned no results when searching for a word made of many small words shorter than the server's minimum word length (like "T.E.S.T" for example). Now those small words are not required, and therefore ignored by the database in the search.

Common Resources

  • Added: if the user gets a database connectivity issue happens during the application launch, they will now be prompted to reconfigure the database settings.
  • Added: (case 31141) the shared "Choose components to leave in inventory" popup now has a location column to show the location(s) the inventory is in. This affects when the user sells an assembly or a vehicle.

Core Management

  • Fixed: (case 32320) an issue where doing a core tag # lookup was not working in scenarios where the item was present at multiple stores.


  • Added: (Case 32049) "sequentialid" to Transaction List fields to display for Camions-Dubois.
  • Added: (case 31950) several permissions to control whether the user can general DLS quotes and/or finalized shipments.
  • Deprecating: the unused field, inventory.serialnumber. This has always been superseded by EE's multi-serial solution, so its being removed to avoid confusion.
  • Fixed: an issue where the sales order line's dateentered field was not being set by default. All historical items that were missed have been retroactively set.
  • Added: (Case# 32434) OEM# to trans list of fields to display in EE.
  • Changed: (case 28428) the Date Modified, Date Last Viewed, and Date Entered search options for inventory now compare only their dates (rather than date and time). This means a range search will find things on the 'last day' and finding parts by day is much easier.
  • Fixed: an issue where inventory records with no locations would not correctly get a VARIANCE location.
  • Added: all the setting tables now have cascading foreign keys for easier cleanup. Also, all orphaned setting values have been deleted.
  • Fixed: (case 32492) A bug where tax item parts would not be calculated correctly if the user removed the tax from some lines on the invoice.
  • Fixed (case 32492) some errors caused by bad type declarations. The procedure now verifies tax items and parts are configured correctly before saving part calculations.
  • Added: (Case #31184) ebay items to Transaction List
  • Added: (Case 28277) "Vehicle Bid Date Created" as Date Filter in the Transaction List for the Vehicle Source
  • Fixed: an issue where the vehicle teardown graph wasn't working due to a problem in the edocument template.
  • Fixed: (case 32543) an issue where vehicle parts returned on a SO would still recalculate average cost even if the setting 'Sales Orders'->'Returned vehicle parts should have a fixed cost' was turned off. Its possible this could've lead to returned vehicle parts cost increasing if they were returned multiple times.
  • Added: (case 32543) if a vehicle part is returned on a SO and the vehicle is still available, the returned COGS will go back to the vehicle as it was before the sale instead of going onto the part's cost.
  • Performance: (case 33255) locations that have millions of rows in their print queue history now take .2s to load print history on the report viewer screen instead of 8s.
  • Fixed: an issue where some queries failed to run in previous updates if the name of the database was something other than `itrackenterprise`
  • Added: (Case 33307) Inventory Serial To Transaction List Sales Order Source Fields To Display.
  • Fixed: report queue triggers now handle NULL execution time entries correctly.
  • Added: support for Currency report parameters.
  • Added: (Case 33527) Inventory Serialnumber to Transaction List for the Inventory Source
  • Fixed: (case 33561) payment method name has been lengthened to 100 characters and adjustmenttype name has been shortened to 100 characters. This fixes possible issues where queries tried to use these in the same query and they were of different lengths.
  • Added: (case 32190) useraccess table now has session management fields.
  • Added: f_UUID_TO_BIN and f_BIN_TO_UUID functions, which mimic the MySQL functions UUID_TO_BIN and BIN_TO_UUID, which are only available on MySQL 8.0 and further.
  • Added: event that automatically expires open user sessions after 2 hours of inactivity.
  • Added: p_session_start and p_session_end and p_session_keep_alive procedures. These can be called to begin a new session based on a useraccessid, close that session, and keep that session alive, respectively.
  • Fixed: (case 33665) a problem where the mass mailer would send billing statements to the incorrect recipients


  • Changed: any document parameters (like {?table.field}) that could not be found are now replaced with an empty string instead of being left in.


  • Fixed: as per user comment, the PO page's source column now shows the company name (or contact name if its blank) of the selected source address instead of the vendor's primary address. This makes the PO home tab agree with the name shown on the PO screen. If the PO's source company/contact are empty, it will fall back on the vendor's primary/billing address company name/contact.

ITrack Online

  • Changed: (case 5938) to accommodate the module in different products, this module has been renamed just "Online" in the application.
  • Added: support for OpenURL requests to force in an external browser, useful for launching a web page from a modal popup.
  • Fixed: (case 32040) an issue where data would not be passed to the internal shipping app correctly.
  • Changed: when building a POST request, key/value pairs are now encoded with CURL, as the previous methods did not encode correctly.
  • Fixed: an issue where the last piece of data passed to a web page through a POST request would be left off.


  • Fixed: an issue where new connections were defaulting into SYSTEM timezone instead of the server connection default. This could cause an issue for servers in the cloud, as their SYSTEM timezone is often UTC.
  • Fixed: the timezone shown in the session area in the corner of the system is now shown before the user logs in. Also, instead of showing SYSTEM, an accurate timezone will be shown.
  • Fixed: if the user gets an error while saving changes to users, re-attempting the save should now correctly retry the save operation.
  • Added: when the user logs in, a user session is now started in the database. This will be used for integrating with web tools in the future.
  • Added: every 15 minutes after logging in, the user session will be refreshed, keeping it alive.
  • Added: when the user logs out our closes the application, the open session will be closed.


  • Changed: the "database connection failed, do you want to configure?" popup is now phrased more precisely.
  • Added: (case 33025) previous save status now gets set back to None at the end of a save operation (Commit or Rollback) as well as Clear to avoid an issue where attempting to save after calling Rollback might cause a new object to be created.
  • Fixed: a possible unhandled exception crash that could occur if the user could not connect to the database.
  • Changed: if a query fails because of no connection, it will no longer try 3 times if reconnecting fails. This should speed up queries failing due to no database connection.


  • Added: the database update downloader will write the file Updates/UpdateQueryList.sql with all the queries that were parsed out of the main database update file for debugging purposes.
  • Fixed: an issue where a comprehensive database update would not correctly handle version tags unless they were all uppercase. Now, version tags are case insensitive.
  • Fixed: (case 33445) an issue introduced by recent windows changes where crashes were not causing any error popups. Now, the original behavior should be restored.
  • Added: double-clicking the updater status area will now always show the updater detail popup, even if there are not updates to apply.
  • Changed: if there are no updates to apply, the update downloader dialog will no longer show an apply button.
  • Changed: the update downloader no longer cuts off part of the "do you want to restart to apply updates" message. It now also says how many updates need to be applied.
  • Added: (case 33086) new types of crashes and unexpected behavior are now caught by the application and reported with the error reporter.
  • Added: if no debugger is attached, the Debug button is now hidden in the error report popup.
  • Added: now, crashes that happen anywhere in the application should be reported to the user. Before, depending on what was happening, they could be missed, causing the application to just close.
  • Added: if the user gets a crash or other unexpected termination of the application, a .dmp file and a .png file are written to the %TEMP%/ITrack/CrashDumps directory. This file should help ISoft debug the crash.
  • Added: when a crash cannot be recovered from, the "Ignore" button on the popup should now be hidden.
  • Added: new ini settings that control the crash dump information that is generated and uploaded to the ISoft servers:
    • "errorreporting" -> "crash_dump_generation" -> valid values: "small", "full", "none". The default is small, which generates minimal mini-dumps (generally about 9KB), full generates full crash dumps, which can be closer to 1MB after compression.
    • "errorreporting" -> "send_crash_dumps" (default True). If true, the crash dump file specified above will be transmitted to ISoft servers in addition to saving the file locally.
    • "errorreporting" -> "send_crash_screenshots" (default True). If true, an 'at crash time' screenshot will be generated and transmitted to ISoft servers in addition to saving the file locally.
  • Added: if the user experiences crashes but cannot upload those crashes, they will now be logged to a errorlog.xml file that is saved in the %TEMP% directory, like the crash dump files. When ITrack is launched, these queued error reports will be uploaded, including crash dump files and screenshots.
  • Fixed: some minor issues with printing the application screenshots.

Options Extension

  • Replaced: the "general" page has been replaced with a shared "Connectivity" page. This page allows full configuration of the database connection.
  • Added: (case 31950) various fields to the "Configure shipping integrations..." menu to allow the user to configure DLS and SAV shipping integrations.
  • Added: a button in the configure shipping integrations popup that takes the user to a wiki page explaining the DLS configuration.
  • Added: a help/info button to the shipping integrations page.

Part Modification

  • Changed: the change log comment dialog now has column tooltips, user locale formatted date/times which now sort correctly.
  • Fixed: (case 32029) an issue where a database error could appear when attempting to load the change log dialog if the user displayed the SKU # field.


  • Fixed: an issue where changing jobber price on the Replenishable tab would not affect the jobber price box on the part info tab. This could lead to changes not saving.
  • Added: (case 33332) a new setting "Parts"->"Require a manufacturer when saving replenishable parts" and defaulted it to False. This setting can remove the requirement on part saving that replenishable inventory have a manufacturer. This helps companies that do not put manufacturers or models on aftermarket inventory.

Purchase Orders

  • Changed: various error popups would always identify bad line items by part number, which is often blank. Now, it will fall back on vendor part # or the lookup.
  • Fixed: (case 32095) an issue where deleting the last adjustment from a PO line item would not recalculate the average cost of the line item in question.
  • Fixed: an issue where the user would incorrectly be allowed to delete a lineitem with adjustments on them. Now (as the popups suggest) the user must delete all saved adjustments and save before they can delete the line item.
  • Fixed: an issue where a return for an inherent core on a PO could not be received.
  • Fixed: an issue where changing the destination location of a serial # on a PO that has already been received might not correctly update the serial #'s location.
  • Fixed: (case 32767) an issue where an error during PO save (such as a deadlock) might keep the PO from saving correctly if the user hit save again. Now, hitting save again after an error, the PO should correctly attempt another save.
  • Fixed: an issue where TOs were not correctly saving a destination location for transferred items.
  • Fixed: (case 32767) an issue where an error during TO save (such as a deadlock) might keep the TO from saving correctly if the user hit save again. Now, hitting save again after an error, the TO should correctly attempt another save.
  • Fixed: an issue where PO lines could be created but not updated.
  • Fixed: (case 33000) an issue where transfer orders were not correctly saving the "new" quantity or "Done Receiving" the user entered, even though the items would be received.
  • Added: (case 32446) transfer order saves now automatically retry if an error occurs that allows automatic retry. Even when that is not possible, the user is now shown a retry option in the error popup.
  • Fixed: (case 33220) potential crash when edit/viewing order requests and fulfillments on POs/TOs.


Billing Statement

  • Fixed: (case 32575) minor logo space resizing to exactly match the standard expected ratio (1.45w to 1h)

Inventory By Location

  • Added: (case 32125) more quantity information with more descriptive headers, unit restock and average cost, a new parameter to filter by quantities. The new filter has more options and replaces the old setting.
  • Changed: (case 32125) Report is now landscape. Query and organization improvements.

Inventory Count Sheet - LXW

  • Added: (case 32000) a parameter to show/hide inventory barcodes
  • Changed: (case 32000) removed SKU, swapped category and tag column positions.

Labor Summary By Employee

  • Added: (case 31666) a user group parameter

Outstanding Cores

  • Fixed: (case 32575) minor logo space resizing to exactly match the standard expected ratio (1.45w to 1h)

Packing Slip

  • Added: (case 32532) additional header option to the Packing Slip report. Updated salesperson display options to match SO.

Purchase Order

  • Added: (case 32353) logo
  • Changed: (case 32353) tidied the report
  • Changed: (case 32647) moved the fax numbers up to share a line with phone numbers, labeled phone numbers
  • Changed: (case 33261) line item descriptions are now able to grow more than 2 lines.

Sales By Salesperson

  • Fixed: (case 32067) fixed an issue with the sales rep/counterperson filter parameter

Sales Order 11in

  • Added: (case 31900) sequentialid, hidden by default, to show based on a setting
  • Changed: (case 31900) new setting to be global, not store
  • Added: (case 31899) a store-based setting to include locations below part number. Defaults to False.
  • Added: (case 32332) a 6th header option, based on the existing setting. This option is identical to the default option, but with no spaces between address fields when some fields are blank. This also allows long lines in address fields to grow onto the next line, but it moves potential trimming from the right to the bottom.
  • Changed: (case 32015) hid entire line items/subtotal adjustments section of the report + section page header when the SO has no line line items or subtotal adjustments.
  • Fixed: (case 32014) Sales Order can now handle NULL salespersonuserids.
  • Changed: (case 32719) Mileage label to Odometer in the customer unit subreport. Unit label respects a new store level setting (miles, km, etc...) that is also used in the Vehicle Spec Sheet.

Sales Order Adjustments

  • Changed: (case 31458) tidied the report and improved group organization, including a top-level group by subtotal/balance adjustment.

Top Customers Trending

  • Fixed: (case 33020) the error when there were no customers returned. Report will now print blank and say "No customers found with given parameters."

Vehicle Spec Sheet

  • Fixed: (case 32242) Canadian locale settings were formatting incorrectly for vehicle year in the report header.
  • Changed: (case 32719) 'Mileage' to 'Odometer' and created a store level setting for unit label (miles, km, etc...)
  • Changed: (case 32719) the name of the new setting, which now affects multiple reports.
  • Fixed: (case 32575) minor logo space resizing to exactly match the standard expected ratio (1.45w to 1h)

Sales Orders

  • Changed: (case 31979) SOs were being saved in a way that (due to a mysql bug fixed in version 5.7.1) didn't work in older systems.
  • Fixed: (case 32006) an issue where inherent core charges were using a quantity of 0 because the 'collection quantity' (which is only used for kits, templates, and ordered kits) was 0.
  • Fixed: an issue where items with nothing left to return were sometimes being shown.
  • Fixed: (case 32007) an issue where no documents were shown in the return document.
  • Fixed: an issue where the menu item options in the save button dropdown had some items that were incorrectly greyed out.
  • Added: (case 31950) various extra pieces of information required to perform DLS shipping quotes are now passed into those requests. Also, there are new permissions that control whether the user can get DLS quotes or schedule DLS shipments.
  • Added: (case 32040) support for the source store address when building the shipping quote.
  • Added: (case 32334) all returns (previously it was only core returns) will load information from the original document automatically, so long as the current document has not been saved.
  • Fixed: (case 32440) an issue where finalizing a SO could in some corner cases get an error when attempting to assign a sequential ID, but the SO would save anyway, resulting in an invoice with no sequential ID.
  • Added: the label of the "Expired" static now turns red if the document is expired. This is so that the user knows that the document will not be considered for price or credit approvals.
  • Fixed: an issue where the resize "drag" bars were not working.
  • Fixed: (case 32552) an issue where Configure->Documents->Adjustment types and Sales Terms options were always greyed out, despite the user's permissions.
  • Fixed: (Case 32616) Miscellaneous line item returns when store credit method is "Transaction Store" now uses the document's storeid instead of being set to null.
  • Fixed: (case 32616) salesorder line's GL store id (accounting credit for the lineitem) will now handle all 4 credit methods for misc return items.
  • Fixed: (case 32740) an issue where errors encountered during a sales order could prevent things saving correctly if the user hit save again. Now, if there is an error during save, all changes are rolled back, but if the user hits save again, the save operation will execute correctly.
  • Fixed: (case 33040) an issue where deleting a line item off of a sales order did not remove any associated holds or order requests. Now, when deleting an item, any associated holds, order requests, and order fulfillments will also be deleted.
  • Added: (case 32446) if the system encounters a deadlock while saving, the system will automatically retry the save operation up to 2 more times without showing an error to the user. If there are more than 3 errors (or an error that can't be auto-retried), the user will be shown the error and given an option to retry. If they choose to retry, the entire save operation will be attempted again.
  • Fixed: (case 33072) an issue where loading a customer multiple times after adding a payment could lead to duplicate options in the payment method dropdown.
  • Performance: time to load items onto a sale has been reduced by as much as 75%. This is particularly noticeable when sending many items to a sale. Also, saving time has been improved by a lesser amount.
  • Fixed: (case 33220) an issue where ITrack could crash if a document was large enough and the user attempted to view the order requests. Several other potential crashes were also fixed.


  • Fixed: (case 32117) an issue where the image viewer dialog could crash after viewing enough images without closing the popup. How long it took could depend on the windows per-process GDI object count.
  • Fixed: when the user opened the picture viewer dialog, although the popup was focused, the user could not immediately use the arrow keys to go through the images. Now they can.


  • Added: filter to the Edit->Settings dialog.
  • Changed: rather than edit->stores... and edit->settings... being at a top level, they are now in the general "Edit->Global Preferences" submenu.
  • Performance: (case 33255) loading aggregate print history on the report viewer screen is now much faster.
  • Removed: if ITrack has no database connection, it will no longer attempt to load settings from the database.

SQL Framework

  • Added: tools for screens to easily retry an entire transaction in the case of deadlocks or lock wait timeouts.
  • Added: support for turning off auto-retry at the database connection level. This is useful when retrying transactions manually.
  • Added: transaction tools now turn off auto-retry so that we can retry at the transaction level. Failures that cause a transaction auto-retry are now logged to the query log just like automatically retried queries.
  • Changed: the debug button is now tied exclusively to whether a debugger is attached to the process. This allows debugging crashes in release mode.
  • Added: if crash dumps or crash screenshots are generated as part of a crash, they are now uploaded to our error database as part of the error report.


  • Fixed: an issue where creating new teardowns or updating existing teardowns could throw a duplicate key collision error.
  • Fixed: an issue where duplicate sold misc items would only show a single row in the cost of goods sold/consumed items list.


  • Added: when the user sends a catalog record to the inventory screen, that catalog record is immediately changed to green so that the user knows it was inventoried without having to refresh the catalog list.

Warehouse Management

  • Fixed: (case 33616) an issue where approving multiple jobs at once might cause a query error.

Work Orders

  • Fixed: (case 31954) an issue where sending a kit or template to the WO screen might cause the collection items to override existing items on the job.
  • Fixed: inherent core charges and dirty core exchanges on items in a kit or template were not loading correctly.
  • Fixed: a possible crash that could occur when deleting part of a collection from a job.
  • Fixed: (case 32315) the screen will no longer crash if the user attempts to add a part to a job while no WO type is selected.
  • Changed: the WO screen locks the part area down if no WO type is selected, to avoid adding parts before required data has been chosen.
  • Fixed: (case 32187) an issue where the job status buttons were not working correctly.
  • Fixed: an issue where editing an item after deleting an inherent core charge would still show the 'inherent core charge' checkbox checked.
  • Fixed: an issue where deleting an inherent core line item then adding it back in with the edit item dialog would not alternate colors correctly.
  • Added: (case 32536) the ability to delete multiple job parts from a job at the same time. This allows the user to delete multiple items at once like all other document screens.
  • Fixed: a crash that would occur if an attachment was removed after a save failure.
  • Fixed: an issue where the user could not add attachments to an unsaved WO (they'd get a query error).
  • Fixed: (case 32586) many different issues where, if a WO save failed for any reason, the user could not simply hit save again and have it succeed.
  • Fixed: WOs should create fewer database locks, since the save transaction is now only starts after all user popups are complete (editing customer unit, serial #, etc).
  • Changed: if an external WO needs to create a SO, that SO will now be created as part of the same transaction of the WO save, so that there won't be any issues with a partial save.
  • Fixed: (case 32791) an issue where a WO on non-misc customer units wouldn't save if the user added a new customer unit.
  • Added: (case 32446) work orders now automatically retry save operations up to 3 times if deadlocks or other automatically retryiable errors are encountered.
  • Fixed: (case 33134) an issue where, if the user had their cursor in the document notes (or some other fields), then loaded a WO from the home screen, no notes would be loaded.
  • Fixed: (case 33220) potential crash when launching the edit/view order request dialog with enough items on the document.

Release Candidate Change Log

Changelog Archives