Changelog

Enterprise Desktop

Historical migration note: This release maps the wiki entry for 2010-07 to the last commit on main in that same month.

The original SVN-era release branch/tag history is unavailable, so this is a best-effort date-based reconstruction.


2010-07-29

WorkOrders

  • Fixed: an issue where loading an external WO after loading an internal WO could cause the master parts on the internal WO to 'move' to the external WO.

2010-07-27

Common Resources

  • Fixed: incompatibility with new files.

CreditApproval

  • Removed: some explicit index usage in the main query. These were added at some point to make the query faster, but those same indices were found to slow down certain other views (the queries inside vquote and vinvoice).

Customer

  • Changed: the invoices list is now displayed in a tree control. This should eliminate any lingering sorting issues where child items (payments and adjustments) weren't staying beneath the appropriate parents (invoices). This should resolve bug 1543.
  • Added: there is now a user setting: Customer->Sales page: Automatically expand all invoices. It defaults to true. If the user sets this to False, when they view invoices on this tab, there will be a small [+] next to invoices with payment/adjustment history, but the user will have to click it to view that detail (hidden by default).
  • Fixed: some unnecessary flickering on resize.
  • Fixed: reduced flickering when resizing the screen.

Database Updates

  • Fixed: finventorylastusagecost and finventorylastusageprice now have a decimal(10,2) return value instead of a string return. This helps when searching by these fields on the search screen.
  • Fixed: renamed a couple of inventory settings' display names to be less ambiguous (make and model are not vehicle make and vehicle model).
  • Added: new permission for replicating inventory (as per bug 1508).
  • Added: new view vquote. This view returns all salesorders that are open and all closed salesorders that didn't affect inventory (everything that vinvoice doesn't return). This view returns several calculated fields that are useful, like expired.
  • Changed: vopenquote now selects from vquote based on closed and expired.
  • Changed: some indices on the SO table have been modified to make the v_quote view faster in general.

ITSQLFramework

  • Added: made some changes to the way databsae functions are called. This will break compatibility with the old version of the extensions (full re-release necessary).

Master

  • Added: support for drag and drop in list controls across all modules.

Parts

  • Fixed: the links tab wasn't resizing properly (bug 1542).
  • Added: store-level setting "Default quantity for new misc parts" (along with 2 more for aftermarket and standard parts). This allows stores to control what quantity appears by default in the quantity field on new parts being entered on the parts screen.
  • Fixed: switching stock categories now correctly changes the available quantity if the QOH changes.
  • Added: the screen now only allows the user to replicate inventory to stores the user has access to under the new permission: 'Parts'->'Can replicate parts'. (See bug 1508)
  • Removed: the "Opt-in to beta/testing features" check that suppressed the breakdown button for most users. This means that this feature is now generally accessible. Send all feedback on this system to ISoft Data.

Payment Entry

  • Fixed: if gl accounting was off, the user received an error telling them to configure some accounting figures.

SalesOrders

  • Fixed: sales order adjustments now properly save their 'date' field. Initially, it is the date the adjustment was added. When the SO is finalized, the adjustment's date will be the same as the date the SO was finalized.
  • Fixed: reduced flickering when resizing the screen.
  • Fixed: the override credit approval dialogs are suppressed if the user is voiding the document.
  • Fixed: previously, searching any field by range (such as searching "Location" and "Location Through") assumed that the values were numbers, which messed up searching non-numeric fields by range. (bug 1525).
  • Added: search now uses 'alpha-num' comparison to decide which item is the smaller when searching things by range. That way, if you search: "Location":"D-1", "Location Through":"A-2", the system will realize that the "A-2" is smaller and put it first (as the bottom of the range).
  • Added: several info panes have been modified to make sales order history more clear. The Allocations, Sales/Usage, and Quotes/Estimates panes no longer overlap. Allocations shows all open, unexpired documents that are holding quantity (invoices or quotes). The Sales/Usage pane only shows closed SOs and WOs that consumed stock/affected inventory. The quotes/estimates pane shows all other documents, which would be all open documents that aren't allocating stock, and all closed quotes and estimates (quote/estimate history was not visible on search before).
  • Added: the vehicle info pane options have the above modifications, but now they also have new options for viewing the Sales/Usage or Quotes/Estimates history for the whole unit only, or all items on the vehicle.
  • Fixed: doing range searches on the vehicle search tab now works even when non-number columns are searched. (bug 1525)
  • Fixed: searching vehicles by Q&A works correctly again.
  • Fixed: searching vehicles by the whole unit flex fields works correctly again.

Vehicles

  • Fixed: a crash when hitting cancel on the browse for file dialog for adding images.

WorkOrders

  • Added: there is now a print job button underneath the job list. For now, this button doesn't do anything, but soon it will allow the user to print a report for just the currently selected job.
  • Fixed: the CCC notes area now resizes slightly smaller to accomodate the buttons above them.
  • Fixed: the job totals in the job list now stay up to date as parts, labor, prices, and quantities change. (bug 1555).
  • Fixed: if the user sets a job to have a fixed labor price, that fixed price will now stay when the user reopens the job dialog (bug 1555).

2010-07-14

Search

  • Fixed: vendor code searches were joining the vendor table onto the search twice, causing a database error (bug 1527).
  • Fixed: several search preferences weren't being considered when building part searches (such as the interchange search options and the "use availability info" option). (bug 1524)
  • Fixed: database error caused by searching for fields stored in tables other than inventory (such as stock #, or part type name).

2010-07-13

Customer

  • Fixed a minor issue with the payments button where loading the dialog could end up taking a very long time.

Home

  • Added: each page is now set up to do delayed-load. This way, each page is only loaded into memory when the user first visits it. This makes opening the screen faster and lowers load on the database.

Vendor

  • Fixed: vendor's screen is now compatible with new shared resources dll.

2010-07-12

Common Resources

  • Added: standardized email dialog function calls.
  • Added: 'attach images' checkbox to the dialog allowing the user to easily disable the feature where images are attached to the email (depending on email method).
  • Added: screens that use the email dialog can now specify some attributes that start as unchecked (making it so that they are available, but not in emails by default).
  • Fixed: the email dialog now correctly shows field name instead of field value in the list on the left.

Customer

  • Added: all lists on the sales history tab now remember the user's last column order and configuration.
  • Added: all dates in the list now use the user's windows locale date format.
  • Fixed: issue where invoices weren't sorted in the correct order.
  • Added: user setting to remember whether to hide the lineitems list by default or not.
  • Fixed: when the user opens a payment, the correct payment method will be selected in the dropdown, even if the user's allowed payment method list has been changed to disallow that payment method (bug 1503).

CustomerList

  • Fixed: a query error that could occur if the user assessed finance charges with no stores selected.

Database Updates

  • Added: the gl department field is now optional in the job template table, as we don't require all users to utilize this feature.
  • Fixed: an issue where, if a SN had been transferred on 2 transfer orders (in sequence) and the SN was marked received on both TOs (but the TOs weren't actually done receiving), the SN could remain in an 'On Hold' or 'In Transit' state indefinitely.
  • Added: public flag to all attachment tables (bug 1496).

ITMySQLConnection_d

  • Removed: locking around a certain connection function that kept query cancelling from working (like on the search screen).

Master

  • Fixed: a rare crash when opening screens.

PartConfiguration

  • Added: each page is now set up to do delayed-load. This way, each page is only loaded into memory when the user first visits it. This makes opening the screen faster and lowers load on the database.

Parts

  • Fixed: a crash that could occur if new components were added to a collection and the part was saved (and not closed). All the following changes apply to the new Breakdown dialog on parts:
  • dozens of interface improvements and additions.
  • Important columns in the list are now bolded.
  • There is now a 'create' checkbox. All checked components will be created by the breakdown operation. Unchecked items are ignored in costing calculations.
  • Quantity to create is now taken into account when calculating cost per item. Added a total cost column.
  • Added a couple buttons to quickly select or deselect all currently visible components.
  • Assemblies attached to a vehicle can now always have their total dispersal cost changed.
  • Beginning a breakdown now starts with no components checked but with a disperse quantity of 1.
  • The dialog now warns the user if the entire cost is not allocated or if a breakdown involves no parts.
  • The retail price costing mode is now implemented.
  • If an integral component is marked for removal, all parts will be marked for removal and the assembly will get set at a disperse quantity of 1 if it was 0.
  • Added: the breakdown dialog now formulates a request object that gets sent to the WO screen when the user hits ok on the breakdown dialog.
  • Fixed: default image directories now use ITrack Enterprise rather than ITrack Pro defaults.
  • Added: advanced assembly breakdown mode to the assembly breakdown dialog. When this is checked, the WO generated for the breakdown is opened on the WO screen (unfinalized) instead of finalizing automatically in the background.
  • Added: 'public' column to the attachments list. The user can use this to control the recently added public field in the database. Once it is finished, this checkbox will allow the user to control which attachments (similar to images) show up on HTP.net.

PurchaseOrders

  • Added: the POs/TOs tabs now only load 'on-demand'. This means that if the user opens the screen, the first page will be loaded, but the TOs tab won't be loaded into memory until the user visits that page. This makes opening the screen faster, and lowers unnecessary database load.
  • Fixed: purchase orders page now properly sizes initially.

SalesOrders

  • Fixed: Display issue where pennies were incorrect.
  • Removed: manual drag + drop enabling (AfxOLEInit) because it is done by ITrack.exe now.

Search

  • Fixed: Searches with 0 results now show up in logged searches (when enabled).
  • Fixed: by user request, hitting enter on dropdowns 'confirms' the closest match to the current entry (and does not perform a search). If the user hits enter on a dropdown when its dropdown box is not visible, a search will be performed. This means that typing 'DE' in the manufacturer dropdown and hitting enter would select "DETROIT" and close the dropdown. A subsequent enter keystroke will perform a search.
  • Added: Smart Search is now recorded in a reasonable way in the search logging system.
  • Fixed: the email button now works with the new vehicles email functionality.
  • Fixed: an error where the cancel button on the search in progress message box wouldn't do anything. The following changes represent an extensive rewrite of the search screen's 'back-end' to make the screen load faster, operate faster, and search faster.
  • Removed: vehicles page. It seems evident that the whole units tab is a sufficient replacement and we aren't going to need it. Its removal makes the file smaller, and execution slightly faster.
  • Added: Central document object shared between all pages. It contains all data that is shared between tabs. It also does most of the initializing for the data used by the screen. This way, every page can be loaded 'on-demand', meaning that each page is only loaded when the user visits it. This cut average search screen load times from 3-3.5 seconds down to 2 seconds during tests, this represents nearly a 50% speed improvement during loading.
  • Fixed: many queries and data accesses have been combined between tabs into the Search Document loading. This has reduced overall number of queries run on initialization.
  • Removed: all references to the derelict 'Vehicles page'. It seems that we have pretty fully moved to whole units as the new vehicles and this page and its handling code were taking up memory space.
  • Removed: the old 3 'vehicle flex field' options on the search defaults page. These were leftovers from the old vehicles search page and didn't have all the appropriate options in them. Now, there are 4 vehicle flex fields that correspond to the flex fields on the whole units page (and are filled with those options).
  • Moved: user preferences for part/search maximum result count and warning count have been moved to the user settings in the database instead of the ini file.
  • Fixed: there was an issue where searching by a flex option that required a join wasn't utilizing those joins in the query. This was because the necessary join string wasn't being populated in the SearchOption structure. I noticed this issue due to an error report on the error reporting database.
  • Removed: references to the old 'interchange search' saving system in EE (a holdover from pro) because the current search logging system should be a superset of that functionality. This should slightly speed up all searches and when the user sends results to any screen.
  • Fixed: the way that vehicle part searches are done has been standardized so that they will return the same results no matter if its done from the vehicles screen or the vehicle search tab.
  • Added: performance increase: if the user has chosen to count pictures (for parts or vehicles), this step is not performed until the first search. This makes loading the screen faster, though the first search may take slightly longer.
  • Changed: renamed the Quotes/Estimates and Sales/Usage infopane options to be more self-explanatory and standard between vehicles and parts.
  • Added: the Quotes/Estimates and Sales/Usage infopane options for vehicles now show all parts on the vehicle (including the vehicle itself).
  • Added: there is now an Allocations infopane option for vehicles, which shows documents allocating the whole unit.
  • Added: all dates in the info pane results are now displayed in the user's windows date format (and sorted accordingly).
  • Added: Appraisal functionality. Works on Parts and Vehicles (vehicles that use special inventorytype #s won't be searched correctly!). Not having a valid configuration for AppraisalExtension.dll will result in the button being clickable one time. On fail-click, a message box pops up describing the issue, and then the button disappears. Per Bug #883.
  • Fixed: Whole Unit searches weren't clearing on a new search.
  • Fixed: issue where deleting and adding an image to a vehicle at the same time could cause the newly added image to not be added (bug 1506).
  • Fixed: flex searches now work correctly when another screen initiates it (such as tag # search initiated by the parts screen).

Vehicles

  • Replaced: the old email method has been removed and replaced with a global function on vehicles. This means a vehicle can easily be emailed from anywhere in the software, even if it isn't loaded on the vehicles screen. This required rewriting much of the email functionality on vehicles.
  • Added: many more fields are getting exported to the vehicle email operation. (bug 966)
  • Added: the user is prompted to save the current vehicle before emailing it.
  • Fixed: before, if the user saved a vehicle without clearing it, the user might still be prompted to save it again later.
  • Fixed: hitting the view button on the advanced page now works in more cases.
  • Fixed: if you choose to 'view' a new image on a vehicle, the image file is now written to the temporary files directory instead of the windows directory.
  • Changed: the buttons have been rearranged to group similar functions together better.
  • Added: there is now an email vehicle button and a print spec sheet button in the bottom left corner. These allow the user to easily email the vehicle info, or print a spec sheet for the currently loaded vehicle.
  • Added: 'public' column to the attachments list. The user can use this to control the recently added public field in the database. Once it is finished, this checkbox will allow the user to control which attachments (similar to images) show up on HTP.net.

WorkOrders

  • Removed: old 'fixed job price' checkbox on the job dialog.
  • Fixed: resized items on the job dialog to fit in better.
  • Added: new button: 'scale prices' located above the parts list. This button is designed to replace the functionality of the fixed job price feature. Instead of fixing the job price at a certain value, the user can now simply 'scale' the prices of all the parts on the current job (or the entire WO) so that the total matches a certain value. This was requested in bug 735.
  • Added: scale item prices dialog that pops up when the user hits the scale prices button mentioned above. From this dialog, the user is asked: 1. if they want to change the prices of all parts on either the current job or the entire WO 2. if the want to scale items prices based one their current price or their cost 3. which total they want to specify a fixed value for. The options are: current job parts total, current job total, WO parts total, WO subtotal (before tax). 4. And finally, they are allowed to input a money value representing the total they wish the WO or job to have.
  • Added: assemblies added to assembly breakdown WOs now have their cost override flag set so that the cost doesn't deviate from the specified value.
  • Added: when assembly breakdown WOs are performed and the assembly item's QOH isn't changing, the assembly item on the WO is detached from the inventory record (like a non-stocked item) so that finalizing the WO won't affect QOH.
  • Fixed: when the user uses the enter button to close the job dialog, all data is now saved (bug 1495).

Historical migration note: This release maps the wiki entry for 2010-06 to the last commit on main in that same month.

The original SVN-era release branch/tag history is unavailable, so this is a best-effort date-based reconstruction.


2010-06-23

WorkOrders

  • Added: preliminary work on creating a work order for breaking down an assembly. The process so far will create a work order, find (or create if they don't exist) an appropriate work order type and job template, add the components as master parts, add the assembly as a job part, and finalizes the WO.
  • Fixed: a bug where shop fees that were a percentage of labor cost would sometimes update on the screen, but an different (older) number would be saved to the database.

2010-06-17

InventoryOverview

  • Fixed: crash when sending transfers to the TO screen. (bug 1460)

2010-06-16

Common Resources

  • Added: a new shared dialog for presenting the user with a dialog containing a single dropdown and having them make a choice between the presented options. This is being used currently by the Configure->Shipping Methods dialog to make a user choose a shipping method to replace a deleted (in-use) shipping method.

CoreManagement

  • Added: the vendor core tab is now only visible if the user is set up to 'opt-in' to beta features (in the user settings).

CrystalReports

  • Fixed: The reports page on the edit options dialog now correctly saves/modifies reports as the user would expect. This means that the user can modify, add, or remove reports through this interface now (bug 952).

Customer

  • Fixed: the warning that would popup when voiding a sales order or payment on the customer screen was a little out of date. It now gives the user more accurate and concise information.
  • Fixed: if the user has a limit to the number of customer units to display on the service tab, it will now show that number of units (rather than a smaller amount depending on how much Q&A is associated with those units). (bug 829)
  • Fixed: a user with no edit permissions who loaded an existing customer might see the wrong store selected for some alternate addresses (mentioned in bug 1431).
  • Fixed: customer screen was erroneously saying that a change had been detected when the user loaded a customer and had no permission for editing billing addresses.
  • Fixed: using commas in the mileage field on the customer unit dialog was allowed, but it caused the rest of the number to get cut off. (bug 1451).

Database Updates

  • Added: new transfer order permission for voiding TOs.
  • Added: new field to transfer orders to track the last date a TO was received (bug 1325).
  • Added: new permission for accessing the new configure->Document…->Shipping methods. This permission can only be None or Global.
  • Removed: shippingmethod.qbid from those databases that still have it.
  • Fixed: bug in version 151 database update that could cause the lost sales document type to get messed up or removed.
  • Added: a couple new columns to the collection table for use in upcoming features in the assembly/breakdown.

ITMySQLConnection_d

  • Fixed: the use compression option was sometimes being used even when it was not turned on on purpose.

ITrackOnline

  • Added: the status bar now displays the URL that it was told by code to visit

ITSQLFramework

  • Added: compatibility with new database connection scheme.

Login

  • Changed: renamed the confusing Configure->Users…->Users to Configure->Users…->User permissions and settings.

MAS90Accounting

  • Fixed: updated to be compatible with recent changes to transfer order objects.

Master

  • Fixed: compatibility with new database functions.

PartConfiguration

  • Fixed: the part configuration screen now gives a user friendly warning (instead of a database error) if a manufacturer was modified to have the same name or code as another manufacturer. (bug 1155)

Parts

  • Fixed: issue with some versions of windows when a user used the open file dialog to attach exactly one image or attachment.
  • Added: as per user request (bug 1430), the transactions tab now colors void documents red and puts the word VOID at the end of the document type.
  • Fixed: similar parts button now correctly sends the sub-interchange # to the search screen for exact interchange searches. (bug 1168)
  • Added: the assembly breakdown button is now only visible if the user is set up to 'opt-in' to beta features (in the user settings). This will be removed when the feature is complete.
  • Added: breakdown dialog now displays various data about the components and assembly itself.
  • Added: the breakdown dialog now has 3 costing method radio buttons: fixed (manual), ratio (uses the cost factor of each component to calculate cost), and retail price (not yet implemented). The user should be able to configure the cost of component parts, but the dialog isn't complete yet.
  • Added: columns to the collection list for the user to configure component cost factor and whether the part is integral to the assembly. Cost factors allow the user to say how important each component is to the total cost of the breakdown. Components that are marked as integral will automatically disperse the assembly when they are removed (by default).
  • Added: tag # and quantity columns are now bold.
  • Added: quantity and cost factor columns only allow numbers to be entered.

Payment Entry

  • Fixed: date column in the allocations dialog now sorts correctly and uses locale dates.

PurchaseOrders

  • Added: added a field that shows what user created a transfer order (bug 698). This field is read-only and shows the user that was logged into the terminal that the TO was created from.
  • Added: the 'created by' field on TOs and 'salesperson' field on POs now properly add inactive users to the dropdown if a historical order was performed by a user that is now inactive.
  • Added: a new TOs permission for controlling whether a user can void TOs. If a user has 'store' level permission for this privilige, this counts if the user has access at the source store or the destination store.
  • Changed: the transfer orders tab is now laid out like the POs tab. This should make the tabs easier to use.
  • Added: some controls were resized to give more space to user data.
  • Added: perform advanced operation button (similar to the perform button on POs). Currently the only option in this dropdown button is "Void TO".
  • Added: transfer orders can now be voided. The void operation should now: move quantity back, change statuses, recalculate average cost, reverse serial transfers, cancel order requests, renege order fulfillments, and reverse accounting activity done by the TO.
  • Fixed: void option is only available when you load non-voided TOs.
  • Added: there is now a read-only field that displays the last time a TO was received. This is for the request in bug 1325. This is a new field, so all old TOs will not have this information.
  • Fixed: Kits now work the same as templates on transfer orders. This is part of the request in bug 420. This means that adding a kit to a TO simply adds all the children of the kit as though they were independent items (and their quantities can be managed separately and deleted individually).
  • Added: the user can now load PO #'s with the - syntax, similar to how SOs load. So, the user can specify 3-100 in the PO # field to load PO 100 at store 3 (instead of using the store dropdown). (bug 832)

SalesOrders

  • Fixed: the taxable checkbox on the edit item dialog wasn't always working.
  • Fixed: adding a core charge to a non-stocked item now correctly grabs initial cost (bug 1130).
  • Fixed: rare crash when loading certain invoices that have items with core charges where the items are in the wrong order.
  • Fixed: voiding invoices now always cancels order requests, no matter what screen initiated the void operation.
  • Fixed: voiding invoices now reverses changes to serial numbers. Therefore, a SN will go back to Sold/Available if you void a Return/Sale that had serialized items on it.
  • Fixed: invoice # field now resets when you clear an invoice.
  • Added: the counterperson and customer salesperson dropdowns now properly shows the user if a historical SO was saved with a counterperson/salesperson that is now inactive or isn't marked as a salesperson any more (bug 1132).
  • Added: some speed enhancements related to the user lists (eliminated a query run when switching users in the dropdown).
  • Fixed: standard return items (items that reference a previous sale item) now no longer allow their cost to be overridden, as the cost of a standard return item should be fixed to the cost of the original sale.
  • Added: anonymous return items (items that have a negative quantity but don't reference a previous sale) now allow their cost to be overridden. This allows users to specify the cost of the item coming into inventory. (bug 815)
  • Fixed: overriding cost on an item then returning that item no longer starts the return with the cost override checkbox checked.
  • Added: a new configuration dialog for managing shipping methods. This can be accessed from Configure->Document…->Shipping Methods (as long as the SOs dll is loaded into ITrack). (bug 1116)
  • Added: a new permission that controls whether the user can configure shipping methods. The store permission is the same as None since these objects are global in scope.
  • Fixed: the configure->Shipping methods dialog no longer allows the user to create shipping methods with an empty name or ones that share a name with another shipping method (duplicate).
  • Added: when the user deletes a shipping method that is in use, they are prompted to choose a new shipping method that will 'replace' that shipping method on all existing documents. When the user hits ok, all historical documents are updated to reflect this change.
  • Added: compatibility with recent changes.

Vehicles

  • Added: if you hit the add cost button the costs tab of vehicles, it now asks you if you want to save if you've changed the vehicle. (bug 413)
  • Fixed: when saving a vehicle through any of the print buttons, if the user hit save + close afterwards, the screen would complain that the vehicle had been modified from another place since the last load. (bug 1239)
  • Fixed: issue with some versions of windows when a user used the open file dialog to attach exactly one image or attachment.

WorkOrders

  • Removed: Part # lookup mode, because it only did something contained within the smart search, which was confusing to some users (bug 262)
  • Fixed: issue where the customer lookup could become invisible.
  • Fixed: the cost column on WOs now just shows true item cost instead of cost
  • quantity. This was a user request in bug 427. This should make WOs more consistent with the interface on SOs and should make the calculations on the screen a bit more obvious.
  • Added: the salesperson dropdown now properly shows the user if a historical WO was saved with a salesperson that is now inactive or isn't marked as a salesperson any more (bug 1132).
  • Added: the worker dropdown on work clock entries now properly shows the user if a historical work clock entry was saved with a user that is now inactive or isn't marked as a worker anymore (but 1132).
  • Added: some minor speed enhancements related to loading the user lists (eliminated an unnecessary query when opening the labor edit dialog).
  • Fixed: a rare crash when loading a new WO without clearing the previous WO.
  • Added: the next and previous buttons now always ignore void WOs.
  • Added: hitting the next WO button when on the last WO now 'wraps around' back to the first WO.
  • Added: hitting the previous WO button when on the first WO now 'wraps around' back to the last WO.

2010-06-11

Customer

  • Fixed: the warning that would popup when voiding a sales order or payment on the customer screen was a little out of date. It now gives the user more accurate and concise information.
  • Fixed: if the user has a limit to the number of customer units to display on the service tab, it will now show that number of units (rather than a smaller amount depending on how much Q&A is associated with those units). (bug 829)
  • Fixed: a user with no edit permissions who loaded an existing customer might see the wrong store selected for some alternate addresses (mentioned in bug 1431).
  • Fixed: customer screen was erroneously saying that a change had been detected when the user loaded a customer and had no permission for editing billing addresses.

Master

  • Fixed: Tokenizer error that was turning every END block into END END instead of END in text. Token IDs were correct, but the text coming off of them was not.
  • Fixed: an error that could sometimes occur when downloading and running larger database updates. Trash characters were being downloaded and inserted in the middle of the queries, resulting in failed query operations.

2010-06-11

Customer

  • Fixed: the warning that would popup when voiding a sales order or payment on the customer screen was a little out of date. It now gives the user more accurate and concise information.
  • Fixed: if the user has a limit to the number of customer units to display on the service tab, it will now show that number of units (rather than a smaller amount depending on how much Q&A is associated with those units). (bug 829)
  • Fixed: a user with no edit permissions who loaded an existing customer might see the wrong store selected for some alternate addresses (mentioned in bug 1431).
  • Fixed: customer screen was erroneously saying that a change had been detected when the user loaded a customer and had no permission for editing billing addresses.

Master

  • Fixed: Tokenizer error that was turning every END block into END END instead of END in text. Token IDs were correct, but the text coming off of them was not.
  • Fixed: an error that could sometimes occur when downloading and running larger database updates. Trash characters were being downloaded and inserted in the middle of the queries, resulting in failed query operations.

2010-06-08

Payment Entry

  • Fixed: date sorting in allocation dialog was not sorting by month correctly.
  • Fixed: crash related to drag + drop of items.

WorkOrders

  • Fixed: query error when loading salespeople when opening the screen.
  • Fixed: issue where the customer lookup could become invisible.
  • Fixed: database error when voiding work orders.

2010-06-03

WorkOrders

  • Fixed: if the user added an item to a WO that was purely misc (only a description, quantity, and/or price) the system would throw "Invalid job" errors because of invalid GL categories.
  • Added: if an item on the WO has an invalid GL category or GL context (and GL accounting is on), the user is warned of this problem before the save begins. This prevents WOs that were getting partially closed then getting an "Invalid Job" error.
  • Fixed: job parts no longer default their GL category and GL context to "10000".
  • Added: just like SOs, purely misc job part items now grab their gl category # from the global setting "Global"->"Default misc item gl category".
  • Added: if gl accounting is off, the WO save process no longer attempts to look for final accounting gl accounts in the database. This should skip this step if a company has gl accounting off (and it isn't configured) for the sake of speed and avoiding errors.
  • Added: there is now an warning that pops up if you save an internal WO without specifying at least one master part.
  • Added: there is now an error that stops the save process if the user attempts to finalize an internal WO with no valid master parts.
  • Fixed: there was a query error in the void WO process.
  • Fixed: assertion that would happen intermittently when hitting the ok button on the edit job dialog (for jobs with parts on them).
  • Added: several internal functions were being called unnecessarily when editing jobs and displaying jobs. Removal of this code should significantly increase the speed of several operations and reduce flickering in the parts list.

2010-06-02

Customer

  • Fixed: entering a zip code wouldn't always select the correct region store (bug 1385).

MAS90Accounting

  • Re-uploading accounting module to try to fix crashes on transfer orders.

2010-06-01

CoreManagement

  • Fixed: tag printing wasn't working if you had the "& print tag" checkbox checked when inventorying cores.

Customer

  • Added: extra parameter to aging function to accommodate multi-store companies.(bug 1410)

Database Updates

  • Removed: A view v_vehicle_cost isn't used anywhere and is causing replikwando errors, so it's being removed.
  • Added: Changes to the database to further facilitate lost sales tracking.
  • Added: rank column to the transferorderline table. This is for remembering the last order that the lines on the screen were in.

PartConfiguration

  • Fixed: as per bug 1411, saving a unique model was detecting collisions with models under different part types.

Payment Entry

  • Added: extra parameter to aging function to accommodate multi-store companies. (bug 1410)
  • Removed: enter = tab functionality. This was interfering with the notes field (a multiline edit box where enter means insert a new line). (bug 1405)
  • Fixed: notes field had horizontal scrolling capability instead of line breaks and vertical scrolling ability. (bug 1405)

PurchaseOrders

  • Fixed: If you were loading a PO under the "New" posting, it would ask the user to pick a posting twice. This made it difficult to load a PO into a new posting.
  • Added: purchase orders now allow several fields to be edited even if the current posting is approved (as long as prices aren't finalized): adjustments, taxes, done receiving.
  • Added: the user can now 'reopen' POs that are marked as done receiving as long as the PO isn't prices finalized. There is a permission to regulate this.
  • Fixed: the "Force Done Receiving" checkbox now is labeled "Done Receiving" and is checked whenever the PO is done receiving.
  • Fixed: the user no longer will receiving the warning about no vendor packing lists if the current posting is approved.
  • Added: a posting total field that will display the total cost of parts received on that posting.
  • Changed: the purchase orders line items list can now be re-ordered. This order is saved in the database.
  • Changed: the transfer orders line items list can now be re-ordered. This order is saved in the database.
  • Added: purchase orders now have a posting total that sum up the total value of items being received on the current posting. (This does not include taxes or adjustments)
  • Fixed: a crash on the transfer orders page when managing order requests or loading some new items.
  • Added: the ability to drag + drop items within a list control. This allows the user to more specifically customize the order of items in the list with ease.
  • Fixed: many issues with multiple item selection within a list.

SalesOrders

  • Added: Some message boxes that will help the user automatically assign a Sales Order to Lost Sale status if the situation dictates. This means that if they void an open SO or mark a quote as closed, the user will be asked if they meant to make it a lost sale instead.
  • Fixed: as per bug 1413, opening a closed quote or hold order no longer shows the "Invoice #" field with "Document not closed" in it.
  • Added: the line items list can now be re-ordered. This order is now saved in the database.
  • Added: the ability to drag + drop items within a list control. This allows the user to more specifically customize the order of items in the list with ease.
  • Fixed: many issues with multiple item selection within a list.

Vehicles

  • Fixed: if the user doubleclicked on a sold item in the performance tab, both the parts screen and SOs screen were opened. Now, the parts screen is opened if you doubleclick the tag # column, and SOs is opened in all other cases.

WorkOrders

  • Added: the ability to drag + drop items within a list control. This allows the user to more specifically customize the order of items in the list with ease.

Historical migration note: This release maps the wiki entry for 2010-05 to the last commit on main in that same month.

The original SVN-era release branch/tag history is unavailable, so this is a best-effort date-based reconstruction.


2010-05-28

WorkOrders

  • Fixed: message box that would complain that items didn't have a valid serial # selected when a serialized item on a WO had an inherent core charge or dirty core exchange.
  • Fixed: crash caused by adding a 2 jobs then deleting one.
  • Fixed: crash caused by adding a job template, deleting all the items, then adding more items.

2010-05-27

PartConfiguration

  • Fixed: model collision errors were coming up more often than required because they weren't paying attention to part type.

2010-05-26

SalesOrders

  • Fixed: shipping addresses were not remembering modifications correctly.

WorkOrders

  • Fixed: an error where hitting the edit job dialog and hitting ok could cause the parts on that job to become duplicated.
  • Fixed: some crashes related to the above error.
  • Fixed: issue where loading work order job templates onto a WO would not show the parts on that template.

2010-05-25

Customer

  • Fixed: as per bug 1385, alternate addresses were not displaying store correctly, which could lead to the wrong data getting saved on subsequent saves.

Database Updates

  • Fixed: version markers were in lower case, causing database versioning to not work correctly.

InventoryOverview

  • Added: all queries that reference the data cache (the pre-calculated inventory data created when you first open the screen or hit refresh cache) now have a special handler to deal with cases when the cache disappears. Now, instead of getting an error ("table TEMP_inventoryoverview not found"), the screen will simply rebuild the cache automatically.
  • Fixed: query error when rebuilding the cache if the cache was missing initially.

ITSQLFramework

  • Added: the ability to manually report query errors through the standard error reporting interface. This is useful for parts of the software that wants to handle certain database errors manually, but leave others for the standard handlers.

PartConfiguration

  • Fixed: edit model button/dialog now correctly saves models.
  • Added: instead of simply saving models and reporting 'duplicate model' errors, the screen now looks to see if the proposed change will cause a collision. If it does, the user is told so and the change is aborted.
  • Fixed: if the user used the list to modify model names, the stripped names weren't being correctly updated. This is now fixed.
  • Fixed: hitting shift+tab when a combo was selected on the inventory model page could cause an infinite loop freeze in windows.

Payment Entry

  • Fixed: bug 1369 mentioned that the new auto-allocation algorithm would sometimes allocate one extra invoice. This is now fixed.

PurchaseOrders

  • Added: now that the tab and enter keys don't do the same thing, I've gone back in and added handlers so that hitting enter while in the customer/vendor lookup fields performs a lookup.

SalesOrders

  • Fixed: some tooltips within static 'boxes' weren't showing up.
  • Added: tooltips to newer controls.
  • Added: as per bug 515, there is now a warning if you try to add the same item to an order more than once.
  • Fixed: several minor redraw issues that could be caused by aborting item load early.
  • Added: now that the tab and enter keys don't do the same thing, I've gone back in and added handlers so that hitting enter while in the customer lookup field performs a lookup.
  • Fixed: an issue where the customer field would appear to not redraw after a lookup.
  • Removed: remaining enter = tab keystroke functionality. This behavior had been half-broken for awhile, and we have received user requests to make enter perform the search. Therefore, enter and tab are now distinct keystrokes.
  • Added: enter button performs a search on the currently active search page if the user's cursor is anywhere in that page. (Enter while the list is selected still opens/sends that particular part).
  • Fixed: Over-generalized the open-remote-screen functionality, and ended up causing query errors when moving vehicles to another screen.

Vendor

  • Fixed: as mentioned in a recent bug, the priceclass and purchase class were forced to have a value ('' was not allowed). Now, vendors are allowed to have nothing selected in these dropdowns.

WorkOrders

  • Fixed: serial # and customer unit configuration dialogs moved to the start of the save process so that their cancel buttons would be allowed to cancel the save operation.
  • Fixed: there was no error report when a WO was finalized with a serialized job part line that had no serial # selected.
  • Fixed: if a duplicate item was added to the WO, it was possible to get the confirmation dialog more than once. This is no longer true.
  • Added: now that the tab and enter keys don't do the same thing, I've gone back in and added handlers so that hitting enter while in the customer lookup field performs a lookup.
  • Added: the workorder screen now attempts to remember the order that job parts are sorted in and saves that information in the database. This ability to order line items will allow the user to sort items however they want and have that order be preserved when they save.
  • Added: the user can now sort job parts. The user can click on the header to sort parts by any of the columns.
  • Fixed: in some situations, child parts (like inherent core charges and dirty cores) weren't being marked as child items correctly. This caused sorting to not work right.
  • Fixed: a couple various crashes and errors.
  • Added: changing part order now detected as a change requiring a save.
  • Fixed: 'pure-misc' non-stocked items (items with nothing but a description) now work correctly. They weren't getting marked as MISC items and were popping up an error message.

2010-05-24

Customer

  • Fixed: as per bug 1385, alternate addresses were not displaying store correctly, which could lead to the wrong data getting saved on subsequent saves.

Database Updates

  • Added: index to the taxitem on invoices. This speeds up several taxitem-based reports.
  • Added: new permission for customer screen that controls whether the user can configure the stores/salesman on customers. This used to be under the "Can configure advanced settings" permission. This permission is automatically granted to everyone who had the advanced settings permission.
  • Added: rank column to all document lines. This will soon allow documents to store the 'last viewed order' of the items on the document.
  • Changed: the unique key on the model table no longer involves the year range.

2010-05-20

ITMySQLConnection_d

  • Fixed: a rare crash on some screens. It was noted that it could cause a crash on the POs screen when saving a PO with a vehicle on it.

PurchaseOrders

  • Added: in order to address confusion between the price of items on po lines and the historical price paid on po postings, some changes have been made to POs. Mainly, when the user opens a PO that is marked as done receiving, instead of automatically opening the user into a 'new posting', it will instead open them into an existing posting. If there is only one posting (most common case), that posting will be opened automatically. If there is more than one, the choose posting dialog will be displayed. This way, if the user opens a fully received PO, they'll be in a posting, and any changes to quantity/prices will affect the received items.
  • Added: choose posting dialog now has a checkbox for which postings have been approved.
  • Added: the choose posting dialog now automatically selects the oldest unapproved posting (instead of always selecting the 'new' posting). ==TransferOrders:==
  • Added: as per bug 515, there is now a warning if you try to add the same item to a transfer more than once.
  • Fixed: several minor redraw issues that could be caused by aborting item load early.
  • Fixed: redraw issue when loading a collection over the top of an existing item.

Vehicles

  • Fixed: rare crash when adding vehicles to a PO.
  • Fixed: repeatable crash when saving a PO with a vehicle on it when that same vehicle is open on the vehicles screen.

2010-05-19

Payment Entry

  • Added: by customer suggestion, the "Oldest first" and "newest first" auto-allocation methods now operate in what I will call 'simple mode'. This mode is designed to be more transparent to the user. The main change is that, after the items are ordered by the criterion (date/balance), instead of skipping items too large to allocate and going on, it will just go in order and stop at items that are too large to allocate. The 'Allow partial allocations' option will now control whether to apply the 'remainder' to the next item or not.

WorkOrders

  • Added: as per bug 515, there is now a warning if you try to add the same item to a job more than once.
  • Fixed: if you loaded an item over the top of another one but the load was canceled/failed the lookup column would be blank instead of reverting to its previous value.
  • Fixed: new WOs that were creating new Serial #'s sometimes wouldn't save the SN with the master part. This would cause those SNs to not pop up for customization at finalization and they would be left in the 'work in progress' state.
  • Fixed: an issue where, if a second serialized master part (with the same SKU) was added to a WO, the previous SN would be updated to be "- (1)", but the master part wouldn't be updated correctly.

2010-05-18

Home

  • Added: 'type' column to the purchase orders tab by customer request.

Payment Entry

  • Fixed: batch # column sorts by number correctly now.
  • Fixed: aging fields on the batch tab should now match the newer (more correct) aging fields on the customer screen.
  • Added: store-level setting to batch tab that will enable 'auto-application' of aging balances. By default this is off. If this is on, the screen will show aged periods with a credit as though they had been applied to aging periods with a balance. For example, instead of showing -400 on 30-60 and 400 on 0-30, it would show $0 and $0. This is off by default because such 'virtual balance applications' don't affect finance charge evaluation, and therefore shouldn't be used with companies that assess finance charges.

PurchaseOrders

  • Added: edit item dialog now displays dates in user locale format.
  • Fixed: deleting items off of a transfer order now correctly 'untransfers' any serial #'s associated with that line that had been marked as received. Also, the bug where deleted TO lines were leaving SNs as 'In Transit' is fixed.
  • Fixed: a rare bug where deleting a TO line then loading another TO (and saving it) might delete an item off of that TO.
  • Changed: the error "no items on the TO" has now been demoted to a warning. This means that if you had a 'bad TO' and you deleted the only item, it will now allow you to save without adding 'dummy items'.

WorkOrders

  • Fixed: as per bug 1367, the serial # dialog that pops up on finalizing a WO now allows the user to edit the Q&A options.
  • Added: when finalizing a WO, the SN dialog allows you to customize options but doesn't allow you to change SN selection.
  • Added: doubleclicking an item in the master part list now opens that part on the parts screen.

2010-05-17

Search

  • Fixed: 'on order' search module query to look at work order master parts correctly again.

WorkOrders

  • Fixed: (as per bug 1361) an issue where serialized items as job parts with a part type # that has no 'Q&A' where the user chose the 'new' SN option would get a query error on save.

2010-05-14

CoreManagement

  • Fixed: query error on the returned tab upon opening the screen having to do with the work order master parts.

Database Updates

  • Fixed: bad query in the function that counted the number of times a particular serial number had been produced on work orders (fworkordermasterpart) to respect the new work order structure.
  • Fixed: vehicle costs will now be split amongst vehicles appropriately on work orders with more than one master part.

InventoryOverview

  • Fixed: query that was not referencing work order master parts correctly.

Master

  • Fixed: about dialog now shows all extensions.
  • Fixed: about dialog now shows file MD5s correctly.
  • Fixed: several strange issues where ITrack's configuration file might be saved to/loaded from C:\Windows instead of the installation directory.

Parts

  • Fixed: query error when saving changes to some serial #'s.
  • Fixed: crashes related to the model and assembly model dropdowns.

Search

  • Fixed: doing a "Show parts for this vehicle" search from the vehicles screen was doing a full inventory search if the user did not have "Vehicle #" in their searchable fields. Now, it checks for "Stock #" as well and doesn't search if neither is found.

WorkOrders

  • Fixed: an error that would keep the user from making changes to the quantity of work order master parts after they had been saved in some cases.

2010-05-13

Accounting

  • Added: compatibility with new ITSQLFramework changes.

Common Resources

  • Added: compatibility with new ITSQLFramework changes.

CoreManagement

  • Fixed: a bug where a core line would not appear if the salesman user on the sale invoice or the return invoice was invalid.

Customer

  • Fixed: issue where the sell price class list was no longer listing in alphabetical order.
  • Added: the customer screen's permission system has been significantly redone. Most users shouldn't notice any difference. The permissions that control what the user can edit have been split into more specific permissions.
  • Added: 4 new permissions, all pertaining to customers. "Manage customer units", "Manage messages", "Edit billing address", and "Edit advanced information". The first 2 control the corresponding property pages. Edit billing address now controls the billing address fields on the address tab. Edit advanced info controls the additional info page and the salesman and store on the address page.
  • Added: all permissions on the customer screen are now driven by the store in the store dropdown in the billing address info on the addresses tab. This means that multi-store installs will now be able to control user access permissions to just customers at certain stores more easily.
  • Added: the store dropdowns on the addresses page now only contains stores the user has access to. This means that a user can only add a customer to (or move a customer to) stores they have permission to. A user has to have 'Global' permission in order to add global customers.
  • Fixed: the aging/remittance information on the payment page is now correct. Previously, it was adding up all invoices subtotals, payments, and adjustments entered on a certain period, which isn't right. Now, it adds up the balance of all invoices entered in that period, unapplied payments entered in that period, and all balance affecting SO adjustments (such as finance charges and discounts) that were entered in that period (even if the invoice they are applied to aren't in that period).
  • Fixed: if the user hits the New button, the customer # and balance fields now correctly empty out.
  • Added: functionality to deal with recent changes to the customer aging function.
  • Changed: due to a shift in focus, the aging periods on the customer screen no longer automatically apply credit periods to outstanding periods. Such virtual applications didn't affect finance charge evaluation and don't really match the EE AR process.
  • Added: Additional code and permission handling to gray out and disable being able to add payments if you didn't have the permission. Per Bug #1029.

CustomerList

  • Added: Additional code and permission handling to gray out and disable being able to add payments if you didn't have the permission. Per Bug #1029.

Database Updates

  • Added: a new table called workordermasterpart that stores the master part(s) for internal wos. This contains the inventory key, quantity, serial # (where appropriate), gl category, and cost for that item. There is also a script that moves all internal WO data into that table.
  • Added: Two tables for search logging. There will be more changes to these later.
  • Changed: fquantityonorderexclude now works with the new workordermasterpart scheme.
  • Added: workordermasterpart.averagecorecost to store the total core cost that should be applied to the inventory item's averagecorecost upon finalization.
  • Fixed: workorder table triggers to work as designed with the new table structure.
  • Removed: redundant fields from workorder table.
  • Added: new POs permission as per bug 1287.
  • Added: 4 new permissions, all pertaining to customers. "Manage customer units", "Manage messages", "Edit billing address", and "Edit advanced information".
  • Updated: the name and labels on several customer permissions to standardize them. Changed the "Can add/edit customer addresses" permission so that its description reflects the fact that it only pertains to alternate addresses now (not the billing address).
  • Added: the new permissions are automatically assigned to users that already had permission to edit customers for uninterrupted service.
  • Added: new database function fcustomeraging. This function returns the amount of a customers balance falls within a certain remittance period. This function aims to replace f_customeractivity as the function that returns aging information on a certain period.
  • Added: New table used in recording item usage from searches.
  • Added: Code to add a new Sales Order document type for Lost Sales. Per bug #184.
  • Fixed: fvehiclecost function now properly deals with the new WO master part system.
  • Added: several permissions relating to the part modification screen.
  • Fixed: issue with fquantityon_order so that its compatible with the new WO subsystem.
  • Fixed: issue with fvehiclecost so that its compatible with the new WO subsystem.
  • Added: fcustomeraging now has a couple additional parameters. They define a date to use a point of reference for the aging info (any thing after that date will be ignored). Leaving this NULL uses the current date. Another parameter defines whether or not to ignore unapplied payments (in case a screen or report wishes to sum those up and apply them itself).
  • Added: a field to the inventory type table that will allow the user to define a what part type to use to retrieve the model list for that part type.

ExtensionList

  • Fixed: using [dll] section instead of [dlls]
  • Added: ITrack Online extension to users' ini lists. This extension enables web content inside of ITrack. By default, ITrack Online goes to the user's homepage, which attempts to navigate to the user's HeavyTruckParts.net homepage automatically.

GlobalSettingsExtension

  • Added: external function GetHTPHomePageID which correctly formats the web id required to visit a company's HTP homepage in ITrack Enerprise. This relies on a company's company product code being filled out in the settings.

Home

  • Fixed: work orders page to work with new work order master part system.

ini: Turn On Compression

  • Fixed: this script was being downloaded instead of applied.

Interchange

  • Fixed: a lot of references to an older/deprecated model system and replaced it with the current manufacturer/model system.

ITrackOnline

  • Added: ITrack Online has been added to the Enterprise deployment. ITrack Online is an extension that allows the user access web content from within ITrack. The ITrack homepage is configurable through the ini file, and by default, it visits the HeavyTruckParts.net homepage for the company.
  • Moved: this project has been moved from the pro repository to the general repository because it is generally applicable.
  • Changed: the function that attempts to open up the HTP HomePage now uses product-agnostic ways of retrieving such data. Mostly, it calls an external function GetHTPHomePageID which is defined in EE in the GlobalSettingsExtension and in Pro in Settings.

ITSQLFramework

  • Added: the Store/Execute/StoreMultiple/ExecuteMultiple functions now accept an extra parameter specifying a connection to run a query against. This is not widely used yet, but it requires all screens to be recompiled. This DLL is not compatible with the old screens, and vice versa.

MAS90Accounting

  • Fixed: accounting on internal WOs with multiple master parts now works as expected.

PartModification

  • Added: a new permission that keeps the user from opening this screen at all.
  • Added: a new permission that keeps the user from accessing the advanced inventory settings (such as global/logs changes/etc).
  • Added: the permission Parts->Can view parts is now used to keep the user from viewing parts at stores they don't have permission for.
  • Added: the permission Parts->Can edit parts is now used to keep the user from saving changes to parts at stores they dont' have permission for.

Parts

  • Fixed: a bug where collection components might get listed multiple times if they existed at more than one store.
  • Fixed: a query error caused by an extra parenthasis.
  • Fixed: a query on the transaction list tab to properly deal with the new WO master part system.
  • Changed: the code used to query the database for models when the user types in the model dropdown has been tightened up. Hopefully this will eliminate some of the rare errors people have received from this code.
  • Added: preliminary work for the breakdown dialog. This is a work in progress, and there are many updates to follow.

Payment Entry

  • Fixed: a bug where creating credits or discounts might fail if GL accounting is turned off.

PurchaseOrders

  • Added: as per bug 1287, I have added code that disallows the user from modifying received quantities in any way or marking a PO as done receiving if they do not have the new "Purchase Orders"->"Receive Stock" permission. The system grants this permission to all users automatically by default for uninterupted behavior.
  • Fixed: adjustment types should now be loaded in alphabetical order again.
  • Fixed: the adjustments list on the left (line item adjustments) now sort adjustment types alphabetically again.

SalesOrders

  • Fixed: adjustment types should now be loaded in alphabetical order again.

Search

  • Changed: Re-worked the coding on the search screen a bit. This work is to make it easy to implement search logging (bug #1077), as well as help the screen be a bit more uniform.
  • Fixed: a bug where doubleclicking a part/vehicle picture icon would not always pop up the images dialog.
  • Added: Continuing code for search logging/lost sales. Introduced some new tables for the logging, more stuff to record on a search, reworked the way a remote screen is called, the store-level permission for logging searches.
  • Fixed: the special case for performing interchange searches and series-based searches weren't working quite right, now they should function again.
  • Added: if the user does a search for side "N/A", it will now search for inventory with a side value of "N/A" or "".
  • Added: Further code now records when items are used from a search. This is a part of search logging, and may be changed to be a separate permission in further iterations. Per bug #1077.
  • Fixed: Pointer failure in recording how many entries in a search result were from the current store.
  • Fixed: Differentiated between last vehicle search and last part search. Adding vehicle search recording and tracking will be part of a separate bug (or a reduced bug #1077).
  • Fixed: as per user request, doing interchange searches no longer automatically chooses a side to search for.

WorkOrders

  • Added: the ability to have more than one master part on a WO. Now, instead of a part lookup field, there is a small list. Within this list, the user can add one (or more) master parts to the WO like usual, specifying quantity to build, and serial #'s, etc. In addition, the user can specify a "Cost Factor" value for each master part entry that is used to figure out how much of the total WO cost goes to that specific item, by default, each item has a cost factor of 1, meaning every item initially has the same 'piece of the pie'.
  • Added: WO master parts that are serialized no longer allow the user to create a quantity greater than 1. This is similar to how SOs works when selling serialized items. If the user wants to create 2 of a serialized item, they will have to add the item to the WO master part list twice, picking a new SN each time. This resolves a bug that was reported about SNs on multi-quantity master part WOs.
  • Fixed: the WO screen was creating/updating Serial #'s immediately, rather than waiting until save. This caused many bugs where a user could add a SN to a WO then close the WO without saving, and the SN was still 'Work In Progress' (or whatever).
  • Removed: unnecessary second SN dialog.
  • Changed: resizing code to give more room to the various lists on the screen. The "Show X List" checkboxes have been moved below the lists instead of above them.
  • Added: the info edit now shows info for all master parts.
  • Added: when the cost of the WO changes, the master parts update their 'divvied-up' costs based on the cost factors assigned to them.
  • Fixed: an issue where serialized master parts set to create a quantity of 0 might actually use a quantity of 1.
  • Fixed: if the user uses the edit item dialog to override the cost of a part, it now immediately refreshes the totals.
  • Fixed: if the user does a master part lookup that fails, their input is cleared out to indicate a failure.
  • Fixed: hundreds of small bugs and issues that have existed in WOs for a long time or that were introduced by the recent changes to the way master parts work on WOs.
  • Fixed: many of the above issues pertained to the way serial #'s were entered and handled when serialized items were added to the WO. For example, switching SNs on a line, or deleting a line or master part on a WO and saving will now 'undo' what the WO did to that SN (there were cases before where they SNs would remain or stay "Work In Progress").
  • Fixed: if the quantity of an item being made by a WO is 0, the screen won't prompt the user to input or choose a SN (though it can still be done, optionally). Also, saving without picking a SN in such cases does not generate an error anymore.
  • Added: the save process is now much faster, as several redundant or unnecessary queries were combined or eliminated.
  • Added: the averagecost/average core cost system has now been extended to work correctly (and as expected) for multi-master part WOs.
  • Added: the master part list now has a column for the cost that will be applied to the master part's average core cost (vs the other column, "Cost" which just shows the amount of normal cost that will be applied to that item).
  • Updated: the code that calculates the % in the master part list to take core costs into account.
  • Fixed: column widths in the serial # dialog to be more appropriate. They now resize depending on the length of SNs displayed.
  • Added: if the user chooses to create a new serial # through the serial # dialog, it now defaults all the Q&A to the values stored in the "DEFAULT" entry. This change has been a long time coming.
  • Fixed: if you switch work order types with master parts loaded, the quantity if the items is now updated properly to the new type's default quantity.
  • Fixed: issue where loading a WO mutliple times might get a progressively longer job list.
  • Fixed: opening voided WOs now correctly greys out the parts list.
  • Fixed: several roundoff errors between jobs, the workorder, and the invoice generated for a particular external WO.
  • Fixed: loading a closed/locked WO, then loading an open WO now properly makes the fields editable.
  • Fixed: inherent core lines now no longer have the icon warning that they need a serial number.
  • Fixed: an issue where the WO total didn't correctly calculate shop fees when they were a % of labor.
  • Fixed: assertion caused when clearing the screen after loading a multi-master part WO.

2010-05-05

EE Database Update

  • Added: tables to facilitate new multiple master part internal WOs.
  • Removed: some (now) unnecessary fields from workorder.
  • Added: permission to receive stock on POs (assigned to everyone by default).
  • Added: 4 new customer permissions (assigned to everyone with the edit customers permission by default).
  • Fixed: WO triggers to deal with new WO master part scheme correctly.
  • Fixed: QOO function to take new WO master part scheme into account correctly.
  • Added: several tables used for logging searches.
  • Added: customer aging balance function used by customer screen.
  • Added: lost sales sales order type.

Historical migration note: This release maps the wiki entry for 2010-04 to the last commit on main in that same month.

The original SVN-era release branch/tag history is unavailable, so this is a best-effort date-based reconstruction.


2010-04-01

  • Fixed: issue where doing a smart search with no other criterion (including status) might throw a database error.

2010-04-02

Common Resources

  • Fixed: when the user hits the cancel button the thread dialog, they should no longer see the "Server shutdown in progress" error.

ITSQLFramework

  • Added: when code runs a select query with ignore errors on, no error report is thrown, but the last error member is updated to reflect the issue.

2010-04-07

Database Updates

  • Removed: the following tables because they seemed to be unused and unnecessary: costtype, jobassignment, jobassignmentvalue, categories_quickbooks, qbglaccount, quickbooksdata, quickbookslog, vehiclecost.
  • Fixed: the function that calculates the number of items on a PO that are returnable still has been fixed to pay attention to quantity received on the original order instead of quantity ordered.
  • Added: a function to find a valid core inventory record for a specified inventory item.
  • Added: a function to create a new core inventory record for a specified inventory item.
  • Added: several indexes that should speed up PO reports.

2010-04-12

CoreManagement

  • Removed: unnecessary/unused resources to save space.
  • Fixed: a lot of code would use the store the user was currently logged into when deciding where to inventory parts, etc. This is wrong. The user's store should be used to default what invoices/parts to search for, but items are returned into the store that the return invoice received the dirty core return into. Currently, the user can only receive dirty cores back into the store they were sold from. An upcoming change should change this.
  • Changed: when you reject a dirty core, only the SKU is blanked out now, leaving the store alone.
  • Fixed: if the user does a part lookup, if the search returns no results, the lookup field is blanked out so that the user knows that the value was not accepted.
  • Added: the screen now uses two new database logic functions. One is a stored procedure to find a valid core inventory record at the destination store if the current part has no saved core record. This allows the system to automatically find/use core records to put inventory into based on company-specific logic. By default, it looks for a item matching based on purchase vendor and core class. The other function creates a new core record. This was done by the CM screen before, and now a company can customize what they wish to happen automatically to new core items created this way. This could include description/tag # formatting, etc.
  • Fixed: The process of inventorying dirty cores has been simplified. Before, the user needed to hit the inventory button twice (the first time created a blank core record, attached it to the original item, and opened it for editing on parts; the second time would actually inventory the dirty core). Now, the inventory button only has to be hit once. The 2 new functions mentioned above are used to automate the search for existing core records and the creation of new core records in a standard way.
  • Fixed: issue where creating a new part to inventory a core into would create the part, but then not open it on the parts screen correctly.
  • Fixed: if the user created a new core record, the parts screen got opened, but the new part wasn't loaded right.
  • Fixed: an error that would sometimes occur when typing in a tag # to do a lookup on.

The following all apply to the returned cores page, and most pertain to bug 518

  • Removed: old "Document #" column on the list, as it was confusing which document it referred to.
  • Added: "Doc # (original)" and "Doc # (return)" that have the document line of the original sale (or WO) and the document the items were returned on. Doubleclicking on these values open those documents. I also changed the format of the doc # display so that the user can tell which lines are WOs and which are SOs, and are formatted " - #".
  • Added: tooltips to the columns in the list to make their purpose more clear.
  • Changed: the store # column now displays the store that the dirty core return is being inventoried into, rather than the store of the document. These can be different now. This column represents the store that the salesperson chose to inventory the item into on the return invoice (and it is the store that the core will be inventoried into).
  • Fixed: if a dirty core is returned into the inventory of a store other than the original sale store, that setting is respected when the user accepts the core.
  • Changed: the code and database functions that: 1. finds a compatible core record and 2. creates a core inventory record, take both original store and return store into account.

Customer

  • Fixed: issue where, if the user hit "select all" on the customer payment methods, the customer would get saved with an invalid payment method.

DataManagement

  • Fixed: the way that CSV parser works has been completely rewritten. This was because it was incompatible with some valid features of a CSV input file, such as line breaks within a cell. This now works.

Parts

  • Fixed: issue where the screen would sometimes detect a change on an empty part after saving/clearing.
  • Fixed: issue where attachments would not save correctly.
  • Fixed: the GetFiles function that opened the open file dialog now properly trims the '\' from the left of the filename.
  • Added: if the user changes the vehicle association on an old part, and that part is on any historical orders, the user will be warned that the system is going to associate all those POs/WOs/TOs/SOs with the new vehicle, to avoid cost discrepancies. When the user saves, those historical orders are associated with the new vehicle.
  • Fixed: error where attempting to load a vehicle onto an existing part from search would cause the parts screen to clear.

PurchaseOrders

  • Fixed: the screen now exclusively uses quantity received instead of quantity ordered when considering how many of an item can be returned (you can't return more than you received). * Fixed: as per above, the return dialog now displays quantity received instead of quantity ordered.
  • Fixed: if the user did a merchandise return on an item that had an inherent core charge, the core charge was added as a seperate, independent line on the return PO. However, the user couldn't modify the quantity of the return line.

SalesOrders

  • Fixed: the void dialog now no longer insinuates that gl activity will be deleted (instead it says 'undo').
  • Fixed: voiding an invoice with adjustments now correctly reverses adjustment accounting.
  • Fixed: reopening a closed invoice with adjustments now correctly reverses adjustment accounting.
  • Fixed: a rare display issue caused by the payments list when a company has no sales order document types.
  • Added: the store column is now a dropdown for items that are being returned. Changing the value in this dropdown changes what store the item will be returned into.
  • Added: the stores a user can return into is restricted to their current store (always an option) and any location they have the "Sales Orders"->"Can perform returns" permission for.
  • Added: the return dialog now shows the store # for documents and the inventory store that items came out of.
  • Added: return dialog now displays (and sorts by) user locale dates.
  • Added: the return dialog now has tooltips that explain the function of the various columns in the dialog's list.
  • Added: returns now default as going back into the current document store. They used to default to going back into the original inventory store. This means that if store 1 sells an item from store 2, and the customer brings the item back, by default (if the user doesn't change it on the invoice) the item will be returned back into store 1's inventory.
  • Fixed: several issues where item attention icons would not properly display on new, return items.
  • Fixed: an issue where new return items would not highlight the correct field and would not display manufacturer/model info on misc items.
  • Added: if the user picks to return an item to a location other than where it was sold from, the system will replicate the inventory record to the new location in the background (similar to the clone part functionality on the parts screen).
  • Added: return items do not reclaculate their gl store #. This means it will remain the same as the original sale line, which will cause the AR, Sales, and COGS accounts on a return to hit the same place the original sale hit.
  • Added: the optional database API function fitemtransferred is now called when the user performs a return where the destination store is different than the original sale store.
  • Fixed: issue where inherent core charges didn't remember what store they came from (necessary for replicating inventory if items get transferred between stores).

Search

  • Added: a new part search module that counts open quotes associated with each record in the search results. If the user desires, this can be disabled with a switch in the ini configuration file under the performance section. Tests showed this module to be quite quick.
  • Added: a new icon (similar to the pro quotes icon of "!") to the attention column that shows up (with a count) when the above search extension is turned on and the item has open quotes.
  • Added: all attention icons now have information when you hover over the attention column.
  • Added: all attention icons now perform the most reasonable task when you double-click on them. Usually, they take the user to an area with detailed information.
  • Added: the search HTP.net button now includes store information when sending the URL.
  • Changed: the Search Summary info pane type for vehicle searches now no longer looks at the deprecated vehiclecost table. Instead, it cals fvehiclecost instead.
  • Added: a special case for when the user searches by "Default purchase vendor". This was identified as a special case where some searches were slower than they needed to be. This special case now does a lookup in the background for the vendor # corresponding to the vendor code typed in. If this is unique, it will be used in the lookup instead of the code. This can make such searches much quicker.

Vehicles

  • Fixed: issue where the enter parts button wasn't working right.

2010-04-16

Customer

  • Fixed: as per bug 1250, the customer screen no longer selects a default tax item for new customers. This is so that such new customers will select the empty tax item, and be assigned the default when they are assigned to a sales order. For single-store yards, this shouldn't have any effect. For multi-store yards, this will have the effect of new customers automatically being charged local tax when added to an invoice at a particular store. Customers can still have a tax item assigned to them, for example, when they are tax exempt.
  • Fixed: saving customers with default price type "List Price" wasn't working.

2010-04-19

Customer

  • Fixed: issue where the sell price class list was no longer listing in alphabetical order.

Master

  • Added: a new options page to ITrack under edit->options labeled "Interface". The interface options page will contain any ITrack look and feel settings or global interface options. Currently, it has a list of visual themes for ITrack. Currently, the only 2 options are "Classic (default)" and "Current windows user theme". The first method is the same visual theme we've used for a long time, the second uses the operating system theme. This means that if the user is on windows xp/vista/7, it will use the 'modern' look and feel of that operating system.
  • Fixed: the updater should now correctly parse database function definitions when doing database updates through the updater.
  • Added: ability to walk the call stack for the current process. This allows us to retrieve some information about what was happening in ITrack at a certain point, such as at the moment of a crash. A future update will probably integrate this with the error reporting system.

Parts

A lot of changes have been made to the assembly/collection interface on the links tab, details follow:

  • Fixed: many dropdown columns were getting part types in them accidentally.
  • Added: tab now resizes to use all the available space.
  • Fixed: when child parts are being loaded in a collection, any information about the parts will come from items at the same store as the part that is loaded (rather than the user's store). This comes into play if you have an assembly that exists at more than one store. Or if the components exist at multiple stores.
  • Added: the 4 'flex field' columns now properly load based on the currently selected part type. If any of those 1-4 flex fields aren't used, those columns will be uneditable and greyed out.
  • Fixed: overactive change detection.
  • Fixed: loading saved assemblies wasn't selecting the Assembly choice in the collection type dropdown.
  • Added: blank selection to the assembly template dropdown. Choosing this option doesn't show any template entries. This is useful for building an assembly from scratch, or for when you load a saved assembly (as you don't want more components to be added again most likely).
  • Fixed: several crash bugs.
  • Removed: a lot of the restrictions that kept part types from being child components of other part types. Now, the system makes suggestions, but is ok with anything the user chooses.
  • Fixed: the 'use' checkbox is now paid attention to for which new parts to save/create.
  • Added: new components inherit the location of the master part (but the user can change it to something else). As long as the new parts haven't been created yet, any changes to location will cascade down to the components.
  • Added: when the user creates new component records, the system uses the company's custom tag # naming scheme to assign a tag # to that part if it doesn't have one.
  • Added: many other fields are now loading into the list when the user loads up an assembly, including location, OEM #, interchange #, retail/wholesale/core price.
  • Fixed: doing multiple parts in a row caused the breakdown template list to keep growing.
  • Fixed: issue on the transactionlist where doubleclicking a document might pop up an error.

PurchaseOrders

  • Added: the user can now doubleclick rows in the order requests list in the sidebar to open the corresponding document.

SalesOrders

  • Added: if the SO the user opens is closed/finalized, the perform return and edit back order requests options are greyed out.
  • Fixed: crash issue when adding return items to a closed SO.
  • Fixed: voiding return invoices wasn't causing average cost to get recalculated. The result of this was that, if a user returned an item that caused average cost to change, voiding the return didn't change the cost back. This is probably a pretty rare situation.
  • Added: when a user finalizes an invoice, it sets the invoice date to the current date, no matter what the original date was. Many installations had a trigger to do this, but this should no longer be required.
  • Added: the returns dialog now has another column for the quantity of an item that is on open return invoices. In addition, if an item's full quantity is already on return invoices, the item will be colored blue and checking the return dialog will confirm that the user really wishes to return the item anyway. This should cut down on cases in which the same item gets returned more than once.
  • Added: as per customer request, when the screen is first opened (or the clear button is hit), focus is put on the customer field, rather than document type. When you open a saved document, the screen puts focus into the list.
  • Fixed: when the user is in the list, ctrl+left and ctrl+right now correctly work in the edit controls. Now, when you hold ctrl, the arrow keys will not leave the field. Also, as per windows standard, ctrl + left and ctrl + right move the cursor a whole word.

WorkOrders

  • Fixed: if an item being consumed on a WO had a serial #, that SN was marked as CONSUMED when you finalized the WO. However, voiding that WO didn't make the SN AVAILABLE again.
  • Fixed: WOs was using an old method for reversing/voiding inventory activity that had several rare cases in which voiding wouldn't recalculate average cost correctly. In addition, the old method didn't mark parts that were 'S' (from being consumed) back to a status of 'A'. The void process should now use the same considerations as the SO screen.
  • Changed: the text on the void dialog to make what will happen be a bit clearer.
  • Fixed: when the user is in the list, ctrl+left and ctrl+right now correctly work in the edit controls. Now, when you hold ctrl, the arrow keys will not leave the field. Also, as per windows standard, ctrl + left and ctrl + right move the cursor a whole word.

2010-04-21

Parts

  • Fixed: non-assembly collections were duplicating rows for each store when loading onto the screen.
  • Fixed: error when adding existing items to non-assembly collections.

Historical migration note: This release maps the wiki entry for 2010-03 to the last commit on main in that same month.

The original SVN-era release branch/tag history is unavailable, so this is a best-effort date-based reconstruction.


2010-03-30

General

Master

  • Changed: the downloader is/was receiving updates where and surrounded every line, even if queries took more than one line.
  • Added: we now use the MySQLTokenizer to scan the input script and find where all queries/comments begin.
  • Added: several speed and readability improvements.
  • Added: DB versioning tools. Mostly, there is now a GetCurrentDatabaseVersion() and UpdateDatabaseVersion() functions. These retrieve the current DB schema version (or -1 if none is found), and update the db schema version, respectively.
  • Added: the query parser now use the new DELIMITER pre-parser to deal with occurances of that clause in update scripts.
  • Added: the query parser now logs the original version of the query, instead of the version the tokenizer returns.
  • Added: when ITrack performs database updates, errors are not reported to the user, but they are sent to the error reporting server (and logged in the update log locally).
  • Added: support for $VERSTION=XX$ or $VER=XX$ tag inside of ITrack database script comments. When one of these tags are present, it marks all queries between it and the next tag as part of that version.
  • Added: ITrack checks current database version before attempting to apply any database updates. This means that if the database is already at version 4, version 3 queries are not run. This helps us to speed up updating and ensures that queries are run only once per database server.
  • Added: ITrack changes the db version after applying the upgrade queries (even if they fail). The version update is canceled if the version was changed since the update began.

ITMySQLConnection_d

  • Added: When a database gains a live connection, it will immediately check what the max query length is and set the value internally.
  • Fixed: Pesky locking issue where a PerformQuery call that had no returned values would fail to give up a lock, meaning the program would hang when the caller tried to run another locking query.
  • Fixed: StoreMultiple did not properly report errors that occurred.

ITSQLFramework

  • Fixed: the Debug button no longer throws an assertion, but instead calls AfxDebugBreak directly. This resolves an issue where a second error dialog would launch when you chose to debug.
  • Added: the sql framework now remembers the last sql error as an ITSQLError as well as a string. This way, if error reporting is off, one can still get the error report (and manually handle it).
  • Added: ErrorReportDialog::TransmitError which is a static function that allows the caller to use the common ITErrorReport transmission code to 'send' an error report to our server without the user interface coming up.

MAS90Accounting

  • Fixed: assertion that was incorrectly coming up (claiming that credits didn't equal debits) because of roundoff error.

Parts

  • Added: as per a request, a local hotkey has been added to Parts (Add picture) that launches the add pictures dialog, no matter where you are on parts. This is to make adding parts to standard/misc parts faster.
  • Changed: we were using an 'old-style' pre-xp file open dialog because of an error that could occur when using the XP or newer version. This issue has been resolved, and the open pictures dialog now uses the up to date file open dialog.
  • Changed: attachments now use the modern file open dialog as well.
  • Added: files can be attached more than 1 at a time now (you could only do them one at a time before). (The following changes all relate to the links tab)
  • Changed: wording of many areas. Standardized the use of the words Assembly and Breakdown. Use of Assembly refers to an item that is a collection of other items. Breakdown refers to the process of breaking an Assembly down into component parts.
  • Fixed: QOH column is no longer editable.
  • Changed: when the user adds items to an assembly, the process goes differently now. If there is an empty/unchecked item on the assembly template already, the item being added replaces that item. If an item is added more than once, the new add replaces the old add. If parts of the same part type are added, they are put next to each other. Items with a part type not in the collection are added at the bottom.
  • Fixed: issue where the user would type in the model dropdown. The database connection launched to search for matching models was failing to create, but the screen was attempting to use it anyway.
  • Added: the 'Default format for tag #'s on new replenishable parts' setting now recognizes {inventory.category} and {inventory.vendorproductcode} by user request.

PurchaseOrders

  • Added: the choose PO posting dialog now responds to the user hitting enter when an item is selected (as well as the user doubleclicking an item). This selects that posting and closes the dialog. This should allow users to pick a posting without using the mouse if they would like to.
  • Fixed: assertion crash on PO page when loading a PO that was prices finalized that had one or more adjustments on it.
  • Fixed: as per user request, an item added as a dirty core exchange never uses the SKU of the original item. It attempts to use core inventory SKU of the original item. If that doesn't exist, the return will be a non-stocked dirty core return.
  • Added: the return dialog now has several new columns: Store #, Core Record. The Store # is the store of the original order. Core record shows the tag # and QOH of the associated core inventory record (core bank) for the item being returned. This is because, on return POs, this is the item the quantity will come out of (not the original order item).
  • Fixed: as per the statement above, when performing a return PO, if an inventory item does not have a valid core record associated with it, the user cannot check the dirty core return checkbox. In these situations, the system does not know what item to return (automatically), so the user must add the item to return to the PO manually and associate that item to the original purchase.
  • Fixed: the date column now correctly sorts.
  • Fixed: the 'current' PO now correctly shows up when doing return POs.

SalesOrders

  • Removed: advanced operation dropdown/perform button.
  • Added: replaced the above 2 controls with a single dropdown button. Similar to POs, using a dropdown (split) button, we have more control over the layout of the items, and we can lock individual items down. In addition, it makes performing an advanced operation simpler.
  • Fixed: the SO screen doesn't attempt to send the quote email to the salesman if the SO is void.
  • Added: 2 new permissions (see below) "Reopen Quotes" and "Reopen Invoices".
  • Added: new advanced operation "Re-open SO". This new feature fills a gap in what administrators could do. Using the 2 above permissions as access control, a user with permission can use this feature on a closed or voided invoice or quote to return the document to its open state. If the document was closed and not voided, inventory activity and gl accounting will be reversed, and the document will be opened. If the document was voided, those things have already been reversed, so it simple un-voids and reopens the document and adjustments. Currently, payments voided this way are not un-voided because they are documents of their own.

WorkOrders

  • Fixed: non-stocked job parts with a core charge were throwing a database error because the storeid could not be null.

2010-03-26

General

ini

  • Turn On: Turns on database stream compression for ITrack. This speeds up transfer of data from and to the database.

2010-03-23

General

Master

  • Fixed: if the user was using a windows theme or custom font, the screen list would not pick the right size, and would show scroll bars.

Payment Entry

  • Fixed: several roundoff errors that were causing payment lines of $0 to be inserted.

2010-03-22

General

Master

  • Fixed: about dialog now has an icon.
  • Added: master is now capable of dealing with hotkeys in the shortcut map that are not global (screen specific hotkeys).
  • Added: when a user logs out, the hotkeys are correctly reset back to system defaults.
  • Added: hotkeys for common menu options: log out, Actions->Updater->Reset Updates, Actions->updater->Check for updates, Edit->Options, Help->Manual, Help->Recent Changes, Help->About. All these hotkeys can be configured in the Edit->User Hotkeys menu.
  • Added: the user's assigned hotkeys are now displayed in parentheses after the menu option. This way, the user can be reminded of their hotkeys.
  • Fixed: global hotkeys now work correctly if no screen is open (or if the user has focus in an area other than the child window.
  • Fixed: global hotkey keystrokes are now ignored if a user is not logged in. This was to prevent issues caused by using hotkeys to perform actions that should require a user login.
  • Added: code to the manifest that will allow ITrack to display in modern styles (once we're ready for that).
  • Fixed: ITrack had a fixed formula for calculating the height of items in the screen list, now it uses windows settings.

ITMySQLConnection_d

  • Fixed: issue where some errors were reported when we attempted to retrieve the data, not when the query was run. These situations were not reporting the error # correctly.

ITSQLFramework

  • Fixed: inability to launch the error reporting dialog if the master window disappeared in the middle of an error report.

Global Settings

  • Added: global hotkey option for launching the user hotkey configuration dialog. This defaults to ctrl + F12.
  • Added: when a user logs out, their user settings, user group settings, and hotkeys are emptied.
  • Changed: the edit->user hotkeys dialog has had its usability significantly improved. The dialog is resizable now, and instead of 2 separate lists, there is one tree ctrl, which makes setting your hotkeys much easier.
  • Fixed: when the user changes a hotkey, the dialog now shows that hotkey removed from other actions with the same hotkey if they collided.
  • Added: new icon for this configure hotkeys dialog.

Customer List

  • Updated: modified to work with new hotkey system.

Data Management

  • Fixed: the data written to the import queries is now formatted before writing. This makes the output smaller in some cases, and corrects bugs where characters such as ',', '$', or '%' were allowed in numerical fields, but weren't being taken out before the import.
  • Added: empty table checkbox. This new action will empty the destination table before importing data into it. This is useful for some imports where the entire table is in the csv input file.
  • Fixed: re-arranged the action checkboxes to be in a more logical order.
  • Added: new button: "Edit Backups". This opens a dialog showing all backups created by the data management screen. The user can review these backups and how much space they are consuming on the server. The user can also delete backups from here.

Interchange

  • Updated: modified to work with new hotkey system.

Inventory Overview

  • Added: local hotkey actions (they work on this screen only) for all the options in the 'send' menu. These can all be configured in edit->user hotkeys.
  • Added: current user hotkey assignemnt is now listed in parenthesis after the menu option for items with hotkeys assigned.

Login

  • Added: a global message is now sent out when a user logs in or out so that extensions can do things when the user changes.

Parts

  • Added: a check that verifies if the value a user entered into the "Tag # search" box at the top is empty when they hit search. This is because some yards were having trouble with users accidentally performing laggy searches with this button.
  • Changed: re-arranged the links page to give more space to the collection list and less to the (still unimplemented) interchange relationships list.
  • Changed: removed the two lists that showed what collections a part was in and replaced it with a single tree ctrl.
  • Added: many columns that will be useful when doing assembly breakdowns.
  • Added: "Use" checkbox to the breakdown list. This checkbox controls whether to include an item in the assembly. This checkbox is automatically checked if the user changes anything on the line.
  • Added: colors on collection components. These will help the user identify existing inventory items being attached and new inventory items to be created.
  • Fixed: issue where tag # was not being preserved on new inventory records.
  • Fixed: flickering when loading collection components.
  • Added: the assembly collection type now has a template dropdown which populates from a new table. When the user switches a collection to an assembly, the default template is selected automatically. When template changes, the list automatically loads all potential collection components from the assembly.
  • Added: when part type changes, the links page now tries to reload templates based on the current part type.
  • NOTICE: the assembly breakdown interface is not yet complete, but this file has an intermediate version of the interface that people can test and submit feedback on bug 1139. More changes to come.

Purchase Orders

  • Fixed: the query that was looking up vendor catalog records was joining inventory to the vendor catalog with an old/unsupported field. This may have caused catalog data to be missing.
  • Changed: per user request, the code that uses buypackage/purchase factor on POs uses the values in inventory over the values in vendor catalog (for inventory items). This is because many vendors supply bad/spotty data for buypack/purchase factor.

Purchase Orders

  • Fixed: issue where set form editability was being called to early on load.This was causing the approve posting checkbox to always be hidden.
  • Fixed: item availablity was not being loaded properly. This caused the insufficient QA warning to always come up on returns.
  • Changed: as per a user request, if you do a manual return and you point an inventory item with an inherent core charge to a return line without an inherent core charge, the core line will not be deleted from the PO, but its price will be set to 0.
  • Changed: the query that returns valid PO lines to be much faster.
  • Removed: requirement that items be marked as 'returnable to vendor' in order to be available in the return dialog.

Sales Orders

  • Fixed: as per bug 1198, removed the line load limit restriction. This had been created to make loading very large closed invoices faster, but it has ramifications when the invoice hasn't been finalized yet
  • Added: various usability tweaks/improvements to the whole unit items dialog (the one that pops up when you sell a whole unit asking which parts to sell and which to keep in stock):
  • Fixed: whole unit dialog: rearranged UI slightly and renamed fields for more obvious meaning. Also, the total fields are now just readonly, rather than light grey, as this is easier to view/select.
  • Added: whole unit dialog: tool tips to the dialog to explain various fields.
  • Fixed: whole unit dialog: issue where the dialog was sometimes not appearing.
  • Fixed: whole unit dialog: issue where the cost total fields were not always displaying reasonable values.
  • Fixed: whole units search info pane "Vehicle options" wasn't working right if a whole unit existed at more than one store (possible through Transfer Orders). Bug 1188.
  • Added: double clicking on a row in the vendor catalog search tab now opens the associated part (if any).
  • Fixed: vendor catalog search wasn't finding associated inventory records unless the user had mapped their vendor catalog to models.
  • Added: print tags button is now visible on the vehicles search. This will print tags for all selected whole units.

2010-03-15

Purchase Orders

  • Fixed: error related to loading POs where the approve posting checkbox was always hidden.

2010-03-09

General

DevIL (ILU dependency)

  • Updated: new version of the image library to help fix issues with images saving as empty/grey images.

ILU (ILUT dependency)

  • Updated: new version of the image library to help fix issues with images saving as empty/grey images.

ILUT

  • Updated: new version of the image library to help fix issues with images saving as empty/grey images.

ITSQLFramework

  • Fixed: several crashes and errors caused by error reporting situations where the main ITrack window doesn't exist yet, but the error reporting dialog assumed it did.

Crystal Reports

  • Fixed: issue where sending reports to the 'Preview' printer wasn't working and the item was actually printing on the user's default windows printer.

Customer

  • Fixed: Bug where the options list would be blank for new customers. Now the options list only loads once, on init, and every customer is allowed to have options. Also added in a bit of extra checking for array bounds. (Bug 1159)
  • Fixed: an error was submitted through the error reporting interface where doubleclicking a payment would throw a database error. This was because the stores the user had access to was an empty string. This situation no longer throws an error.
  • Fixed: an error submitted through the error reporting interface where a database error might be thrown when the user tried to display sales history on a new customer.

Data Management

  • Added: the type checking functions now have a non strictmode that doesn't mind if the input is empty.
  • Fixed: if a numeric field or a boolean field is empty, the screen won't complain.

Home

  • Updated: compatible with the new image library.

Parts

  • Fixed: issue where trying to open the first transaction in the transaction list didn't work.
  • Added: double clicking a manual adjustment on the transaction list now opens the change log.
  • Fixed: an error submitted through the error reporting interface where vendor lookups containing an apostrophe would throw a database error.

Purchase Orders

  • Fixed: Many static windows were allowing prefixes, so ampersands would show up as underscored spaces and such.
  • Removed: advanced operation dropdown and perform button.
  • Added: replaced the above controls with a single "Perform…" split button. This allows us to more easily perform one of these functions, and allows us to enable/disable these functions individually.
  • Fixed: issue where item's editability would get set incorrectly when you load a PO vs when you're building it.
  • Fixed: sidebar drag static wasn't placed correctly.
  • Added: context menu (right click) option to the list ctrl: "Reference/credit historical PO line". This is available on standard PO lines. This allows the user to manually attach an item to a historical PO line. This facilitates returning one item to the core liability from another purchase, or returning like items.
  • Added: manual PO line return automatically sets the return line's price and quantity to match the original purchase line (quantity can't exceed QOH).
  • Added: return dialog now displays dates in user's default date format.
  • Added: when the user changes the quantity of an item to less than 0, the 'choose original purchase' return dialog comes up.
  • Added: when the dialog mentioned above is launched, it starts out showing only po lines that match the current item. The user can click "Show all historical POs" checkbox to see all of them.
  • Fixed: when you add vendor return items to a PO, they are taken out of the inventory store doing the return PO, not the original order store.
  • Added: the system should now correctly handle 'anonymous returns' on POs. Similar to SOs, this is when you return an item without referencing an original line/document.
  • Added: when you open the 'return items' dialog on POs, only historical POs that have items you can return (items you have a record for at your location) show up.
  • Fixed: the PO screen no longer lets you return more than the unreturned quantity of an item. The screen now correctly computes the unreturned quantity of an item.
  • Fixed: an error submitted through the error reporting interface where the order fulfillments dialog would sometimes throw one or more errors when you were viewing order fulfillments for a stocked item.
  • Added: a check that notifies the user if they are returning items to a vendor but they have insufficient QOH to fulfill the order. This will prevent users from driving QOH below 0 with PO returns. For now, this is just a warning, but once its finished, it will be an error that stops the user.
  • Added: when the user opens the return dialog for a specific item in 'smart mode' it now hides items that cannot be returned on this PO and items that don't relate to the current item.
  • Fixed: customer 'smart search' used in the lookup no longer throws an error if you have "Show all stores's customers" unchecked and you search for a non existant customer.
  • Added: POs now show icons when there are lines on the PO that are returns (have a quantity less than 0) when there is insufficient QOH or QA to fulfill the return. Their are no error messages associated with these icons.
  • Added: POs now has a new icon that is displayed on return items when the "New" quantity being returned is greater than the QOH. ITrack throws an error in this situation, to make sure that QOH isn't driven below 0.
  • Added: TOs now have a 'insufficient available quantity' attention icon (same icon as the other screens).
  • Added: TOs now has a new icon that is displayed when the "New" quantity being transferred is greater than the QOH at the source store. ITrack throws an error in this situation, to make sure that QOH isn't driven below 0.
  • Removed: message boxes throws by TOs on save if some items don't have enough stock to fulfill the order. This was to make the screen more like SOs (the user can see the icon, but they don't get a message box until they try to transfer the items).

Sales Orders

  • Fixed: Many static windows were allowing prefixes, so ampersands would show up as underscored spaces and such.
  • Fixed: customer 'smart search' used in the lookup no longer throws an error if you have "Show all stores's customers" unchecked and you search for a non existant customer.

Search

  • Fixed: issue where vendor pricing search always showed $0 for several columns.

Vehicles

  • Updated: compatible with the new image library.

Vendor

  • Fixed: Many static windows were allowing prefixes, so ampersands would show up as underscored spaces and such.

WorkOrders

  • Fixed: an error submitted through the error reporting interface where "part #" lookups would throw a database error.

Purchase Order, Sales Order, and Work Order Screens

  • The following changes all relate to the way the list control works on the screen. By user request we have made these changes to make the list controls work more like excel or other windows applications. They will affect all screens that are released, but especially 'list heavy' screens like SO/WO/PO/TO/Part modification.
  • Added: the list ctrl now defaults to the style of "enter goes down" to be more like excel. This was in response to several user requests.
  • Added: the sales list ctrl now defaults to the style of "enter is carriage return" to be more like spreadsheet entry (like excel). This was in response to user request so that entry on such screens as PO/TO/SO would be easier.
  • Added: the list ctrl now allows the user to "exit edit mode" by hitting escape when they're on an edit. When in this mode, certain keystrokes, (like ctrl + A, home, end, ctrl+home, ctrl+end, etc) operate on the entire list instead of the specific edit.
  • Fixed: ITLC now prioritizes enter=carriage return over enter goes down, as I felt it was more specific behavior.
  • Fixed: issue where the user could use the space bar to toggle readonly checkboxes.
  • Added: arrows now control user movement in the list even when there is no control. For example, if you hit esc to close an edit, you can still hit an arrow to go to the next/previous item.
  • Added: Home/End keys now go to the start/end of an edit (like normal edits), and the start/end of the current line of a multiline edit. This makes them more like normal edits (use ctrl + Home/End to go to the start/end of a multiline edit).
  • Added: ctrl+A now selects all text in an edit.
  • Added: ctrl + arrow keys now navigates within an edit ctrl without leaving (like a normal edit).
  • Added: user can hit ctrl+enter in multiline edits to insert a newline (just hitting enter only does this now in lists where enter doesn't go down or act like a carriage return).
  • Added: if the user leaves cell edit mode (by hitting escape when in an edit), the user can hit home/end to go to the first/last cell in that row or ctrl + home/end to go to the first/last cell in the list.

2010-03-08

General

Master

  • Added: Compression support for downloads. This will make files download significantly faster, especially when bandwidth is low (tests showed updates downloading over 6 times faster).

libcurl

  • Added: compression support. This allows ITrack to download updates much faster, especially when bandwidth is low.

2010-03-04

General

Master

  • Added: whenever the updater is launched, the update log file is trimmed down to 64KB. This should fix issues where it has grown very large for users that have been on the system for a long time.
  • Fixed: a couple small issues with strings written to the update log.
  • Added: if it takes longer than 60 seconds for ITrack to contact the update server, it will stop waiting and report an error.
  • Changed: Further minor changes trying to make the updater not crash or hang or do anything weird.
  • Added: Now that the 409 response is working just fine, I added in some error handling for that, and also to renew session IDs if we receive a 409 (which itself just means that the server denied our file request because it doesn't know which user we are).
  • Removed: Connection re establishing procedures. We're back to a single CURL instance. We do continue to clean it up after use, however.
  • Fixed: Made it so that you can only deallocate valid CURL pointers to fix a crashing issue.
  • Added: curlglobalinit and curlglobalcleanup. The curl docs strongly suggest using this, though its inclusion didn't help anything.

libcurl

  • Updated: version of CURL we use. This newer version fixes some bugs and adds some new features.

libeay32 (libcurl dep)

  • Updated: new version of SSL introduces some security fixes.

ssleay32 (libcurl dep)

  • Updated: new version of SSL introduces some security fixes.

Category:ITrack/Enterprise/Changelog

Newer Older