ITrack/Enterprise/Changelog Version 40

From ISoft Wiki
Jump to navigationJump to search

Revision 24430-24823 database version 4000

Highlights

  • Parts screen handles non-deplete parts much better to help avoid confusion and difficulty
  • Huge performance pass on loading sales orders, purchase orders, and work orders. In some cases, large document loads can be as much as 50% faster in some cases (especially when loading another stores' documents). Large WOs now load 50-90% faster.
  • Major new feature to the core management system: auto-inventory cores. Using the new Configuration tab on the core management screen, you can set up dirty core returns on sales orders to automatically get inventoried and skip core management entirely. You can set a special bin location that such records will go into as well. There are also new permissions for the screen and newly improved behavior for many of the existing permissions on the screen to make it more obvious when users don't have access. As part of this, salespeople can (optionally) change the location that core exchanges go into on exchange SOs now as well, and this will affect both automatic and manually inventoried cores.
  • Notice: the VIN Decoding library being used in the background has been changed from VINPower to the online NHTSA VIN Decoder, which generally seems to return more information. VIN Decoding displays more information per decode and is now broken into more categories, and the VIN decode dialog has been made taller to accommodate this.
  • Navigating back and forth between parts that have Supersession/replacements is now much easier and more obvious. The system shows badges on the lookups tab, a non-blocking, hideable popup you can put on another screen like the attachments popup, and the user can double-click those items to "jump" to the replacement parts and "jump" back. It should now by much easier to see when an item has been replaced (and by what) and vice versa (via the links tab).
  • Users can now quickly see and go to the document that is holding a serial from the parts screen using the new "Held On" column in the serial list.

Installer

  • The installer has been rebuilt and modernized. Unnecessary dependencies have been removed, and some components updated to newer versions.
  • Added uninstaller
  • Uninstallation now removes install/release key
  • Removed instantVNC
  • Fixed: downloading TSC_Lastest tag printer installer now works again
  • Added: blat.exe is part of the base installer file shared between the desktop installers. This is because although this file (which is a command line emailer application) is generally assumed to be downloaded from the auto-updater, some anti-virus applications fail to do so, and this blocks the ability to undergo password recovery.

Controls/Tools

  • Fixed: a potential crash when modifying the icon on a button.

Database

  • Added: (EE-653) support for category.marketing_category, an optional override for category name when being displayed on the web/in marketing contexts.
  • Added: column and table comments to many tables that didn't have them.
  • Added: foreign key constraints to activitytype, activity, adjustmenttype tables where applicable
  • Fixed: several fields nullability and signed vs unsigned was fixed to match expectations.
  • Added: Customer request to add Estimate Filtering for the WO Source in Transaction List.
  • Added tax code support for inventory types (EE-705)
  • Added: (case EE-685) a search filter for whether a part is on at least one active ebay auction or not. It shows in the part search flex fields as "eBay auction (active)".
  • Added: to facilitate ebay auction searching, new database function f_ebay_active_auction_count was added.
  • Fixed: several issues where invalid payment method ids could remain on old payments or assigned to customers. Running some queries to attempt to clean that data up. Any historical payment like this will have its payment method changed to a current, valid one. Customer payment method assignments that are invalid are just deleted.
  • Added: foreign keys to payment methods to prevent data issues in the future
  • Added: foreign keys to payments to avoid data issues in the future.
  • Added: Transaction List Inventory Sellable location filter and join.
  • Added: many queries for additional Transaction List display fields for the Sales Order & Purchase Order sources
  • Added: Vehicle Stocknumber Display Field for the Purchase Order Source in Transaction List.
  • Removed: duplicate rows from an import that are not needed.
  • Added: tag # on inventory imports is now optional. This makes creating new inventory where a default tag # is assigned easier.
  • Added: inventory imports now attempt to assign a default retail/wholesale/jobber/etc price based on cost and purchase vendor via the price class system, just like the parts screen would do. However, the user can still map these fields to supply custom values.
  • Added: Join and Filter Query for Ebay Items for the Transaction List, Sales Order Source.
  • Added: (case EE-715) scripts to add new SO settings for SalesOrder11in.rpt and verify the older wo photos setting for SalesOrder11in.rpt is extant
  • Changed: length of several fields in log_vendor_merge to be MEDIUMTEXT for when really old vendors get merged together.
  • Removed: unused field purchaseorderlinehistory.paid, which was renamed to "pay" in 2011, but some systems still have the field.
  • Added: Transaction List filtering by Vehicle Unit for the Sales Source.
  • Fixed: the inventory import on the data management screen should now more correctly import/test when the user either chooses not to map the tag # column or maps it to a blank column.
  • Changed: the inventory setting for "Primary Location" is now editable by default, allowing users to change the primary location of their inventory. This was generally enabled on a case by case basis, but this will make it easier to do without contacting ISoft support.
  • Added: Payment Amount Filter for the Payment Source for Transaction List
  • Added: (EE-694) an adderscript for the new report, UserActivityByActivityType.rpt
  • Added: as per user request, add audit logging triggers to payment tables.
  • Added: Filter for Deplete Flag for the Inventory Source in Transaction List.
  • Added: Display Field for the Deplete Flag for the Inventory Source in Transaction List.
  • Added: (case EE-781) a call to create a new setting for WorkOrderExternal.rpt
  • Added: (case EE-780) calls to add the new settings for WorkOrderExternal.rpt and WorkOrderInternal.rpt
  • Fixed: an issue where the inbounding data management template was not working if the Batch ID field was mapped to a column in the raw csv instead of a fixed value. The description of the import type has been modified to notify the user that mapping the batch id does not mean that multiple batches can be imported at the same time.
  • Fixed: missing join to the Transaction List, then correct a field to point to the missing join.
  • Added: inbounding script now assigns the import user's gl department id to the line items of all imported purchase order lines of the batch.
  • Added: (case EE-854) new setting creation for PickList.rpt
  • Added: (EE-147) new stored procedure p_inventory_core_return which will perform an entire core return operation for a document line (salesorder or job part) vs the many queries currently required to do this operation from the core mgmt screen.
  • Added: a new permission for whether a user can reject a returned core. This is for completeness as we have permissions for whether the user can view/reject control most other parts of core management. This permission defaults to whether the user could reject customer cores.

Configuration

  • Added: (EE-141) the system will now close all historical user sessions if a user is locked or deactivated.
  • Added: (EE-722) the ability to mass-grant a payment method to all active customers in the system.
  • Fixed: an issue where adding a new payment method could show a number of 'in use' even though it didn't exist previously.
  • Added: tooltips to the configure->payment methods popup.
  • Changed: load file now uses non-blocking reads. This will make it so that it doesn't fail if a file is open in another editor. This fixes an issue where the browse window would silently fail to retrieve a report file or image to upload if it was locked for write.

Core Management

  • Added: configuration page
  • Added: configuration option for whether sales order dirty core exchanges automatically go into inventory and skip the core bank.
  • Added: the core management configuration screen now has a dropdown with a location auto-complete on it (with only locations that allow inventory in it). This allows the user to set the setting "Sales Orders"->"Location for dirty core returns (special value $PRIMARY allowed)". This makes this new setting more discoverable and easier to set.
  • Changed: the discard core button (which was already permission controlled before) now is grayed out if the user is set to permission level None. This makes it more obvious if the user cannot perform this action vs them getting an error popup when they click the button.
  • Changed: the reject button on the customer cores tab now works more smoothly if the user has some items selected that they do have permission to and some items selected that they don't have permission to. Previously, they'd be notified that some items were cancelled, but the other items would be rejected with no confirmation. Now, the user will be given a prompt that X items are permission blocked and they'll be given an opportunity to cancel or deselect and continue. Based on this, the process will continue with a final confirmation if any items remain.
  • Added: support for a new permission that controls whether the user can reject returned cores. The behavior of the button closely matches the new functionality of the customer core reject button.
  • Added: the reject button on returned cores is now completely grayed out if the user has their permission set to None.
  • Added: the customer cores, returned cores, and vendor cores tabs now completely hide themselves if the user has the corresponding "View" permission set at None level.
  • Added: support for returned cores initially showing a location based on the the location that was chosen on the document on which the exchange was performed. This gives the counter person the opportunity to give a suggestion for a location that the core is located at, which will carry through to the core management interface.

CrystalReports

  • Fixed: (PA-562) the edit->reports page file upload dialog now shows an error box if it failed to read the file in windows.

Customers

  • Removed: in the customer unit service history, list color would alternate between work orders, but this was confusing users, so it was removed.
  • Fixed: an issue where the regions dialog would not move itself back onto the nearest visible screen if it had last displayed on a now disconnected display.

Data Management

  • Fixed: an issue where data being converted during an import could sometimes be blank string and sometimes NULL, depending on how the user mapped the field (mapped to a blank column vs mapped to a fixed blank value) which was leading to difficulty in conversion scripts.
  • Changed: when an import is being performed, if a field token is unmapped or otherwise completely invalid, it will now be replaced with NULL instead of deleted. This will allow queries to sometimes complete in a reasonable fashion instead of resulting in syntax errors.
  • Added: the auto-map process that happens when the user loads or refreshes an import CSV now considers the sub-field sources' names. This allows more specific creation of import templates for auto-mapping purposes. The auto-map process is now multi-pass where exact (case-insensitive) matching is preferred, but a second pass is performed where matches are allowed where fields/columns that 'start with' the other are matched. Any previously mapped fields are excluded from the auto-map process.

Deliveries

  • Fixed: several crashes that could occur when interacting with run sheets.
  • Fixed: change detection on run sheets should work slightly better.

eBayExtension

  • Added: (FB-54488) a new checkbox to "Remember this Category as the default for part type XXXX" to the edit listing popup. When checked, the user's selected category will be saved in the database for future listings.
  • Removed: a deprecated field according to ebay documentation.
  • Added: support for a new tag when building listing, "Side".

Home

  • Changed: the Created column in workorders has been renamed to Date to match other document lists
  • Changed: the Creator column in workorders has been renamed to Counterperson to match other document lists
  • Added: (EE-782) attention icon for estimate WOs. Also, open estimate WOs show "ESTIMATE" in the status column now to make it easier to sort them together.
  • Fixed: the work order date range filter no longer only works if the "Show closed" checkbox is checked. You can now filter open documents by date range as well.
  • Removed: price is no longer surrounded by brackets if a document is an estimate. There are now better ways to detect and sort estimates together.

ITMySQLConnection

  • Added: comment /*RECONNECT QUERIES CHANGED FOR CONNECTION "X", RUNNING NOW:*/ to the start of the queries run by mysql every time we reconnect to the database.

Login

  • Fixed: some initialization operations were happening twice when the user would launch the application, which could cause slightly slower startups.
  • Fixed: an issue where the configure users page "Hide inactive/locked accounts" checkbox was only hiding inactive accounts, no locked ones.

Part Configuration

  • Added: (EE-653) support for a Marketing Category Name when adding or editing categories. This is an optional category name override that will be displayed on marketing websites instead of the primary category name.
  • Changed: blank marketing_name will now be saved as NULL instead of
  • Changed: (EE-667) the user can now select multiple inventory types in the Categories tab while adding, editing, or changing categories. This will make changes to all selected inventory types at once.
  • Added: the Active check on categories can now display in three states: checked (all selected inventory type(s) have this category), unchecked (none of the selected inventory type(s) have this category), and mixed (shown as ?) (when some of the selected inventory types have this category). This is part of being able to change the category setting of multiple inventory types at once.

Parts

  • Fixed: (EE-679) an issue where saving and not clearing a would prevent the user from making more changes to the same part. Now this works as designed.
  • Changed: the "new tag # assigned" popup now happens later during save. That way, all locations, Q&A, serials, and attachments have been saved before the popup appears to prevent a situation where a user might accidentally sit at that popup and prevent save completion.
  • Fixed: the print tags button on the serials area was showing the wrong tooltip for the button.
  • Added: (EE-709) there is now a user level setting that controls whether parts' attachments are public by default.
  • Added: (EE-699) various fields are now disabled on the the part info tab, aftermarket tab, and locations tab if the "Deplete" checkbox is unchecked. This is to avoid confusion regarding non-depleteable inventory, which does not and can not track meaningful quantity, locations, serials, or average cost. The full list of fields that are locked when a part is non-depletable are:

1. primary and secondary Locations 2. quantity on hand and quantity available 3. Serialization. Non-deplete parts are forced to be unserialized. There is now an error on save if this is not true. 4. Average cost and average core cost

  • Changed: the tooltips on average cost/core cost on the aftermarket tab now match the same ones as these fields on the transaction history tab.
  • Added: better tooltips to all fields that get locked down when the part is non-depletable.
  • Fixed: an issue where the SKU would not refresh if you saved a new part without clearing.
  • Fixed: an issue where collection components might use the logged in store instead of the inventory store to load items in the links page.
  • Fixed: a potential crash when trying to delete a non-existing variance location on serialized parts
  • Fixed: (EE-761) a potential crash when closing the screen if there were duplicate locations on a serialized part.
  • Fixed: an issue where loading a part with alternate part or supersession lookups tied to other inventory records would not load those other parts tag #'s up correctly (display issue only).
  • Added: The lookups page now supports doubleclicking a lookup record to load an original inventory record (if any).
  • Added: a Replacements button to the top of the screen that acts much like the images button. It pops up a non-modal dialog as well and can be toggled off and on. If you load a part that has one or more supersession parts or alternate parts, it will show a Plus icon, and it will blink for a couple seconds before stopping. If the user clicks this button, a new replacements dialog will be shown where the idea of replacement/alternate/supersession inventory will be explained, and all such record(s) will be shown. The first one will be selected, and the user can doubleclick or hit enter to load that part on the screen.
  • Added: the number of alternates/replacement parts are shown inside parentheses on the button
  • Added: the number of lookups are shown inside parentheses on the tab header.
  • Removed: the vehicle information is no longer retained when the user clears the part. This feature was poorly documented and confuses some users. It was kept for parity with ITrack Pro, where it was used for quick mass-entry of standard parts, which is generally done via teardown. For this reason, it will be removed to avoid confusion. If users dislike this change, we can make this based on a setting.
  • Added: the Q&A page serials list now has a "Held On" column. This column shows an up to date document that is holding the serial (if the serial is Available or On Hold). This helps the user track holds on serials since many users were using the Used On column for this purpose, but Used On is statically calculated and not kept up to date in that way.
  • Added: the serial filter now filters by the Held On column document #, and double clicking a Held On document will open that document.

Purchase Orders

  • Added: the errors and warnings regarding having too few serial #'s has been expanded to include if the user has entered too many serial #'s. In addition the wording of the popups has been clarified and standardized between TOs and POs.
  • Added: the errors and warnings regarding having too few serial #'s marked as received has been expanded to include if the user has received too many serial #'s. In addition the wording of the popups has been clarified and standardized between TOs and POs.
  • Optimized: (EE-748) loading POs for other stores can now be much faster.
  • Changed: load document popup now respects OS darkmode choices in the title bar.
  • Changed: the ordered checkboxes are now aligned correctly.
  • Changed: payment due dates now show in the future automatically if the terms are valid but have 0% finance charge.

Report Viewer

  • Added: (EE-164) the user can now see the "Delayed until" column in the print queue history tab. In addition, there are now filters for all job statuses and a filter to display only jobs with a delay until date.

Sales Orders

  • Added: support for more information to be sent to the tax quote service for sales order adjustment lines.
  • Fixed: (EE-654) an issue where adding or editing payments on a SO in a restricted or locked accounting period would update the payments, but not update accounting. Now, changing payments on a SO will either prompt the user that the document is in a locked period or warn them that its in a restricted period correctly.
  • Fixed: (EE-665) back ordered quantities are now taken into account when performing an external tax quote and a shipping quote.
  • Added (EE-691): the "do you wish to notify the customer's default salesperson" prompt when saving a quote now has a "don't show this message again" checkbox. If checked, that popup will not be shown in the future.
  • Fixed: a misspelling in a popup.
  • Changed: to avoid user confusion the "This item is not in inventory" attention icon now shows for non-stocked manufacturer and non-stocked vehicle items as well as purely miscellaneous non-stocked (description only) items.
  • Fixed: an issue where the screen would think the user had made an unsaved change if they loaded a document with a description-only non-stocked item.
  • Optimized: loading SOs for other stores is now as much as 50% faster.
  • Optimized: looking up locations for each inventory item on load now uses a local cache, which should make loading documents much faster when "auto choose locations" is on.
  • Optimized: loading documents now combines the check for whether items are on ebay listings. This can significantly speed up large documents.
  • Changed: whether to automatically choose locations when loading documents is checked at the document store instead of the store the user is logged into, which matters when loading other stores' documents.
  • Changed: load document popup now respects OS darkmode choices in the title bar.
  • Changed: several location-related store level settings are checked for the document or inventory record's store instead of the store the user is logged into. This matters when loading other stores' documents or inventory.
  • Fixed: an issue where return lines were not loading unreturned quantities correctly. This lead to issues where loading saved return lines would not keep the user from increasing return quantity above the original sale quantity correctly.
  • Added: the user should now always be able to choose locations for a dirty core item, no matter if the item has already been inventoried or not. This will make the system's behavior more consistent, and easier to choose the location the item will go 'into' ahead of time.
  • Added: support for a special return location for dirty core exchanges, separate from the special return location for all other returns. This setting is called "Location for dirty core returns (special value $PRIMARY allowed)"
  • Fixed: an issue where locations would not be chosen initially for a dirty core exchange, but would be after re-loading the document.
  • Changed: the tax service no longer splits zip codes into base and plus4, this helps support postal codes in other countries.
  • Changed: address validation no longer splits zip codes into base and plus4, this helps support postal codes in other countries.
  • Changed: The message box that says the user cannot delete jobs from a sales order now gives a little more information about circumstances under which it will be allowed.
  • Added: (EE-147) support for a new setting "Core Management"->"Sales Orders: Automatically inventory core returns". (Default False), if it is True, when a sales order is finalized, any dirty core exchanges will automatically be inventoried as though they had been processed on the core management screen.
  • Fixed: loading a saved SO with a dirty core exchange whose original item was serialized will no longer 'forget' that the item was serialized after you reload the document.
  • Changed: the setting for auto-inventorying dirty core exchanges is now per store instead of global.
  • Added: p_inventory_core_return now supports flags that decide what operations the procedure will perform, so that that a screen that will adjust locations or quantity can choose to not let the database procedure do it as well.
  • Added: f_serial_available now sets some session variables based on the document that is holding the serial, if any
  • Added: new database function f_serial_hold, which uses f_serial_available's new session variables to return a string of what document is holding a serial, if any.
  • Added: (EE-147) if the user finalized a document that automatically inventoried a dirty core, we now load the core bank onto the dirty core in real time. This is useful if the user does a save without clearing the document. That way, double-clicking the item will load the correct item.
  • Fixed: an issue where adding a serialized dirty core would not correctly show a location for that item.
  • Fixed: the payment due date will now show correctly even if the invoice terms have a 0% finance charge.

Search

  • Fixed: make and model now support wildcards in the series-based searches
  • Removed: a right click option for viewing vehicle results online since it went to a web site that is now gone. Also, the settings that supported the feature have been removed.

Transfer Orders

  • Added: (FB-23396) the receive all button now marks all in transit serials as received, similar to the receive all button on the Purchase Orders screen. This prevents having to open the edit item dialog and manually receive the serials.

Vehicles

  • Added: (EE-709) there is now a user level setting that controls whether vehicles' attachments are public by default.
  • Added: (EE-709) there is now a user level setting that controls whether parts' attachments on teardowns are public by default.
  • Added: when the user decodes a VIN, and the model cannot be found, the model that pops up now shows the decoded year/make/model in the prompt so that he user knows what is going on. The popup also has more space to display more models.

Vendor List

  • Removed: balance column, incorrectly copied from the customer list screen.

VIN Decoding

  • Notice: the VIN Decoding library being used in the background has been changed from VIN Power to the online NHTSA VIN Decoder, which generally seems to return more information. This will also avoid issues every December with difficult rollout of licensing updates. VinPower licensing will be supported in ITrack Pro and ITrack Enterprise up through the end of 2025, at which point, users must update to a version of ITrack that switches over to online VIN decoding or lose access to VIN decoding entirely.
  • Added: VIN Decoding displays more information per decode (though many fields are still blank on the average decode).
  • Changed: VIN information is broken into more categories, and the dialog has been made taller to accommodate this.
  • Added: compile dependency so that downstream dependencies will link now that we use curl to communicate over the wire.
  • Changed: ITVinPowerHandler has been rewritten to use our online vin decoding micro-service deployed to GCR.
  • Added: VINLookupDialog now resizes to use all the horizontal space.
  • Changed: VIN Lookup dialog no longer shows a year of 0, instead blank will be shown.
  • Added: final, live URI to the vin decoding service. Also updated the user agent string.

Work Orders

  • Fixed: a database error the user could see about invalid accounting context if accounting was disabled when performing an assembly breakdown.
  • Changed: sample sequence ID will now save as NULL instead of 0 when it is not a scheduled sample.
  • Fixed: (EE-703) when sending external jobs over onto a sales order to invoice them, ensure they go over in the order they are shown on the screen.
  • Fixed: an issue where date and date promised were not cleared correctly when the user cleared the loaded document.
  • Changed: all remaining popups now correctly respect windows light/darkmode in their title bars.
  • Added: support for loading all lineitems' messages in one pass like the SOs screen. This will help improve the speed of loading the entire document from the database.
  • Performance: loading work orders should now be 50 to 90% faster, especially on documents with many items to load. This is because we now load all items in one large batch instead of each item in a loop. Previously, each item would require 3 to 5 queries to load item info, location info, up to date work in progress and final accounting info, average cost info, etc. Now this is all loaded at once greatly reducing load time.
  • Fixed: (EE-802) a crash that could occur if the user went into 'define template' mode if they had a new template that was selected. Now the item in question will be deleted without a crash (as previously intended).
  • Added: Job # to Job list
  • Added: (EE-720) Job # to the title of the Edit Job Sub-Window

Reports

External Work Order (WorkOrderExternal.rpt)

  • Added: (case EE-781) a new store level setting that determines whether to print job total at the top or bottom of each job section. Both is also an option.
  • Added: (case EE-780) a new setting to show/hide jobid

Internal Work Order (WorkOrderInternal.rpt)

  • Added: (case EE-675) a setting to include oem number with job part descriptions
  • Added: (case EE-780) new settings to show/hide jobid and userid

Inventory With Negative Quantity On Hand (InventoryWithNegativeQuantity.rpt)

  • Changed: (case EE-767) tidied the report

Pick List (PickList.rpt)

  • Added: (case EE-854) the ability to order the report by original document line item rank, per a new setting. By default, the report will still group by location.
  • Added: (case EE-854) a new setting to include 0 qty items, which could be informational
  • Fixed: (case EE-854) row duplication issue when include 0 qty setting was set to true

Picking Label (LabelPicking.rpt)

  • Fixed: (case EE-657) sizing
  • Fixed: (case EE-657) barcode formula error

Receiving List (PurchaseOrderReceivingList.rpt)

  • Fixed: This report was incorrectly reporting itself as PurchaseOrders.rpt in the process list, which caused some confusion when investigating slow processes.
  • Optimization: on databases with many serials, this report was very slow due to how purchase order lines were being joined to serials that were created on those Purchase Orders.

Sales By Customer Type (SalesByCustomerType.rpt)

  • Fixed: (case EE-756) report query aggregation issue causing incorrect subtotals and adjustments to show on the report

Sales Order (SalesOrder11in.rpt)

  • Added: (case EE-715) new settings to attach up to a given number of part images and SO images in addition to WO images.
  • Fixed: (case EE-832) a row duplication bug related to images associated with line items

Tag (Tag.rpt)

  • Added: (case EE-633) a new setting to show Condition next to Category, false by default. Category will have less space when showing Condition.

Time Clock Log (TimeClockLog.rpt)

  • Added: (case EE-606) settings to specify activitytype sort order.
  • Fixed: (case EE-606) setting-based sorting

User Access Log (UserAccessLog.rpt)

  • Added: (case EE-577) a new simple report that shows log in information
  • Fixed: (no case, quick fix) typo in the page header

User Activity By Activity Type (UserActivityByActivityType.rpt)

  • Added: (EE-694) a new time clock report that groups by activities, then user. With totals.

Work Clock Times (WorkClockTimes.rpt)

  • Added: (case EE-694) the ability to group workorder and internal entry breakdown into exclusive activities (when possible)