ITrack/Enterprise/Changelog Version 20

From ISoft Wiki
< ITrack‎ | Enterprise
Revision as of 13:42, 20 July 2018 by MarkHardisty (talk | contribs) (Created page with "=Release 20.0= EE Change log version 20 REVISION 19702-19971 database version 2000 ==Master== * Changed: the error reporting system now formats Windows COM errors in a more e...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Release 20.0

EE Change log version 20 REVISION 19702-19971 database version 2000


  • Changed: the error reporting system now formats Windows COM errors in a more easy to understand format. These errors could be reported by partner applications, such as QuickBooks, VINPower, and Crystal Reports.
  • Added: company code box to the about box. There is also a 'copy to clipboard' button next to it.
  • Changed: product code was renamed to workstation code and has become an edit for easy copying. There is now a 'copy to clipboard' button next to it.
  • Added: the About dialog now has field and column tooltips.
  • Added: the about dialog now has a 'updater version' column that shows the version of each module for the current install according to the versionlist table.
  • Added: the about dialog now saves and loads its last known position.
  • Changed: the query log will now have a default comment style and automatically run reconnect queries across all products. Previously, they were not run until the login dialog was displayed.
  • Added: the queries that are run automatically when the database connection is established (or reestablished) are now logged to the query log.
  • Performance: minor efficiency gains every time a query is run.
  • Added: the status bar now has a couple more areas designed to store information about the site the user is logged into as well as the timezone of the connection. This is useful for scenarios where users are logging into systems in the cloud, or into sites with different timezone settings.
  • Changed: before logging in for the first time, the site and timzone indicators will now correctly get reset.
  • Fixed: a crash that could happen when the user attempted to change a status pane.
  • Changed: reconnect queries are only run once less when the application launches.
  • Added: support for retrieving the current database connection time (or current system time if no database connection could be found). This is used by date/time pickers across the software as the 'default' date/time to show.

MySQL Connection

  • Changed: increased the number of times the database connection will automatically retry a query due to a server disconnect to twice instead of once.
  • Added: Case 29287 basic support for getting/setting a connection timezone on the database connection.
  • Fixed: an issue where reconnect queries could be run before the connection was established.
  • Added: GetConnectionTime, which returns the current timestamp, according to the server. This will be useful when comparing local timestamps to saved server timestamps and saving objects with the correct time, despite computers in different timezones.
  • Performance: to make code faster, when we get a connection time, the UTC offset is cached for calculating subsequent connection times. This offset is recalculating any time the hour changes or the connection timezone is changed.

Crystal Reports Extension

  • Added: when adding a report from a file, the user visible report name and parameter names now automatically format more human readable forms, using our database dictionary. Spaces are automatically added between capital letters.
  • Fixed: Case 24372 an issue where report descriptions with newlines would sometimes be turned into two line breaks.
  • Fixed: version was not being exported with the report.
  • Added: Case 24372 a DELETE statement is run to remove all parameters that are not in the current list, to possibly remove historic unused parameters.
  • Added: support for setting logging timestamps based on connection timezone in those cases where its different than local timezone.
  • Changed: if a date/time parameter being sent during a print job is invalid, the current connection time will be sent instead of the current local system time.
  • Changed: Case 29286 all datetime values passed to Crystal Reports as report parameters are now converted from the timezone of the local database connection to the timezone of the server, as that is what the crystal report will be querying in. This should avoid any misunderstandings in situations where these are in different timezones.
  • Fixed: Case 30331 an issue where numbers with thousands separators were not being sent to print jobs correctly.

Administrate Databases

  • Fixed: Case 29729 an issue where the file import tab would have the type and checkboxes readonly, so the user couldn't change them.
  • Fixed: an issue where the csv import area would add too many backticks to table and database names.
  • Added: support for 'parentrowid' being specified when building trigger definitions. This information is now saved into and retrieved from the block comment in the generated triggers.
  • Fixed: an issue where toggling between trigger and ITObject modes could result in bad table parses.
  • Fixed: several issues where unnecessary columns were showing in various modes.
  • Fixed: an issue where unchecking a table for triggers might sometimes get undone when the user selects the table again.
  • Added: support for BEGIN_CUSTOM_END_OF_FILE and END_CUSTOM_END_OF_FILE as a section at the end of header ITObject files. This is useful for declaring things at the end of a header (like an Auto-Complete class).

Common Resources

  • Fixed: an issue where the next/previous page buttons in the log viewer didn't work.
  • Changed: Case 29948 the log viewer now attempts to find child objects using parentrowid instead of looking for objects by inserted row, as that can be much slower.

Data Management

  • Added: the column order/widths for the field tree and 'todo' list now load and save.
  • Added: Case 5432 import type fields now have a 'rank' for ordering fields by something other than display name.

SQL Framework

  • Added: The ability to set what type of 'connection times' returned to the application. By default, it uses 'local time' which is being used for all products that are not ready to have timezones controlled by the database yet.
  • Added: the ability to convert from date/times in the connection timezone to date/times in the server timezone as well as UTC+0 time (GMT timezone)
  • Performance: refactored the way normal queries are run to make the common case fast (running queries on the default connection no longer requires a lookup).
  • Changed: if a database object has not changed, it will no longer start a transaction or commit/rollback that transaction. This speeds up scenarios where large lists of objects get Save called on them, but many of them have not changed, leading to lots of delay in empty database transactions.


  • Added: all date/time pickers now default to the current date/time of the default database connection instead of the local system time.

ITrack Online

  • Changed: HTTP headers we send to be dash separated instead of underscore. For the details on why, see Brain's notes in Case 30214


  • Fixed: Case 29383 an issue where an unconfigured system would throw a database error from appraisals.


  • Added: Case 29384 if the inventorysetting table is empty when the parts screen is opened, the user is now shown a user readable error instead of the screen silently being unable to save any part changes.
  • Added: if one or more inventory setting rows are missing, the parts screen now assumes reasonable defaults so that the screen can still save those fields. However, certain features like change logging, global fields, etc will break if those rows are missing.


  • Added Case 28568: Customer Response tab added, for viewing customer responses and entering customer response information.


  • Added Case 28568: Customer Response tab added, for viewing customer responses.

Customer Response

  • Fixed Case 28583: Removed erroneous foreign key constraints.


  • Fixed: Case 29385 an issue where p_document_refresh_autopick_history might throw an error if the user had duplicate locations that matched whatever the autopick location was at that store.
  • Added: Case 28872 Added stored procedure for finalizing move jobs from scanner. Part of migration from functions to stored procedures
  • Removed: Case 29447 a setting relating to VINPower that is no longer in use.
  • Removed: an unused setting the the Use Interchange Application checkbox on search preferences.
  • Added: Case 29597 vendorcatalog.upc was present in some databases and not in others. It is now standard.
  • Added: upc option to vendor catalog import type.
  • Added: Case 29613 the pickable purchase order view now inverts quantities so that PO returns can be picked
  • Fixed: v_deliverable_jobpart now works again, the previous version had not been updated to deal with the renamed address table correctly.
  • Added: Case 29613 v_pickable_purchaseorderline and v_deliverable_purchaseorderline have been adjusted to correctly allow return POs to be picked and delivered.
  • Added: Case 29613 p_document_refresh_delivered now correctly sets the sign of quantity picked and quantity delivered as negative numbers for documents that are incoming instead of outgoing.
  • Fixed: Case 29580 an issue where changing the vehicle on a part would not update the old or new vehicles' teardowns to reflect this.
  • Added: Case 27223 when quotes or hold orders expire, any associated payments become unassoiated with the document, but remain on the customer.
  • Added: Case 27223 when a quote/hold order/lost sale gets saved after it has been voided or closed, any associated payments become unassoiated with the document, but remain on the customer.
  • Added: extra escaping to a query to avoid parsing issues (see Case 29841
  • Fixed: an issue where picked/delivered quantities for purchase order lines had the wrong signs.
  • Fixed: an issue where the AFTER INSERT trigger on inventoryserial was incorrectly named.
  • Added: a BEFORE INSERT trigger on inventoryserial that will update the sales order or work order's serial # if the user renames the serial on the parts screen. This should speed up the save of serialized parts.
  • Fixed: default inventory Q&A was sometimes being tied to inventoryserialid 0 and sometimes -1. I've updated all the 0's to -1's and deleted any duplicates.
  • Fixed: an issue where the nightly hold recalculating event was incorrectly set to run every minute.
  • Removed: some CRM queries in v19, which had errors. The queries were released more correctly in version 20 anyway, and these bad queries were causing some users issues.
  • Changed: Case 30128, Case 30561 balance adjustments are now considered in the interval matching the original invoice instead of the adjustment date. This affects 30/60/90/etc... balance intervals in ITrack and on some reports (Aging, Billing Statement).


  • Added: Case 29447 VINPower errors are now reported with more specific and easy to understand error messages. This includes the error for invalid developer code and invalid path. Also, these errors now use the shared error reporting dialog so that they can be reported to ISoft support.
  • Fixed: Case 29893 an issue where the vehicle stock # was being specified twice when creating or updating vehicles if the user specified a custom stock #.
  • Fixed: an issue where the totals at the bottom of the bidding/teardown list wouldn't add up the price/cost columns correctly.


  • Removed: the "use interchange application" preference has been removed because it did not affect the search and was resulting in user confusion.
  • Changed: the search preferences page has been rearranged for clarity.
  • Fixed: Case 29860 several info panes were throwing database errors. They now work as designed.
  • Removed: Case 30691 the 'cost' field on the search totals area was confusing some users. Although the tooltip said it was replenishment cost, it was being skewed with actual cost. Because quantity on hand * replenishment cost does not represent a useful figure in ITrack, the field has been removed in favor of various inventory valuation reports.

Purchase Orders

  • Fixed: a bug that was causing the return dialog to not show any line items and cause the system to crash on close.
  • Added: Case 1152 the purchase orders screen now has an "Item Info" tab on the left side that shows quantity available, on hand, on order, returned, picked, and delivered for the selected line item. This is similar to the same area on the Sales Orders screen.
  • Fixed: Case 29830 an issue where POs were failing to adjust inventory locations and were instead throwing a query error.
  • Fixed: Case 29830 an issue where the 'get new PO #' button was not working correctly on certain versions of MySQL.
  • Fixed: Case 30293 an issue where p_item_transferred was being called instead of the correct p_inventory_transferred.


  • Fixed: Case 29994 an issue where saving a part with lots of serial #'s would take a long time to save, even though nothing needed to be modified.
  • Fixed: an issue where changing a serial #, but then filtering the serial # list to not show it would cause that change to not be saved.
  • Changed: now that the database triggers update the sales order and work order lines when serial # changes, the screen will no longer do it. This should speed up saving.
  • Fixed: an issue where hitting "Use default location" when saving a new part with QoH might create an inventory record that triggers a primary location update on the next save.
  • Fixed: Case 30080 an issue where changes to Q&A for non-serialized parts (or the Q&A on the default serial) was saving but not loading.
  • Fixed: possible scenarios where the user would reorder the serial # list, causing the default Q&A to show the wrong info.
  • Fixed: default (non-serial) Q&A is non consistently saved so as not to create duplicates later.
  • Added: when the user adds a new serial manually to a part, the Q&A is now copied from the default serial Q&A, as per the design.

Sales Orders

  • Fixed: Case 28574 previously, the terms dropdown was only visible if the document type allowed payments. Now it is always visible. This is because documents that affect customer balances require terms to finalize.
  • Fixed: Case 30293 an issue where p_item_transferred was being called instead of the correct p_inventory_transferred.
  • Fixed: Case 30323 an issue where returning inventory to a store other than the one that sold it would throw an error that copying inventory between stores had failed even though it had not failed.
  • Fixed: Case 30617 an issue where dirty core exchanges on the same document as the original inherent core charge might have the wrong GL store if the user changed the store credit dropdown.

Inventory Overview

  • Fixed: Case 30177 an issue where vendor searches were throwing a database error.


  • Changed: the user name in the status bar is now just user name instead of User @ store. This is because the store is now displayed in its own status bar area along with the timezone of the connection.

Work Orders

  • Fixed: Case 31688 an issue where performing assembly breakdowns did not correctly grab GL accounts for parts created by the breakdown, which would cause an accounting error to be shown.