Difference between revisions of "ITrack/Pro/Changelog Version 16"

From ISoft Wiki
< ITrack‎ | Pro
Jump to navigationJump to search
Line 1: Line 1:
REVISION 23186-23561 database version 160001
REVISION 23186-23561 database version 160001
Entered release candidate on 8/23/2022
 
Release candidate built 8/23/2022


==Highlights==
==Highlights==

Revision as of 16:27, 23 August 2022

REVISION 23186-23561 database version 160001

Release candidate built 8/23/2022

Highlights

  • About box now shows more version information
  • Search screen load times greatly improved
  • Major usability improvements to eBay screen
  • Several quality of life improvements to the QB screen
  • eCommerce integration improved

General

  • Added: the help->about box now shows the database version as well as the product version.
  • Added: the help->about box now shows the product version each file in the application were designed for and ones that don't match the product version are shown in red with an attention icon.
  • Changed: the Help->About dialog no longer looks for a file called ITrack.exe and instead reads the product version from the main module itself in memory, in case the application ever uses a renamed entry point file.
  • Changed: if the user closes the application or it fails to load before its visible, the application will no longer overwrite the 'last' size/position of the application in settings.
  • Added: during loading extension modules, the product version of each file is now checked. If the major version of a loaded module does not match the master module, it will be put in a popup for the user to alert them to this (potentially) erroneous state.
  • Added: so that users can avoid seeing this popup on every launch, the popup has a "don't show this message in the future" checkbox. If checked, all those *specific* files at those versions will be remembered for that user. If any new files (or existing files at new versions) are seen later, they will be shown to the user again. The user can choose to continue loading all modules (previous behavior) despite the version mismatch, load only those modules whose version matches (skip bad files), or close the application.
  • Minor changes to lists to attempt to work around the crash reported in case 54051.
  • Various improvements to the installer file to modernize and fix many issues with dependencies and SSL certs.
  • Fixed: an issue where clicking the 'close application' box would prevent change detection messages from appearing for any open screens.
  • Removed: an old "Are you sure you want to close" confirmation popup on application close that had been broken for awhile.
  • Added: if the user has windows dark mode turned on, the application title bar will now show dark.

eCommerce Synchronizer

  • Fixed: an issue where a NULL shipping amount would prevent invoice creation.
  • Fixed: an issue where failing to load a customer would still attempt to create the invoice without a customer. Warning in the logs updated to reflect this.
  • Fixed: misc items (items with no inventoryid) were not correctly creating non-stocked invoice lines.
  • Fixed: an issue where misc items were created for $0 instead of online sale price.
  • Changed: we no longer filter out remote sales that are in Pending or Charge Failed status, as those are no longer used. However, we do filter out status 'closed' as those are 'completed'
  • Changed: if a new remote sale line is found for an invoice that was already downloaded, that line will not be pulled into the system. This will avoid issues with circular creation for new lines created from ITrack.
  • Added: (case 53591) customer approval status is now pulled for all local documents to be compared to remote document information. If any documents have a status that is not correct, they are updated en-masse.
  • Added: when remote documents are marked as paid, the local documents will have payment records created.
  • Added: we now check a setting for default payment method for payments created from the ecommmerce integration. It defaults to Online Payment. If such a payment method can not be found, one will be created.
  • Added: for Pro integrations, After adding a payment in the local system, we now call p_invoice_recalculate to ensure that paid/balance stay accurate based on the newly created payments.
  • Fixed: a crash when attempting to build a line item description if the inventory record had no description.
  • Added: more log output for work being done to create payments for later reference.
  • Added: (case 53996) ability for web payments to be created and associated with the quotes created as internet sales.
  • Fixed: a bug where pro payment method creation wasn't working right.

Database

  • Removed: a database function that had been inconsistently added to some systems that was never made vanilla. It is no longer needed.
  • Added: (case 52200) validation has been turned on for the 'manufacturer' in the inventory model list import so that the user will get better feedback if the import sheet has bad manufacturers.
  • Added: FULLTEXT search for vehicles.
  • Changed: Part search FULLTEXT search to include tag #
  • Added: Alter customer and vendor tables to add FULLTEXT indexes
  • Added: new stored procedure p_customer_aging based on p_aging, but it uses output parameters, which makes it easier to call from other procedures and functions. In addition, this function now uses invoice balances instead of total - payments. I also reversed out applied credit from a customer balance perspective, because 5$ of applied credit may decrease the document balance, but it does not affect the account balance.
  • Changed: p_aging has been rewritten to just use p_customer_aging to share code.
  • Added: new function f_customer_balance which uses p_customer_aging to compute the current balance of a customer, considering all factors.
  • Fixed: Case 53900. We no longer use the v_customer_balance view for getting customer balances. This query updates a chart that used to use that view, but now uses f_customer_balance.
  • Fixed: (Case 53968) the strPublic param for function f_attachment_count could not support 'Both' as the function tried to change it to '%', which is not one of the valid enum values.
  • Case 53840. Add ATV/UTV eBay categories
  • Added: (case 53996) payments.quotenum, which allows a payment to be created and be associated as a down-payment for a quote. This is currently only used when payments are created from e-commerce transactions so that they don't get created more than once.
  • Fixed: an issue where f_check_setting was not passing the default correctly, so newly created settings were returning NULL for their current/default value.
  • Drop: f_inventory_attachment_count as f_attachment_count replaces it.
  • Fixed: Add locking for the p_set_setting procedure to avoid errors that could occur if the procedure gets called with the exact same input parameters at the extact same time.
  • Fixed: an issue with p_set_setting that was breaking pro desktop such that after the user set a new setting value, that value would not be updated in memory, causing it to show the wrong current value until the next login.
  • Added: speed indices to the vehicle model table that will make loading and searching data for make or model dropdowns faster.

Customer Contact

  • Fixed: an issue where initially opening the customer contact home page might take a long time because it loaded all customer names for display. Now, only visible customers will be loaded (for speed) and only when needed.

CustomerList

  • Changed: customer balances are now computed in a much faster and simpler way.
  • Removed: the ability to turn off customer balances in search, as they are now fast enough to always show.
  • Changed: result print no longer pre-computes balances for the report.

eBay

  • Fixed: an issue where typing a new ebay customer in could crash if the user had to be taken to the customer list to choose between multiple matches.
  • Fixed: an issue where hitting "choose customer" to pick a new customer account might not update that information correctly after the user chose a result on the customer list.
  • Fixed: (case 56737) an issue where refreshing data from ebay could disassociate a sale on ebay (transaction) from the sale in ITrack, leading to the screen to show previously invoiced transactions as still needing invoiced.
  • Added: a "search" button, which reloads auction and inventory data from the database manually.
  • Added: an "auto-refresh" checkbox, which controls whether making changes to the auction filters will automatically do a search immediately or wait for the user to click search. This will speed up situations where there is a lot of data to load, and the user wants to make many changes to the filters without waiting for the search to complete in between. The user's preference for this check will be saved between sessions.
  • Added: a checkbox that will filter results to just those auctions that have a matching inventory record and hide the rest. This is useful when an ebay account has historical auctions that were not created from within ITrack and the user does not want to see those records. The user's preference on this checkbox will be saved between sessions.
  • Fixed: an issue where searching results might not scroll the selected item into view if the user had an auction selected before hitting search.
  • Added: the user's preference for the "need invoiced" and "w/ebay sales" checkboxes are now saved between sessions.
  • Added: support for the new "w/inventory records" checkbox when searching auction data.

Home

  • Fixed: (case 55700) an issue where saving a document that is not type "Quote" (such as Delivery, Work Order, etc) would not refresh on the home screen correctly after a document was saved.

Login

  • Fixed: an issue where users were allowed to proceed with password recovery on accounts that had no recovery email set. The grace period on this has ended, if any account has not had a recovery email set at this point, to recover their password they must talk to support or administration at their own company (depending on security settings).
  • Added: the password recovery email template now has information about the computer/install at which the reset attempt was initiated from to make it more trackable if a malicious third party is locking accounts by beginning a recovery attempt on them.
  • Added: if the security setting "Passwords: minimum count of online breaches to restrict passwords at" is set to "N/A" or a negative value, the user will be warned but not restricted on this system.

Parts

  • Fixed: (case 52181) an issue where using the copy part feature but not assigning a manual tag number could lead to a crash after creating the part copy.
  • Fixed: (case 54070) a weird issue where, if the user opened a part associated with a sold/crushed vehicle, they'd see a popup when they tabbed off of the vehicle tracking # field. This could lead to getting stuck in an error loop in very specific circumstances.
  • Fixed: a memory leak in the assembly component choice popup.

Quickbooks toolkit

  • Fixed: an infinite loop that could be encountered if the user attempted to export more than 200 customers at a time.
  • Added: invoices page now has a date range filter for handling particularly large invoice/payment exports.
  • Fixed: badly sized column widths on invoice page.
  • Fixed: an issue introduced in 2017 where selecting more than 200 invoices to push might attempt to push some of those invoices more than once.
  • Added: to avoid issues of quickbooks being overwhelmed by too large of an export, pushing invoices and payments now stops before it gets to 200 total items to push per attempt. If the user selects lots of items, they're just pushed in 200 item chunks. It used to push items until it would hit 200 invoices, but that could be way over 200 total items considering payments and other items, now its less than 200 total items.
  • Fixed: an issue where most tabs would not load correctly when the user navigated to that tab. Now when the user goes to a tab, those items will be refreshed from the database automatically.
  • Fixed: an issue where clicking export on a couple pages would not export that data.
  • Fixed: a crash that could happen when hitting the sync button on the customer tab.
  • Added: busy 'wait' cursor while an export or sync is running to make it clearer when they have begun and finished.

Quotes

  • Fixed: (case 55700) an issue where saving a document that is not type "Quote" (such as Delivery, Work Order, etc) would not refresh on the home screen correctly after a document was saved.

Sales

  • Fixed: (case 53631) an issue where attempting to load items that had a custom-entered tag number that differed from the unique part number would not work correctly.
  • Fixed: an issue where a user must have the "edit sales" permission to change the shipping address of a sale, even if the sale is new/unsaved. Now, that permission is only required to set the shipping address of a previously saved sale.
  • Fixed: (case 53884) an issue where it appeared the user could check the "Apply Balance to Purchase" but it would not work. Now, the user can check this box on saved invoices so long as the account is carrying a credit balance.
  • Changed: "Apply Balance to Purchase" has been renamed to "Apply Credit to Invoice" and moved down near the invoice balance. In addition, the unlabeled 'credit applied' field that was floating in the header is now under the apply credit check. This section is hidden on very small screens since it is not always useful.
  • Fixed: an issue where the 'apply credit' checkbox would be checkable in some states when loading a document when the customer didn't have a credit balance.
  • Added: customer balance is now computed in a faster and more consistent way to match customer list and reporting.

Search

  • Performance: loading the search screen is now 3 times faster. The speed of loading dropdown data has been increased and several redundant queries were eliminated for speed. In addition, user permissions were being checked repeatedly and now they are cached after the first check to speed up UI operations.
  • Fixed: (case 56737) several issues on the vehicle search page where a make, model, or series with certain characters could result in query errors when loading model/series lists or when searching by models that match a series.
  • Changed: doing a part search by vehicle model is now much faster due to how models with matching series are loaded.
  • Performance: the vehicle search page no longer refreshes the make/model/series dropdowns every time the user leaves a related field. Now it will only reload these values when the user changes a related field. This will make the interface snappier as a user tabs through controls, especially if they don't change values.

Transaction List

  • Fixed: (case 54119) an issue where the transaction list might throw an error when showing payment detail.

Vehicles

The following fixes were made to the costs tab of the vehicle screen: 1. The user could create a cost without vendor or cost type, but it would crash trying to look up those invalid values. It will no longer crash due to invalid vendor or cost type. 2. The query that loaded saved costs would not correctly load ones that had no valid cost type. They will now be loaded. 3. If you created a cost without a valid cost type or vendor, the 'update' button to correct your mistake was grayed out. Now you can update it to valid values. 4. The bottom of the screen *said* that vendor, cost type, and amount were all required, but they were not being checked. I made it so that if you hit new cost (or update if you're updating an existing one) it would check those 3 fields and not continue adding/updating if one of those values was bad. 5. The 'update' button would also crash if you updated to an invalid cost type/vendor. Fixed. 6. When you created a new PO/poline, the partnum that got saved into the table was a big negative/invalid number because it was an uninitialized integer. This would probably create bad data. I updated it to use 0, and to save that as NULL since that is easier to query for. I'm not sure what partnum was supposed to be saved here, but at least it doesn't save a completely strange value anymore. 7. If the user selected a cost with a valid cost type, then selected a row with no valid cost type, the wrong cost type would be shown.