ITrack/Enterprise/Changelog Version 5

From ISoft Wiki
Jump to: navigation, search

Release 5.10

Manage Warehouse

  • Fixed: (Case 11705) if the user changed a single manual count quantity multiple times, the value would trigger as 'not filled out' if the value was changed an even number of times.

Release 5.9

Database

  • Changed: the messagetype column in the message table has been changed to an enum to help mimimize the size and increase the speed of any indices on the field.
  • Changed: deliverylinehistory.userid is now NULL-able. This is because these records can no be created automatically by the database outside of ITrack.
  • Added: (case 9363) recursion protection to all triggers on deliverylinehistory that call f_refresh_document_delivered. This is because, in the case of auto-picking, that function can alter the deliverylinehistory table, causing recursion.
  • Added: (case 9363) f_refresh_document_delivered can now create deliverylinehistory records for all unpicked quantity on auto-pick documents. This will help users see who saved a document with auto-picking turned on (and when). All such pick history is created with an empty location, which shouldn't matter because auto-picking doesn't consider these records to count how many have been picked.
  • Added: (case 9363) recursion protection to f_refresh_document_delivered because it can insert deliverylinehistory records, which can cause triggers to fire that would call the function again.
  • Removed: (case 10865) the current handling for "auto-pick" shipping methods has been removed from f_refresh_document_delivered. This is because auto-picking is now being handled in a different way.
  • Removed: (case 10865) the triggers on the deliverylinehistory (picking history) table no longer check @AUTO_PICK_MUTEX because f_refresh_document_delivered no longer creates pick history.
  • Added: (case 10865) there is a script that will call f_refresh_document_delivered for all lineitems on all auto-picked SOs, POs, and TOs in order to ensure that pick quantities are correct based on the new functions.
  • Added: (case 10865) added a script that will retroactively generate general pick history for all lineitems on historical auto-picked SOs, POs, and TOs in order to make sure these documents show up as 'fully picked'.
  • Removed: (case 10865) the trigger when updating an existing shipping method will no longer refresh a bunch of documents' pick history if a shipping method has auto-pick turned on or off. This should speed up some saves.
  • Fixed: f_move_document_allocations previously only supported moving 'whole quantities' (integers). Now, fractional quantities are supported.
  • Fixed: a possible issue where f_move_document_allocations would do the wrong thing for TOs because storeid was NULL.
  • Fixed: a possible database error thrown by f_move_document_allocations if MySQL strictmode was on.
  • Fixed: f_move_inventory_with_allocations now supports fractional quantities (it only supported whole quantities before).
  • Added: (case 10865) f_salesorder_saved now generates pick history if an auto-pick shipping method is selected. If the SO picking staging location is filled out, the quantity is also moved to that staging area (this is suppressed for returns).
  • Added: (case 10865) f_transferorder_saved now generates pick history if an auto-pick shipping method is selected. If the TO picking staging location is filled out, the quantity is also moved to that staging area.
  • Added: (case 10865) f_purchaseorder_saved now generates pick history if an auto-pick shipping method is selected. If the PO picking staging location is filled out, the quantity is also moved to that staging area (this is currently only active for PO returns).
  • Fixed: (case 11123) serialized inventory was only being moved if its current location matched the source location. Now that is only true if the inventory is being 'lost' (move to Variance)

Reports

Weekly Sales Insights

  • This is a new report. The is the first of a new type of report that presents information using graphs, this shows summarized sales for a 4 week period by day, customer, and part type.

Sales Orders

  • Added: (case 10865) SOs that have 'auto-pick' shipping methods selected now generate picking history on save as well as moving the items to the picking staging area, same as the pick operation on the delivery screen.
  • Added: (case 10865) when saving an open SO with an auto-picking shipping method selected, the user will be prompted to confirm that they have picked all quantity on the document and given it to the customer. This feature is controlled by a new setting which can be found at "Sales Orders"->"Require confirmation for automatic picking of inventory", and defaults to not required.

Release 5.8

Parts

  • Added: (case 10974) if the user adds or modifies a location on the parts screen, the hold quantity is now refreshed. This fixes an issue where switching a location might leave the hold quantity from the previous location. Now the hold quantity should match the new location name.

Reports

Label by Location

  • Updated the report to work with the new locations.

Tag by Location

  • Updated the report to work with the new locations.

Warehouse Management

  • Fixed: (Case 11000) an issue where serial #'s would show the wrong 'impact' value on count documents.

Release 5.7

Customer

  • Fixed: (case 10879) an issue where copy image to clipboard wasn't working.

Database

  • Fixed: (case 10867) a error that would occur on the Deliveries Screen when two items on a document were both pulling from the same location.
  • Fixed: a database error that occurred on the ebay screen because of missing data in the ebay tables.

Parts

  • Added: (case 10862) if the user manually adds a location to a part, it will automatically 'steal' all unsaved quantity from the special offset location (e.g. Variance). This solves certain situations where new standard/misc parts would end up with 0 at the location the user chose and 1 at Variance. Also, this means that, on saved inventory, if a location is deleted (moving quantity to variance) then another is added, that quantity will automatically be assigned to the new location. Any quantity that was in Variance when the part was loaded will remain at Variance.
  • Added: if a location is added to a part that has NO locations at all (generally only possible on new parts) the current inventory quantity on hand will be put at that new location.
  • Fixed: (case 10879) an issue where copy image to clipboard wasn't working.
  • Fixed: (case 10905) an issue where saving an item with assembly items might throw a database error, keeping the new items from being added to the collection.

Reports

Inventory Count Sheet LXW

  • Fixed: (case 10919) the report now includes items at virtual locations.

Work Order Internal

  • Added: (case 10869) job name now appears in the job section, instead of the customer name, which was already on the report.

Vehicles

  • Fixed: (case 10879) an issue where copy image to clipboard wasn't working.

Vendor

  • Fixed: (case 10879) an issue where copy image to clipboard wasn't working.

Warehouse Management

  • Fixed: (case 10887) an issue where, if the user performed a search for inventory counts, the screen would get stuck in a mode where all further searches for inventory moves would throw a database error.

Work Orders

  • Fixed: (case 10884) an issue where the job would calculate estimated taxes based on item cost instead of item price.

Release 5.6

Core Management

  • Fixed: (Case 10743) A crash when sending a core to the Sales Order screen. This was due to version compatibility.

Warehouse Management

  • Added: (Case 9417) Jobs are now exported on a consolidated document.

Release 5.5

Customer

  • Fixed: (case 10458) editing a payment was incorrectly saving a $0 unapplied payment line.

Database

  • Fixed: a database error in the ebay module that could occur when it attempting to access eBay conditions.

FIFO Subsystem

  • Added: (Case 10518) The FIFO system now properly handles Sales Order re-opens by removing the documents allocations and freeing the inventory source.
  • Added: (Case 10518) The FIFO system now treats returns differently. The system will now record the return as a negative allocation and record the credited document, whereas before it would simply delete credit allocations.

Sales Orders

  • Fixed: (case 10540) an issue where sending items to be adjusted from the warehouse management screen would cause an invoice to be written with the incorrect quantities (negative instead of positive when lost inventory is being written down).

Purchase Orders

  • Fixed: (case 10223) an issue where a PO return started by entering a negative quantity (not through the begin return button) for an item with a core charge would mix up the price of the master item and the core charge.
  • Fixed: doing a return with the begin return button no longer adds the items to the document in reverse order.

Release 5.4

Work Orders

  • Fixed: (case 10323) several crashes that could happen when deleting a job or task from a saved WO, especially if newly added tasks or labor were on the job.
  • Fixed: (case 10323) an issue that would cause a job to get deleted if the user deleted a saved task off of said job.

Release 5.3

Purchase Orders

  • Fixed: (case 10168) voiding POs no longer incorrectly reverses locations on parts that were received if the same item was received on two or more lines.
  • Added: (case 10160) voiding POs now uses the standard inventory adjustment functions in the database to reverse all quantity and cost changes (including add-on costs). This will fix issues with FIFO and other reports not always updating correctly after PO void.

Work Orders

  • Fixed: (case 9379) an issue where dirty core lineitems on a WO might show the incorrect cost value on the screen until the user hit the refresh prices button (the correct value was saved though).

Release 5.2

Payment Entry

  • Fixed: an issue where creating payments on the Payment Entry screen would not correctly generate accounting.

Reports

Inventory Count Sheet LXW

  • Added: Inventory Count Sheet LXW can now show out of stock inventory (optional). This can be done from the Manual Count Entry screen.

Release 5.1

Customer

  • Fixed: (case 10194) an issue where new attachments wouldn't save the customer ID correctly.

Manage Warehouse

  • Fixed: (case 9759) an issue where an item with no locations at all could not be added to a manual count.

Parts

  • Fixed: (case 10137) an issue where, if the user changed the location dropdown on the part info page, the primary location of the part would be saved, but it would not appear on the locations tab until the user reloaded the part.
  • Fixed: (case 10137) if a new primary location is added to a part using the location dropdown on the part info page, that location will now correctly be handled with the "delete non-permanent locations with 0 quantity" setting.
  • Fixed: (case 10137) if the user changed the primary location of a part to a location that had 0 quantity and was not permanent, the change log would record that the location was changed to that location even though that location was removed from the part before save.
  • Removed: (case 10137) newly created parts no longer automatically create a location at the default inventory location (default of "MAIN"). This is to alleviate confusion where this automatically added location was created as non-permanent so it would simply be deleted on save when quantity was 0 (common for replenishable parts). A previous update added a popup on save that allows the user to easily add remaining quantity to MAIN or Variance if necessary, which should cover situations where standard/misc parts are created with non-zero quantity.
  • Added: (case 10137) if the user adds a new location to a part (other than Variance), it will automatically be marked as a permanent location if its the first location (other than Variance) to be added to the part. This allows the user to pick a location on the parts screen for a new quantity 0 part and not have to worry about that location disappearing. This is commonly necessary for new (not yet stocked) replenishable parts.

Reports

Label

  • Labels now display *NO SERIALS* instead of a barcode on serialized parts with no serials.

Sales Order 11in

  • Store name field now resizes to handle even longer store names.
  • Balance adjustments now show at the bottom of the SO along with payments. Both Subtotal and Balance Adjustments now pay attention to the new field, adjustmenttype.printable.
  • Added customer email fields, suppressed by a setting by default
  • Report now uses the f_backorder_quantity function.
  • Gave term field more room, expanded rectangle at the top to be the same size as the main body.

Tag

  • Tags now display *NO SERIALS* instead of a barcode on serialized parts with no serials.

Work Order Internal

  • Set complaint, cause, and correction fields to grow. Cleaned up report.

Vehicles

  • Fixed: (case 10194) an issue where new attachments wouldn't save the vehicle ID correctly.

Vendor

  • Fixed: (case 10194) a regression where new attachments wouldn't save the vendor ID correctly.

Release 5.0

Common Resources

  • Added: support for a new screen-independent attachment management dialog. More coming on this soon.
  • Added: the edit choice dialog now has a parameter that allows the caller to say that leaving the edit blank and hitting ok is acceptable.
  • Added: the choose locations dialog, which is shared between all document screens, now allows for choosing a quantity on a range rather than a specific value. This is currently just used on SOs where the user can allocate between the sell quantity and the total quantity, to account for back orders.
  • Fixed: an issue where adding a new attachment to a target object, then reloading that object could cause new copies of the attachment to be loaded.
  • Fixed: an issue where adding attachments to new objects (no ID yet) wouldn't work right.
  • Added: the attachment dialog now removes an attachment from the attachment cache if the user unattaches it in the dialog. This solves an issue where new attachments couldn't be properly deleted.
  • Added: support for readonly mode in the attachment dialog. Editing, adding, and removing attachments is disabled in this state.
  • Added a new green right arrow icon. Kinda looks like a play or go button.
  • Fixed: an issue with the choose locations dialog where an inventory record would have its locations loaded, but none of them would be marked as the primary location. This was interfering with any yard that used $PRIMARY as a special location for documents.
  • Fixed: a crash that could happen when the user chooses locations on a document.
  • Fixed: an issue where looking at the locations on a document that was fully or partially received would show incorrect predictions in the 'available' quantity column. This was because it wasn't taking into effect the fact that some quantity was already sold/returned/consumed/received/transferred.
  • Added: some new icons
  • Added: (case 4097) ability for document screens to choose whether automatic location allocation should happen if there are multiple locations to choose from.

Customer List

  • Fixed: (case 9219) an issue where performing a search would always return all customers in some circumstances.
  • Fixed: (case 9750) the enter payments button now applies user permissions the same way that the customer screen does. Essentially this means taking the customer's default store into account.

Customers

  • Removed: (case 9556) unnecessary pop up dialogs that would happen if the user intentionally aborted a save operation.
  • Changed: Rewrote all message box pop ups on the customer screen, all its pages, and all its dialog boxes (such as the payment dialog). Several dozen message boxes have had their text rewritten to be clearer and more concise. Several dozen more have had their button text rewritten to give the user a clearer idea of what will happen when they click them.

Credit Approval

  • Fixed: (case 9320) the credit limit override value would get mangled when building the appoval query.

Crystal Reports

  • Fixed: (case 9618) an issue where the way we were identifying reports for update was causing new reports to overwrite the fileid of the first report on the system.
  • Fixed: a possible issue where resetting updates during an existing update process could cause reports to update the wrong reports if the rows got reordered.

Database

  • Added: f_location_refresh now has extra WHERE clauses on all queries in the second section. This has been shown to speed these queries up by a factor of about 50%. Thanks goes to Ken Oehlers for this suggestion.
  • Added: (case 9101) there is now a new permission for whether the user can add new payments to a SO. The existing permission for editing payments has been renamed appropriately. This new permission defaults to the value of the existing payment edit permission.
  • Fixed: (case 9195) Fixes to make manual inventory quantity adjustments work without database errors.
  • Added: the f_vehicle_cost function now validates input to prevent it from running for vehicle ID 0.
  • Removed: v_allocated_costs, as it is no longer used.
  • Added: EDocuments can now (optionally) be for a particular store. EDocuments now must be unique per store.
  • Fixed: (case 9329) the description for the Locations -> "Open Screen" permission was describing the Data Management screen.
  • Added: (case 9367) missing function f_refresh_document_fulfillment.
  • Added: (case 9289) an assembly number search module called Collection SKU
  • Fixed: the location field in vehicle is now large enough to handle all locations.
  • Added: new function: f_move_inventory_primary_location, which can set a new primary location for a part. It has a flag that specifies whether all QoH should be moved to the new location or not. In general though, a new primary location is created and the quantity at the current primary location are moved to it.
  • Added: f_move_inventory_with_allocations now sets a session variable called SUPPRESS_INVENTORY_INTEGRITY_CHECK before calling f_adjust_inventory_location. This skips calling f_verify_inventory_location_integrity twice inside child functions. This is done because f_adjust is called twice, and inventory is moved into and out of variance if we don't skip it.
  • Added: f_adjust_inventory_location now skips calling f_verify_inventory_location_integrity if SUPPRESS_INVENTORY_INTEGRITY_CHECK is set. Also, the special whole unit behavior is skipped if the session variable SUPPRESS_VEHICLE_LOCATION_HANDLING is set to TRUE. This behavior normally deletes all other secondary locations and updates vehicle.location. This is undesirable for f_move_inventory_primary_location, which handles all secondary locations.
  • Added: (case 9233) Added an event that will run at 3 am every Sunday to optimize all tables
  • Added: (case 9367) another function that was missing on some databases.
  • Fixed: an issue where f_move_inventory_with_allocations was updating inventoryserial.location but not inventoryserial.locationid
  • Fixed: an issue where f_move_inventory_primary_location wouldn't move existing locations correctly in some cases. Also, we now correctly use signed integers for location ids so that they won't have errors if an inventorylocation uses -1 for its locationid.
  • Fixed: an issue where f_refresh_document_locations would throw an error when called for work order master parts.
  • Added: (case 9462) support for a 'drop-in' database modification that makes the database 'remember' hold and on order quantities for inventory. This cut as much as 80% of search times out for large result sets in testing.
  • Changed: (case 9510) the "Inventory Type Name" field has been renamed to "Part Type Name" in the part modification screen for consistency
  • Fixed: (case 9442) A problem with f_refresh_document_location_allocations where the inputs for the function had a name mismatch for work order parts. Added stubs for WOMP handling for additional clarity.
  • Fixed: (case 9624) removed a reference to inventory.holdquantity which has been removed.
  • Added: (Case 9603) a 'printable' flag for adjustments to add the user flexibility in reports.
  • Fixed: an issue where f_calculate_average_cost wasn't adding in 'add-on' costs if inventory.cost was non-zero (% of price costing override).
  • Fixed: an issue where f_adjust_inventory was erroneously inserting records into the costdiscrepancy table with the message of Roundoff Error when non-depletable items were sold or standard items were sold (in some situations).
  • Fixed: (case 9629) an issue where picking and moving inventory after the document has been finalized (or partially received in the case of TOs) would still move inventory even though it had already been sold. Now, the document allocations are moved, but inventory is not. This avoids an issue where picking a document after finalization would end up leaving inventory in the picking staging area.
  • Fixed: an issue where moving document allocations might not recalculate some information correctly if the allocation already existed (like quantitypicked or quantityreceived).
  • Added: p_run_for_each_table, which is required for e_optimize_all_tables.
  • Added: (case 9703) inventoryserialhistory.picked, which keeps track of whether any particular serial on a PO or TO has been picked.
  • Changed: (case 9703) f_move_inventory_with_allocations now passes serial information into f_move_document_allocations so that we can properly move serial #'s on documents. Also, 2 queries were combined to make this function faster, especially in those cases where non-serialized inventory is being moved.
  • Added: (case 9703) f_move_document_allocations now takes a serial # as an argument so that serial information can be appropriately shifted. Essentially this supports updating inventoryserialhistory.
  • Changed: (case 9703) all 4 pickable item views (v_pickable_<document>) now return serial information with each line. For documents that can have multiple serials per line, this means breaking items up.
  • Fixed: (case 9688) A bug in f_move_inventory_primary_location that caused infinite looping in certain cases.
  • Changed: (case 9419) Made log_discreteinventorymove capable of storing more generic information.
  • Changed: f_move_inventory_with_allocations now calls a post-execute function when done.
  • Added: f_move_inventory_with_allocations_post_execute, which is a generic function that gets run at the end of f_move_inventory_with_allocations. It contains block-commented code for putting discrete move inventory into the log table.
  • Fixed: (case 9796) an issue where a search done only with the serial # smart search might throw an error.
  • Added: (case 8126) Additional permissions used by LXW. This brings all LXW permissions into Enterprise.
  • Changed: (case 9899) f_replicate_inventory now has an enum for where it was called from rather than a string.
  • Fixed: an issue where v_pickable_[document]_line would return "" for its document type on some versions of mysql. This is a MySQL bug that is present in MySQL 5.6. Once the bug is fixed, we can remove this workaround.
  • Fixed: (case 9865) an issue where v_pickable_[document]_line wouldn't show 'non-stocked' items (items with no inventory record) to be picked.
  • Added: (case 9774) f_location_refresh is now store specific. This should make refreshing location information faster, especially on databases that have logging turned on on many tables.
  • Added: (case 9776) inventoryquantityadjustmentline.location, which is necessary for virtual locations in counts. There is a trigger for pre-update and pre-insert that sets this based on locationid if its empty.
  • Added: (case 9776) inventoryquantityadjustmentserial.newlocation, which is necessary for virtual locations on serials in counts. There is a trigger for pre-update and pre-insert that sets this based on newlocationid if its empty.
  • Added: (case 9961) there is now a function (f_backorder_quantity) which returns the quantity that was backordered from a particular salesorder line. This is important because, in 4.0, back order quantities now get 'zeroed out' when an invoice is finalized.
  • Added: a new index that should make looking up back order quantities significantly faster.
  • Fixed: (case 9784) an issue where moving a serial using f_move_serial would move the inventorylocation record and document allocations but not the serial if the 'old' location didn't match the serial location. Now, the current location of the serial is used as the 'from' location no matter what is passed into the function. If no serial could not be moved, the rest of the operation is skipped.
  • Adding an inventory type per case 9846
  • Removed: a location setting that has not been in use for awhile, and it is complicating configuration.
  • Removed: (case 4097) a setting that was previously added to implement a feature has been removed because the feature has changed design.
  • Added: (case 4097) there is a new store setting, 'Locations'->'Automatically choose between multiple locations when adding items to documents'. This is an important setting that defaults to True. It should only be turned off if a yard wishes to 'force' users to manually choose locations when adding items to documents when there is more than one location to choose from.
  • Fixed: (case 10025) an issue where rows were being inserted into the cost discrepancy table in situations where the inventory record was not being adjusted.
  • Added: a placeholder function called by the transfer orders screen. This function is optional, but we'd prefer to have an empty function to avoid errors getting logged.

Deliveries

  • Fixed: (case 9358) an issue where the SO destination location was being used as the WO destination location when picking.
  • Fixed: an issue where unpicking (picking negative quantity) would throw a database error when pick and move was enabled. Now an un-pick and move simply moves the quantity in the opposite direction rather than picking a negative quantity.
  • Changed: (case 9703) the pickable items list now shows a row for each serial #. Also, when a user picks a specific serial #, that information is passed into the database functions, which eliminates a problem where QoH was getting moved but the serial #'s were not.
  • Removed: the user is no longer able to unpick (pick negative quantity) for POs and TOs because the database functions do not currently support it on serialized items.

EDocuments

  • Fixed: a crash issue that could happen if a function in a template didn't have a valid close bracket.

Global Settings Extension

  • Fixed: a database error that would occur when attaching a new report file to an existing report record in the database.

ITrack.exe

  • Added: Checks for impossible version numbers. If you try to update to a database version number that's more than 5000 versions away from the current version, it simply writes an error and continues on. Note: This change was added as another avenue to prevent a bad product update
  • Fixed: (case 1503) a long-standing (but very rare) issue where updates would fail to download twice on some machines, generally related to cookie storage.
  • Fixed: (case 9934) when the user logged out, a cleanup message which is reserved for application close was being called on all loaded extensions. This was disrupting extensions that used libraries that stop working after cleanup (like the Chromium embedded framework). Now, this cleanup is only performed on the final close of the application.

ITMySQLConnection

  • Added: support for tracking open transactions for mysql connections.
  • Fixed: an issue where hitting retry on a query error dialog would fail if multiple queries were being passed in for that operation.
  • Performance: eliminated some unnecessary string conversions so that queries are executed faster. Should help speed up very large queries (not large result sets).
  • Performance: refactored to combine similar query execution code for consistency and smaller executable code.

ITSQLFramework

  • Changed: several query methods have been combined to lower executable size and code redundancy.

Locations

  • Added: (case 9330) Permission-checking and handling code to the locations dialog. Now respects the location delimiter permission.
  • Added: Embedded location page on Location screen updates when permissions change.
  • Added button icons
  • Fixed: the configure locations dialog's editability permission is no longer based on whether the user can open the locations screen.
  • Added: the configure locations dialog now only shows a list of stores in the dropdown that the user has permission to edit locations at.
  • Changed: the 'global' location delimiter is now per-store, and the permission that controls the ability to edit it is also per-store. Also, for speed purposes, when the delimiter is modified, only locations at the current store are refreshed now.
  • Changed: (case 9774) the location refresh function is now store specific, and it is only called on save for each store that had a location added or modified.

Manage warehouse

  • Changed: Fixed some very overactive change detection.
  • Added: Extra items added to a manual count try to auto-select a candidate location if there is a good candidate location.
  • Changed: De-escalated an error popup about variance requirements to a warning in the status bar.
  • Added: Warnings and errors for trying to do counting without having a Variance location configured.
  • Fixed: A bug where the batch scan management results would hard-limit at 200 instead of what the user selected. It's currently without limits now, so if the user selects something large, the database will lock as it grabs the data.
  • Added: ordering to the batch scan management results.
  • Fixed: A subtle bug where it was possible to be missing the ID for a location involving the location autocomplete.
  • Fixed: A bug where having an inappropriate serial count could lead to the wrong variance/old location being used.
  • Fixed: (case 9227) A bug where having an ambiguous entry in manually-entered lookup would cause a whole-inventory search to happen.
  • Changed: lots adjustment to the UI to improve flow
  • Added: lots of state specific tooltips
  • Added: Pressing certain buttons will automatically set the focus to the next button. This doesn't always make sense in ITrack but this screen's UI already felt very wizard-like as it locked down certain parts of the UI as you did things.
  • Added: Start Manual Count and Cancel are now the same button, act as a toggle.
  • Added: (batch scan management page) Buttons are now inactive when they don't perform an action, with tooltips.
  • Removed: the start/stop "mode". Now there is change detection. The user can change the location at any time. If they have quantity values entered at the time they change the location, a dialog will appear.
  • Added: Focus automatically gets set in the list edit when adding a part via the Add button
  • Changed (case 9727) previously, the user could not view items at locations containing more than 500 items. Now, the user is warned in these situations and they can either continue anyway, cancel, or load just the first 500 items.
  • Changed: items on a count that were not counted (left blank) are now no longer added to the count operation. This allows the user to do a partial count of a location without setting all other items to 0 quantity.
  • Added: there is now a store setting under the "Manage Warehouse" section that controls whether to automatically set quantity counted to 0 when the user leaves the field if the field is blank. This setting defaults to off.
  • Added: there is now a quantity on hand and a quantity available column in the manual count list. This allows the user to see the current expected quantity for that item at the specified location.
  • Removed: some unnecessary queries run when saving a manual count.
  • Added: Projected impact column to the inventory adjustment page. This column shows a signed value which predicts the value that inventory will be adjusted by if the user proceeds. All items that are associated with a vehicle have a grey background in order to warn the user that the projections are just a guess (since vehicle cost pools can fluctuate). If the adjustment will add quantity ('found' inventory) this column shows 0, since no expense will be associated with the new inventory.
  • Added: non-depletable items now always show 0 in the impact column.
  • Changed: average cost column no longer multiplies by quantity. This is to differentiate it from the projected impact column.
  • Added: quantity column is now colored red or green, depending on whether the quantity difference will increase or decrease QOH if the adjustment proceeds.
  • Removed: sum of the averagecost column, since it is no longer very useful.
  • Added: sum of the projected impact column in the footer
  • Added: support for finding/losing fractional quantity. Before, only whole quantity could be adjusted.
  • Fixed: an issue where adjustment quantity might not show correctly if a large 'loss' was partially 'found' or vice versa. This was impossible before some recent database changes anyway.
  • UX: added wait cursors to loading/summing up inventory adjustment entries.
  • Changed: (case 9859) the query that grabs inventory counts on the scan job administration was taking an inappropriately long amount of time to return on large data sets. The queries have been rewritten and tested on very long date ranges and found to be 99% faster.
  • Added: the location column in the scan job administration list now shows the location serials were moved to in addition to the locations counted for non-seralized parts. Currently any locations appearing in both lists will be duplicated. We're looking into a way to fix this without introducing significant time to the loading process.
  • Changed: inventory status must be A or H in order to be loaded into the count list
  • Fixed: serialized items now only show serials that are 'Available', 'In Transit', 'Work In Progress', or 'Allocated'. Available is the only important one, but the others are still sort of in stock, so it may be useful to count them.
  • Changed: serialized items with no valid serials no longer show up.
  • Added: (case 9752) there is a check that controls whether items with 0 QOH show up or not.
  • Added: there is now a check that controls whether stock levels show on the screen and another that controls whether they show on the printout.
  • Changed: labeled several sections of the manual count screen and other minor UX tweaks.
  • Changed: serials that are part of a count now show their 'to'/'new' location in the location list, not their old location, as the location they are currently at is probably the location that was counted.
  • Changed: (case 9776) the batch scan history page now uses the location text fields in the database in order to support counts at virtual locations.
  • Changed: the variance column has been renamed to 'difference' in order to differentiate it from Variance the location.
  • Added: (case 9776) approving a count now works correctly with virtual locations.
  • Added: the manual count page now supports deleting multiple items off of a count.
  • Added: the manual count page now always shows an 'empty' item at the bottom like the document screens.
  • Changed: (case 9776) the add found item button on the manual count page now sends the user to search and they can return any number of search results.
  • Added: (case 9776) the manual count page now supports counting virtual locations. The 'invalid location selected' icon only appears on virtual locations if the "Enforce Location Hierarchy" setting is set to True.
  • Added: the manual count page now remembers the column size and order for the current user.
  • Fixed: an issue where changing the location on the manual count page wouldn't refresh the list if the user hit tab or clicked out of the combo.
  • Added: when the user doubleclicks a scan job detail row, the corresponding inventory record is now opened on the parts screen
  • Changed: on the scan job admin tab, the detail list is no longer gray all the time (read only list).
  • Added: the scan job list and detail list now alternate row colors.
  • Changed: (case 9784) the detail list has been made much more consistent and usable between serialized and non-serialized parts. Changes include:
- Non-serialized parts show the same location in from and to if no change happened (used to show blank in 'to')
- $ impact column is now colorized in the main list
- $ impact and quantity difference columns are now colorized in the detail list
- There is now an increase/decrease/move icon shown in the difference column for every line where an adjustment was made.
- The totals in the footer now show sums even when the total is 0
- All currency values now correctly use the user's windows locale format for currency.
  • Fixed: if no scan jobs are selected, the detail list is now correctly cleared.

Part Modification

  • Fixed: (case 4090) an issue where sending results from search wouldn't be added if the user did a search grouped by location. For now, the locations specified in the search results are ignored.
  • Changed: (case 6931) by user request, the user can now change whether all columns can be set up to log changes or be global. Previously readonly columns could not have these 2 attributes modified, as the readonly columns were considered to be outside these behaviors. However, since this is an advanced area only modified by power users, this is now possible. It is important to note, however, that some readonly fields, even if set to global (or log changes) won't always respect these settings. For example, averagecost, which is modified by the system and assumed to be a non-global field which does not require a change log entry when modified.
  • Added: all date and date/time columns now display in the user's windows locale format for dates and date/times. Also, these columns can now be edited with windows date/time pickers (when they are editable).
  • Fixed: (case 9973) all date and date/time columns should now sort correctly.
  • Changed: read-only columns should still use the appropriate control type. For example, readonly true/false columns would show the word True/False, now they show a readonly checkbox. Readonly text fields now show an edit control so that the user can copy the data into the clipboard.

Parts

  • Fixed: A bug where the wrong screen name was supplied to the Edit Locations function, causing it to do nothing instead of opening the locations list.
  • Fixed: A bug where an un-inventoryable location being added to the part (perhaps through manual/scanner counts) would cause the part to be uneditable. Now we only care about locations that haven't been changed.
  • Changed: (case 9685) Adjusted tab order to match user expectations
  • Added: (Case 6577) the user is warned if they are deleting a location that has held quantity.
  • Added: (case 6577) if the user deletes a location that is on any open documents, those location allocations will be deleted. This will allow those document screens to re-allocate correct locations on the next load, or force the user to choose.
  • Changed: deleting a saved inventory location now only deletes open document allocations. Closed allocations against that location will remain.
  • Changed: the warning that pops up when the current part has been modified since the user loaded it has been rewritten to be more concise and easy to understand.
  • Fixed: the "vehicle cost overrun" warning dialog will no longer assign a negative cost if the vehicle's cost has already been overallocated. Also, the dialog no longer pops up if cost is already set to 0.
  • Fixed: (case 9858) an issue where the user would not be presented with entering a comment into the change log if they manually adjusted quantity.
  • Fixed: (case 4380) an issue where replenishable parts were asking the question "the quantity has been set to 0, do you want to set the status to D or S?". This question is more applicable to non-replenishable parts.
  • Added: (case 4380) if the user sets the status of a part to something other than A or H (and quantity is not 0), the system will ask if the user wants to set the part quantity to 0 (so long as they have permission to adjust part quantity). This should help yards avoid situations where they have inventory records that are not reported as part of inventory valuation but have a cost value associated.

Purchase Orders

  • Fixed: (case 8552) the current time was not being saved in purchaseorder line history's "lastmodified" date.
  • Added: support for E-documents being store specific.
  • Fixed: (case 9111) an issue where core items were using averagecorecost instead of averagecost for transfer order line cost.
  • Removed: an unused field from the TO table.
  • Added: when user hits 'add item' on the TOs tab, the message sent to search will now ensure that any clicked parts are sent back to TOs instead of POs.
  • Added: (case 4090) if the user sends search results grouped by location to either a PO or a TO, items will now be loaded (previously the message was ignored). Currently, this is treated just like a normal set of item results (the locations passed from search are ignored).
  • Fixed: an issue where transferring serialized items would not correctly allocate locations at the source to match the serial #'s the user chose.
  • Changed: (case 9964) when the user loads a historical posting, the 'total quantity received' will no longer exclude 'future' postings. Previously this figure only showed quantity on postings performed before the currently loaded posting in order to simulate showing a historical version of the posting. However, this was somewhat inconsistent/confusing and was leading to several issues where editing an existing posting could lead to location errors or overreceipt of a PO.
  • Fixed: (case 9964) if the user loads and edits an existing posting that has future postings, the receive all button will now only suggest the quantity to fully receive the PO (no more over-receipt). Also, the colorizing of the quantity column should work correctly in this circumstance again.
  • Fixed: (case 9964) if the user loads and edits an existing posting that has future postings, they should no longer incorrectly get 'insufficient QOH to return the item' for return POs.
  • Fixed: (case 9964) an issue where the user was incorrectly allowed to remove items from a PO if the user loaded a historical posting and the item was only received on later postings.
  • Performance: loading a large PO is now somewhat faster due the improvement of some purchase order line features.
  • Added: (case 9970) the force closed checkbox on TOs now says "Done Receiving", and loading a TO that is done receiving will check this box. This should make this screen more consistent with the PO screen. Previously, this check was only used to force a TO closed and was unchecked on saved TOs.
  • Added: (case 9982) the 'quantity returned' in the PO return dialog was using purchaseorder line quantity, even if a return PO was forced closed without receipt. Now, if a PO is done receiving, just the quantity received is used. Credit to Chad A for the solution.
  • Added: (case 4097) support for the new 'Automatically choose between multiple locations when adding items to documents' setting for allocating locations automatically. This is supported for PO returns and the source locations of TOs.
  • Fixed: (case 9975) if a transfer order was received in multiple postings, it was possible that items on the TO would have unnecessary activity in and out of the Variance location.
  • Performance: saving a transfer order now batches many of the queries run on save instead of running them individually. This can make creation of a large TO much faster on slow connections.

Sales Orders

  • Added: when automatically or manually allocating locations for a lineitem, back order quantities are now taken into account. Any allocation count between the quantity to be sold (total quantity - back order quantity) and the total quantity is allowed. No warnings or errors will be shown if the user chooses a location count on this range. This fixes an issue (case 9483) where the user would have to manually decrease allocations down to sell quantity if they were back ordering quantity.
  • Added: the warning "Item is has insufficient quantity available at the specified location(s)" is disabled if the user overallocated a location by an amount less than the back order quantity. This is because upon finalization, the excess allocations will be moved onto the back order document.
  • Added: (case 9101) the ability to add new payments has been split from the permission to edit the amount and payment information on existing, saved payments.
  • Added: the delete payment button is now greyed out if the user doesn't have add payment permission.
  • Fixed: (case 9100) a regression where the user could no longer add or edit payments on a SO if they did not have the permission to edit sales orders. Now, if the user doesn't have permission to save a SO, new or modified payments will still be saved during the print operation.
  • Added: the choose print options dialog now pops up correctly if the user is printing a SO that they don't have permission to edit.
  • Added: 2 new popups during save that will tell the user that they don't have permission to save a new payment or modified existing payment if they are missing the corresponding permission. This is just a redundancy, and should be rarely seen.
  • Fixed: (case 6660) voiding an invoice now properly recalculates the hold quantities on all inventory on the voided document. This resolves issues where these holds would remain until the user added the item to another document or saved the original document again.
  • Added: support for fractional quantity inventory adjustments sent from the manage warehouse screen.
  • Fixed: (case 9899) when inventory is replicated for a return, the database function is now called with the correct document type.
  • Added: (case 4097) support for the new 'Automatically choose between multiple locations when adding items to documents' setting for allocating locations automatically.
  • Fixed: (case 9691) an issue where performing an inventory adjustment invoice would sometimes incorrectly show prices on inherent core charges.

Search

  • Fixed: an issue where "Receiving" was misspelled on vehicle search. Thanks to user tcamarigg for the catch.
  • Changed: (case 4090) the context menu (right click menu) now shows all "Send to" options when the user right clicks on results after performing a search where results are grouped by location.
  • Added: the screen handles returning results to other screens slightly differently now to ensure that sending items to a PO vs a TO will always arrive in the correct area
  • Fixed: no matter whether the user is doing a search that is grouped by location or not, the send to ebay option will always send the results in a way that the ebay extension can handle.
  • Changed: data storage method to avoid a crash related to inventory locations.
  • Minor tab order fix on the Vehicle Search tab.
  • Performance: reduced the time spent attaching lookups to the current result set. This can speed up performing an appraisal for large sets of parts significantly.
  • Added: (case 9880) there is now a total for appraisals in the totals section in the bottom right. The value is always $0 until the user performs an appraisal.
  • Changed: the part search result totals now allow the user to select and copy the values.
  • Fixed: an issue where the totals for the current search would be incorrect if the a 'location' search was performed and parts existed at multiple locations.
  • Added: all part search result totals are now shown in the user's windows locale format for currency.

Updater

  • Added: (case 9862) if (for whatever reason) the 'command' to run in run_delayed has quotes around it, they are removed. This is because CreateProcess apparently fails if the executable to be run is in quotes.

Vendor

  • Fixed: (case 9766) the notes field was getting truncated even though the database field has no limit.

VendorList

  • Fixed: a bug where performing a search would always return all vendors (case 9219) in some circumstances.

Vehicles

  • Added: The bidding/teardown page now uses an auto-complete for the location dropdowns.
  • Added: when the user changes the location of teardown parts using the pop-up "vehicle location changed" dialog, the primary location of the parts will be correctly adjusted using a new database function.
  • Fixed: the vehicle location field now allows 50 characters like other location fields.
  • Added: the vehicle location dropdown now defaults to a default vehicle location specified in setting "Vehicles"->"Default vehicle location".
  • Added: teardown parts should correctly get location id as well as location name when they inherit data from the vehicle.
  • Fixed: if the vehicle has its location changed, a new 'move primary location' database function is called on the whole unit, which should correctly adjust the location of the whole unit.
  • Added: whole units now get an inventorylocation row when they are created for their primary location. Also, if the user manually changes the availability of the whole unit, the quantity of the primary location is correctly adjusted.
  • Fixed: an issue where the user could not enter virtual locations into the location field during teardown.
  • Fixed: (case 9579) an issue where parts created from teardown might inherit the wrong vehicle model if the vehicle's make or model changed. This was not reflected on the parts screen, so the user probably won't notice a change.
  • Fixed: an issue where, if the default vehicle location matched a location in the location list but had a different capitalization, the screen would erroneously throw a "The vehicle changed" message on an empty vehicle.
  • Added: (case 9749) when the user is saving a vehicle, if any parts are on the teardown that have been modified and they have been changed by another instance of ITrack or another screen, the user is warned about this collision. They can either choose to abort the save or simply skip all colliding parts. This helps to avoid any issues where changes made on the parts screen might be reverted by saving the vehicle that part is on.

Vendors

  • Added: (case 9328) internal comments to the "Purchase Order History" list on the Purchase Orders tab.

Work Orders

  • Fixed: (case 7829) workorder.dateclosed is now set to the current time when a work order is finalized. When a work order is updated, it is checked to make sure its not already closed before it's set. If it's already closed, it will be not be changed. If it's not closed it gets set to NULL.
  • Fixed: (case 9478) an issue where creating inventory on a stock WO wouldn't adjust the quantity at any locations, which could cause the new quantity to end up in the Variance location.
  • Fixed: (case 4090) an issue where sending results from search wouldn't be added if the user did a search grouped by location. For now, the locations specified in the search results are ignored.
  • Fixed: (case 9878) loading items that had a markup based on retail, wholesale, list, or jobber price would use the retail core charge, retail wholesale price, etc for an inventory item as well as its core.
  • Added: (case 4097) support for the new 'Automatically choose between multiple locations when adding items to documents' setting for allocating locations automatically.