ITrack/Enterprise/Changelog Version 21
From ISoft Wiki
< ITrack | Enterprise
Jump to navigationJump to search
Revision as of 17:23, 26 November 2018 by MarkHardisty (talk | contribs)
Release 21.2
REVISION 19972-20291 database version 2101
Credit Approval
- Changed: (case 31927) credit and price approvals now exclude any expired documents from the list of documents that can be approved. If a salesperson wishes to have such a document reviewed for approval, they should move the expiration date forward in time or remove its expiration.
Sales Orders
- Fixed (Case 32616): Miscellaneous line item returns when store credit method is transaction store now uses the document's storeid instead of being set to null.
Release 21.1
Sales Orders
- Added: DLS Integration
Release 21.0
Registration
- Changed: Case 31058 it is now easier to copy out of, paste into, and type into the registration code.
ITrack Online
- Added: a new global hotkey for opening a given URL in the internal browser. The default hotkey is F12.
- Added: support for opening a given web page while sending POST and HEADER data along with. This is useful for some internal web page operations.
Vendor
- Fixed: an issue where changes to the vendor catalog pricing page were not being saved.
- Fixed: a crash that could occur when loading a vendor whose date created was invalid. Now, that will show a date created of '12/31/1899'.
Sales Orders
- Added: Case 31517 the right click option for "Get shipping quote" now posts the current sale order to a URL specified in the setting "Sales Orders", "URL for shipping quotes".
Utilities:
- AddedCase 27470: Export and view code for our first pass at the acomba integration
- AddedCase 27470: Files for Custom Triggers.
- AddedCase 27470: New Documentation for Acomba and the script setup.
- FixedCase 27470: The export now exports many transactions in one file, despite the documentation claiming that's impossible.
- AddedCase 27470: Fix for mysql maximum group concat length.
Tools
- Added: all TrimTrailingZeros calls now have an argument that can specify whether the string argument is a locale string or a raw string. This solves some scenarios where raw strings were being assumed to be locale strings and were being incorrectly parsed.
- Added: support for ITGeneralCollection::Iterator to perform += or + on unsigned integers.
- Fixed: a crash (release mode only) when using an ITVector in a LoadMultiple operation when using SO_ImpLoadMultiple due to iterator invalidation.
- Changed: ITDecimalNumbers now use bigint version 10.2, which now supports 64 bit integers better.
- Performance: ITDecimalNumbers now load faster in most scenarios.
- Added: ability to construct ITDecimalNumbers from 'raw' strings as well as user strings. Defaults to user strings.
- Changed: ITDecimalNumber::operator/ no longer rounds the result to the lowest of the inputs' precisions. When dividing by a whole number, this generally just rounded to a whole number. Now, the precision is the sum of the inputs plus one, so 10 / 3 is 3.3.
- Fixed: an issue where ITDecimalNumber::GetDatabaseString was not trimming trailing zeroes correctly, depending on the user locale settings.
- Changed: ITDragStatics now track the 'desired' offset separately from the current/UI offset. This solves a common issue where dialogs are initially small and then resized larger, causing the last desired position to be forgotten.
MySQL Connection
- Performance: checking to see whether the database connection is live no longer attempts to connect if the config is invalid. This makes application startup slightly faster.
- Changed: START TRANSACTION; COMMIT; and ROLLBACK; are now always written to the log. They were not always logged before. Also local date/time stamp of occurrence should be consistent with other queries.
- Fixed: Case 31215 an issue where the user could get a database error and hit 'retry' in the middle of a transaction (such as document save). This is not safe because retry won't retry the queries before that one. Now, if the user gets an error in the middle of a transaction, the only option will be "Ignore" (meaning continue). They will generally have the entire transaction rolled back and they can retry by hitting save again.
- Fixed: Case 31144 an issue where we were not correctly suppressing mysql auto-reconnect behavior. This was supposed to be disabled for Case 31144 to catch implicit reconnects in the middle of a transaction (causing a rollback). This confusion lead to session variables such as @ITRACK_USER_ID and the connection timezone to not get properly reset on reconnect, leading to issues in the logs or other areas that rely on these settings.
Crystal Reports Extension
- Added: Case 31106 if report parameters have 'defaults' and are not specified by a print job, those defaults will now automatically be passed to the report to be printed.
- Added: saving modifications to reports now happens in a single transaction so that an unexpected error or interruption won't lead to a partial modification.
- Fixed: Case 31379 an issue where some parameters would go into the print queue in user visible formatting instead of 'raw' formatting. This means that if the user was emailing or delaying a print, it might fail if the user's date/datetime/number locale formatting was different enough from what crystal was expecting. Now, all print jobs log parameters as 'raw' numbers and dates.
Report Viewer
- Fixed: a memory leak caused by reprinting reports from the print queue.
Master
- Changed: when updater.exe is downloaded, it is applied with a move file instead of a copy file so that the old file is not kept around.
EbayExtension:
- FixedCase 29365: Tag Number now populates correctly for new listings.
- Added: Added a database column for tagnum on ebay auction records.
CustomerContact:
- Fixed: A crash when creating new correspondences.
- Added: Mass correspondence creation from the customer list screen.
- Fixed: Most touchpoint information shown is now from the most recent touchpoint on the home and customer screen.
- Added: Multi customer correspondence creation from the customer list screen
- Fixed: Touchpoint type filtering removed
- Added: Tooltips to the customer and home screen.
- Added: saving modifications to customer contact entries now happens in a single transaction so that an unexpected error or interruption won't lead to a partial modification.
- Fixed: no longer comparing a ITDateTimeSetting to 0, as it was an ambiguous conversion.
- Added: CRM home tab now remembers the user's column order and widths as well as last date range selection.
- AddedCase 28568: Tickets can now be closed
- AddedCase 28568: UI for assigning tickets added
- FixedCase 28568: Layout now resizes correctly and smaller windows sizes no longer cause issues.
- AddedCase 28568: Tickets can now be assigned
- Fixed: Double clicking a customer contact ticket on the home screen once again opens the correct customer and selects that ticket.
Customer
- Fixed: a crash when saving a customer.
- Fixed: an issue where the service list was not using user display preferences to show the quantity and price of service jobs.
Customer List
- Fixed: Case 30820 an issue where an error was thrown if the user performed a customer smart search.
Database
- Changed: reportqueueparameter now supports parameter values up to 4K when emailing or remote printing.
- Changed: the salesorder table now sets the datecreated and datemodified timestamps automatically when appropriate.
- Added: an index that should make calculating the next id for the document faster.
- Fixed: a missing trigger on purchase order line removal that was missing from some databases.
- Fixed: an issue where customer balance aging was ignoring payments on quotes, hold orders, and open invoices.
- Fixed: Case 31186 an issue where resaving PO postings that received a vehicle might move the vehicle back to the original store its already been transferred to another store.
- Added: Case 31433 database function for calculating average lead time for vendors and inventory.
- Added: database function for calculating fill rate for a vendor.
- Added: database functions for aggregate monthly usage (average, sum, or standard deviation) which is useful for other new functions
- Added: database functions for suggested minimum order quantity, maximum order quantity and safety stock.
- Added: daily aggregate demand function, for situations where we need daily usage instead of monthly.
- Fixed: several issues where suggested safety stock was higher than necessary.
- Added: Case 23969 job template parts now track a parent part. This will make saving and loading child lines like inherent core charges and dirty core charges work better.
- Changed: job part template quantities are now stored in the same precision as quantities on the job parts themselves.
- Added: job parts now have a reasonable default for time entered.
- Added: fields to search and part modification screen that show suggested order levels.
- Changed: setting types have been turned into an enum, as it only accepts certain values and this takes less space.
- Fixed: a minor merge conflict in update.sql
- Archived: all changes before version 16, to make database updates faster to download.
- Added: collection table's datecreated now defaults to NOW().
- Fixed: an issue where t_inventory_pre_insert creating teardown items was flipping the quantity an cost factor.
- Added: Case 26810 the inventorylookup table now has support for inventory supercession.
- Added: Case 26810 a new search module (on by default) that looks at entries in the inventorylookup table for alternate inventory tags, part #'s, supercession, and UPCs.
Part Configuration
- Fixed: an issue where the manufacturer/model page was showing results from previous filters as the user changed filters.
- Added: saving modifications to breakdown templates now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
- Added: saving modifications to messages now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
Sales Orders
- Added: sales order saving should now correctly assign sequential id, as well as date modified, date closed, and date entered with server timestamps.
- Added: configure->adjustment types now saves in a single transaction so that an unexpected error or interruption won't lead to a partial change.
- Added: configure->payment methods now saves in a single transaction so that an unexpected error or interruption won't lead to a partial change.
- Added: configure->return codes now saves in a single transaction so that an unexpected error or interruption won't lead to a partial change.
- Added: configure->shipping methods now saves in a single transaction so that an unexpected error or interruption won't lead to a partial change.
- Added: configure->terms now saves in a single transaction so that an unexpected error or interruption won't lead to a partial change.
- Fixed: Case 31109 an issue where payments might not load from the database correctly if the user's locale settings were european style (comma and period switched).
- Fixed: a misspelling in an attention icon hover text.
- Added: Case 31004 the currently visible sales order (and its contained lines and adjustments) can be sent to a given web page. This will be a useful part of an upcoming DLS integration.
- Added: when building shipping quotes, new lineitem and adjustments now get the current sales order's id set on them for better estimates.
- Changed: Case 31457 for any store with the "Require return reason" setting turned on, the last 'return reason' the user chose will no longer be remembered or loaded automatically. This will force users to choose a return reason every time.
- Fixed: Case 31436 an issue where the screen could crash if the user saved or hit the refresh button on voided documents with no line items.
- Added: the perform advanced operation button now has a "Get DLS shipping quote" option which does the same thing as the shipping quote context menu option.
- Added: Case 27975 the messages page now shows a number of distinct messages being displayed in its tab title. In addition, if there are any unread messages, an asterisk is shown until the user clicks into the messages pane to mark it as read.
- Added: Case 27975 there is now a setting: "Sales Orders"->"Blink important messages until the user confirms". It defaults to False. When set to True, important messages will cause the messages pane to flash indefinitely until the user marks them as read by clicking into the messages field.
- Added: Case 26957 if return lines are added to an unsaved sale, the original document is used as a default for document type, comments, addresses, shipping method, terms, tax item, and many other fields in the document header. This takes effect when performing returns from core management or manually on the SO screen.
Search
- Fixed: Case 31047 a misspelling in a right click menu option.
- Fixed: an issue where some currency values were not formatted with the user's locale settings correctly.
- Fixed: Case 31312 an issue where the allocations part/vehicle info panes could not show all allocations if a single item was added to the same document multiple times.
Work Orders
- Performance: WO home screen tab is now faster for large data sets.
- Fixed: a typo in a popup.
- Added: saving work order templates now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
- Fixed: Case 31187 an issue where loading a void or closed internal WO could possibly show attention icons on the master parts, causing the user to get popups when attempting to try to save and print. These popups were unnecessary because the document was already finalized or voided.
- Added: Case 31294 work orders can be finalized, even if some of the master parts don't have enough quantity on hand to absorb the cost changes.
- Changed: if master parts are vehicles or standard parts, the user will no longer see an attention icon or warning/error on save that there is not enough quantity on hand to absorb cost. This is because vehicle costing works differently.
- Fixed: Case 31688 an issue where performing assembly breakdowns did not correctly grab GL accounts for parts created by the breakdown, which would cause an accounting error to be shown.
- Fixed: Case 23969 an issue where parts on jobs created from job templates didn't load inherent cores or dirty core exchanges correctly.
- Added: Case 23969 when new job templates are created that 'child' items like inherent core charges or dirty core exchanges, they will be saved with that parent/child relationship correctly.
Core Management
- Added: all parts of inventorying a core now happen in a single transaction so that an unexpected error or interruption won't lead to a partial save.
- Fixed: an issue where some currency values were not formatted with the user's locale settings correctly.
Customer
- Added: saving modifications to regions now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
- Added: saving modifications to a customer, their messages, their payment methods, and their tax exemptions now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
- Added: saving modifications to a payment and its accounting now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
- Added: all assessed finance charges and their accounting now happen in a single transaction so that an unexpected error or interruption won't lead to a partial save.
- Fixed: some display issues with currency values if the user was in European currency locale format (comma for decimal separator).
- Fixed: an issue where credit limit was not being handled correctly in European style currency locale settings.
- Fixed: a crash when paging through the sales/payment history of the current customer.
Deliveries
- Added: saving modifications to configuration now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
Options Extension
- Added: saving modifications to stores now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
Payment Entry
- Added: saving modifications to payment batches now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
Purchase Orders
- Added: when saving a purchase order, any order routing information now saves as part of the main document transaction so that any failures during save won't lead to a partial save.
- Added: saving modifications to a transfer order now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
- Fixed: an issue where entering a negative price in a locale setting that used parentheses for negative currency (like ($1.00) instead of -$1.00) might not flip the sign of the quantity columns correctly. Also, it was only flipping the sign of the new quantity before, and now it flips the sign of the order quantity as well.
- Changed: the 'purchase order saved' function is now called as part of the main PO saved transaction. In addition, if any transfer orders are created for a multi-branch PO, they are created as part of the transaction. This ensures that any failures that cause a rollback of the transaction will include these changes as well. Also, now that a failed save rolls back all changes, we no longer attempt 'repair' queries in the case of failure.
- Fixed: an issue where the user would get a database error when finding order requests to fulfill in the popup on the POs screen. This only happened if the user was in (New) item mode and they were searching by default purchase vendor.
- Added: support for the users (with permission) to right click and 'view accounting' for the currently loaded PO or TO like they can on the SO and WO screens.
- Fixed: a small issue where, if a part failed to load onto a PO when sent by search, would then be opened on the parts screen.
- Added: Case 27975 the messages page now shows a number of distinct messages being displayed in its tab title. In addition, if there are any unread messages, an asterisk is shown until the user clicks into the messages pane to mark it as read.
- Added: Case 27975 there is now a setting: "Purchase Orders"/"Transfer Orders"->"Blink important messages until the user confirms". It defaults to False. When set to True, important messages will cause the messages pane to flash indefinitely until the user marks them as read by clicking into the messages field.
Vendors
- Added: saving modifications to a vendor now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
Warehouse Management
- Added: saving a manual count now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
- Fixed: Case 30958 an issue where manual inventory counts could not add serialized items with no available serials. Now, the serial # dropdown shows all serials #'s, no matter what status. This way, sold serials can be marked as Found.
Accounting
- Fixed: some display issues with currency values if the user was in European currency locale format (comma for decimal separator).
- Added: Case 31294 a new checkbox for controlling whether a company wishes to allow cost discrepancy accounting. If this is enabled (off by default) then users are allowed to finalize work orders when there is not enough quantity on hand to absorb the cost changes. There may be other cost issues that are controlled by this setting in the future.
- Added: support for searching purchase order and transfer order accounting history in the history detail screen.
- Changed: Case 31384 like GL entries are now combined when performing PO accounting. This should avoid getting net-0 accounting transactions exporting when simply resaving or printing a PO.
MAS90 Accounting
- Fixed: some potential issues with currency values if the user was in European currency locale format (comma for decimal separator).
Parts
- Fixed: an issue where some currency values were not formatted with the user's locale settings correctly.
- Fixed: Case 31121 an issue where a database error could be thrown when saving replenishable inventory if the user's locale format for dates was not similar to ISO standards. Now these dates will save correctly.
- Fixed: Case 31342 an issue where european-style currency formats might cause an issue when displaying average cost in the change log dialog.
- Fixed: a possible issue where new change log entries might not save the correct average cost.
- Added: tooltips to all controls on the aftermarket page.
- Added: Case 31433 a readonly field to display the average lead time for the current inventory record from the default purchase vendor.
- Added: quantity on hand is now shown next to the QA and held quantity on the aftermarket tab.
- Added: average daily and monthly demand is now shown in the order history area.
- Added: suggested min/max quantity and suggested safety stock based on EOQ formulae.
- Added: shipping length/width/height to the aftermarket tab similar to the basic part info tab.
- Fixed: an issue where the quantity field might show incorrect values when the user used the spin controls to increase/decrease quantity above 999.
- Added: Case 26810 a new "Lookups" tab, where the user can add/edit/remove alternate inventory lookups. These lookups could be UPCs, vendor part #'s, part supercession, or any other strings used to find a part.
- Added: Case 26810 the lookups page now allows the user to load an existing inventory record as the 'original inventory record'. This field is disabled for UPC and alternate part # relationship types.
- Added: if an original inventory record is loaded, the tagnumber of that SKU will be the default lookup for that rule.
Home
- Fixed: Case 31125 a performance issue that caused the sales order home screen list to take a long time to load for some large data sets.
Interchange
- Fixed: an issue where the interchange popup would sometimes revert to a very small size for the left half.
Vendor
- Fixed: minimum prepaid order amounts and minimum order amounts are now displayed in user locale format.
- Added: inventory defaults page now has tooltips on all controls.
- Added: Case 31433 lead time and fill rate to the inventory defaults page.
ITrack Online
- Added: if a URL is opened that requires additional data to be sent, and ITrack Online cannot be found, the user is shown a more specific error. More info is sent along with all web errors.
- Added: if a URL is opened that requires the internal browser and the browser type is set to something other than "Internal", Internal will still be used.
- Changed: ITJobPart is now in its own file vs ITJobPartTemplate and ITJobPartBase which they both inherit from. ITJobPartTEmplate has been regenerated and modernized. ITJobPart has been partially modernized.
- Changed: lots of code had to be modified because ITJobPartBase now uses a ITJobPartBase* to track unsaved parent lines instead of a POSITION. This will make the whole process less dependent on the type of container the objects are held in. This changed a lot of WO screen code.
- Changed: ITJobTask and ITJobTaskTemplate have been regenerated, split into new files, and modernized. ITJobTaskBase got its own file as well, which they both inherit from.
- Added: Smart search functions that reduce boilerplate code in various places in the software that perform smart searches. Namely, EE::Search::SmartSearch::Perform has been augmented with the simpler EE::Search::SmartSearch::PerformAndDisambiguate.
Part Modification
- Added: export dialog now has an open file button.
- Changed: export now exports headers by default.
- Fixed: a crash when exporting inventory.
- Fixed: the right click export to CSV option now uses the normal export functionality.
- Fixed: a crash that could occur when closing the screen if the user had their focus inside an edit box.
- Fixed: all numeric/quantity/currency values now use user' locale formatting correctly.
- Fixed: an issue where the bottom line of loaded parts is taken into account with regards to the totals.
- Fixed: an issue where the totals at the bottom were not taking user locale settings into account correctly.
Global Settings Extension
- Changed: the setting scope now defaults to "Setting Default". This makes it so that the user can modify any setting without picking a setting.
Vehicles
- Fixed: Case 31766 an issue where adding new teardown inventory would throw a database error when it attempted to attach the item to the teardown.