ITrack/Enterprise/Changelog Version 41
From ISoft Wiki
< ITrack | Enterprise
Jump to navigationJump to search
Revision as of 14:53, 4 August 2025 by Dillon Sadofsky (talk | contribs) (Created page with "==Installer== * Removed: VinPower, which is no longer used. * Fixed: an issue where the pro and EE installers were using the opposite QBFC installers, according to old chat messages, documentation in the wiki, and the source code QBSDK imports. * Added: if the user runs the installer in silent mode, default database credentials should now be written to the host.ini and odbc connection correctly. * Removed: Visual C++ 2008 redistributable package now that our application...")
Installer
- Removed: VinPower, which is no longer used.
- Fixed: an issue where the pro and EE installers were using the opposite QBFC installers, according to old chat messages, documentation in the wiki, and the source code QBSDK imports.
- Added: if the user runs the installer in silent mode, default database credentials should now be written to the host.ini and odbc connection correctly.
- Removed: Visual C++ 2008 redistributable package now that our application is built with newer tools.
- Tooling: the application is now built with newer version of visual studio and newer platform SDKs. This should mean faster and more secure applications in general, and it also means that we can drop the need for the visual c++ 2008 redistributable package that was in the installer previously.
- Fixed: an inconsistent crash that could sometimes happen when closing a screen containing a property sheet.
Database
- Added: Core Cost, Wholesale Core and Retail Core Transaction List Display Fields for the Inventory Source.
- Fixed: a performance issue that could cause f_vehicle_revenue to be slow on some systems.
- Removed: references to an ancient log table log_inventorychangecause. It is very inaccurate and causes issues. Users should generally refer to the more well maintained and more accurate log_inventorytransaction or the audit logs at log_changegroup/log_change.
- Added: (case EE-838) Added new row to importtypefield to add the user importing inventory during inventory imports to the inventory row.
- Added: (case EE-900) several fields were missing from the inventorysetting table.
- Added: (case EE-881) filters and fields to the transaction list tables to allow sorting and filtering by Customer Units on customers.
- Added: (case EE-882) filters and fields to transaction list for customer unit filters on work orders
- Removed: (case EE-794) row in inventory setting so part modification cannot see UPC as a valid column.
- Added: The beginning steps to deprecate inventory.upc
- Changed: When merging customers' options, ensure non-empty option values from the old/source customer overwrite empty option values on the new/destination customer. The user doesn't really "see" empty values, so this is a better experience.
- Added: log_vendor_merge has been modernized to match log_customer_merge for tracking what has happened in previous merge operations.
- Changed: (EE-899) p_merge_vendor_by_id has been modernized to match p_merge_customer_by_id. A set argument has been added to control what parts of a vendor should be merged. The current options from desktop have been added, and a new option, MESSAGES has been added, which desktop v41 will support.
- Fixed: p_backup_table now assumes the current database instead of `backup` if none is specified. Also, ROW_COUNT() is no longer used to see how many rows were moved between tables as this seems to behave inconsistently on some systems. Instead, we run the select on the source table to figure out if we're out of rows now.
- Added: p_archive_table_data, which uses p_backup_table internally to move rows between tables. However, it does it more performantly by going in primary key order in a specific way. In general, on very large tables, I've found it gets very expensive to do `LIMIT X, Y` with no WHERE clause on a good index to jump across millions of rows. So this version ORDERs the results by the primary key and finds ranges of the primary key to filter by and passes a WHERE clause into p_backup_table to keep each chunk constant-time across the archive process.
- Removed: for any database running with the e_archive_logs event, it will now be disabled. This event assumed it would be in the customer's best interest to move rows from the audit logs beyond a certain age to archive versions of the same tables. However, as we migrate to MySQL compatible versions of the schema, the engine of ARCHIVE must go away in exchange for row_format=compressed making the distinction moot between the two tables, and that just means its harder for the user to find rows between the 'live' logs and the archive logs. So we'll disable the archive process by default. There is an unarchive process as well (slow, but non-disruptive, so long as there is enough harddrive space for the copy) for anyone interested.
- Added: foreign keys to the workclock table to avoid situations where there are orphaned workclock rows.
- Made certain state columns wider to match across the entire system.
- Added: a database function that can look up the last known value for a given TABLE.COLUMN before a given timestamp using the audit log information.
- Fixed: an issue where a trigger contained an unused variable that could interfere with mysql 8 compatibility
- Updated: (case EE-935) the side enum for Vehiclebiditem to be in line with inventories side enum by adding "Both" as an option.
- Deprecating: workorder.type and job.type which have never been truly used. The logging triggers will also ignore them now. In a future version they will be dropped.
- Fixed: several issues on the inventory transaction list source causing location searches to work incorrectly.
- Fixed: an issue where the alternate part # field in inventory transaction list searches could cause results to display incorrectly.
- Added: (case EE-955) display fields for some WOMP fields to the transaction list
- Added: (case EE-677) inventory imports to auto assign tag numbers if not provided during inbounding
- Added: (case EE-789) ability to get manufacture information from Name during inventory import
- Added: (case EE-791) Location field to inventory import (Parity with inbounding import)
- Added: (case EE-792) Make/Model/Vin to auto cascade off of stock # being filled out during inventory import
- Added: (EE-922) Two new permissions for transaction list. (Can create reports/Can run all reports)
- Added: (EEW-511) invoice due date functions
- Updated the document search filter for Store in the Inventory Source to match the format of other Store filters in other sources in Transaction List.
- Added an OEMNumber display field to the Sales Order Source for the Transaction List.
Core Management
- Fixed: a couple misspellings and simplified some popups.
Customer Contact
- Changed: (case EE-879) Fixed an issue where the date would always update to the last time saved.
- Added: (case EE-605) Created By Column to Home screen customer contact view. This was already loaded just not an option to be shown in the table.
- Changed: (case EE-880) How date times are loaded by the Customer Contact Home and Customer Ticket so that they are time zone agnostic. Along with this local date times are now being saved agnostic to the DB in whatever time zone the connection is in. This fixes issues where they were being shown in the wrong time zone.
Customer List
- Added: merging customers that are a mix of active an inactive now automatically select the active customer as the master record.
Home
- Changed: on the sales and work orders tabs, instead of the old 'counterperson' radio box of Mine and All, there is now a dropdown that defaults to the currently logged in user, but any active user can be chosen. Deleting the selection will show all documents.
- Added: (EE-948) on the sales and work orders tabs, a new user dropdown of "customer salesperson" has been added. This allows the user to filter documents by the salesperson assigned to the customer. The default in the dropdown is blank, meaning all documents. For work orders, this will only work on service order documents.
Parts
- Fixed: (case EE-902) an issue where the to date for manual adjustments did was not included in the results
- Fixed: (CS-4530) an issue where creating new assembly components with a non-zero retail core charge would not correctly set the core required check on the new inventory records.
- Fixed: several crashes that could occur when double-clicking collection components to load a new part.
- Fixed: an issue where changing primary location on a part before creating assembly components would not inherit the new location onto the newly created components, but instead the 'previous' location would be used.
Purchase Orders
- Added: (case EE-383) Additional Fields to Item Info: Stock Type, Stock Method, Min, Max, Lead Time, Buy Package, Monthly Usage, Default Vendor
- Fixed: minor polish on the advanced page for purchase orders.
- Changed: Copied tooltips from the parts screen for consistency, and made some minor changes where appropriate for clarity and simplicity.
- Fixed: if the user did a core exchange return (from vendor core management only) and that inventory record didn't have a core bank inventory record, the system would silently return the original inventory instead. This is essentially never what the user wants, so we now pop up an error message in this scenario explaining this undesirable scenario. The system will now never return the original inventory record's quantity. The user will be allowed to either make a miscellaneous return (no inventory is relieved by the core exchange), or they can cancel. The popup also has a hint that walks the user through doing manual exchanges of non-matching items.
- Changed: previously, when using the "Returns" dialog on purchase orders, if an item did not have a core record associated, the "Core Exchange" checkbox was grayed out. This was often confusing to users and would lead them to normal merchandise returns. Now, they can always do a core exchange, but they will see the warning described above.
- NOTE: now that this is no longer locked, when the user adds any item to a PO and sets the quantity negative, they can now navigate to a previous core exchange and check the checkbox. This essentially allows the user to do one-off exchanges of non-matching items when the user wants to return an inexact but acceptable item to the vendor but don't want to set a permanent core bank on the inventory record.
- Changed: core inventory records that are not status A or H are now ignored when it comes to actually doing returns.
TransactionList
- Changed: (case EE-889) exporting from the transaction list now pays attention to the users sorted columns before export.
- Updated: (EE-922) Tooltips for when permissions are bad for saving
- Added: (EE-922) Checks for the new permissions
Vendor
- Added: (case EE-916) purchase orders tab: adjustment columns to both tables for their respective scope. Document level adjustments in the PO table and POLine level adjustments in the POL table.
- Changed: (case EE-916) total to use the stored MySql function to retrieve the purchase order total.
Vendor List
- Changed: (EE-899) the customer merge dialog has been rewritten to use a new shared database procedure.
- Added: when merging vendors, the user can now choose whether they wish to merge vendor messages, which were previously ignored.
- Added: when merging vendors that were mixed between active and inactive, the first active vendor is automatically selected as the destination.
Vehicle
- Added: (case EE-801) interchange modal from parts screen to vehicle teardown.
- Added: Automatic interchange modal popup when required fields are filled out on vehicle teardown.
- Fixed: Interchange button on vehicle teardown now works
- Removed: interchange dropdown from vehicle teardown list
- Removed: Crash on bidding page
Work Orders
- Changed: both print checkboxes are now cleared (unchecked) whenever the screen is cleared or a document is loaded. This should help avoid confusion since the print checkbox is automatically checked when a finalized WO is loaded.
- Fixed: (EE-910) an issue where loading a work order would sometimes not clear the backing data on the screen, just the view. This meant that certain things 'carried over' between loads. This lead to certain inconsistent bugs like internal WOs not reloading their cost in some corner cases.
- Fixed: (EE-910) an issue where loading a service order after loading a build order would sometimes display the parts at cost because the current work order type had not updated quickly enough.