ITrack/Enterprise/Changelog 2010-11

From ISoft Wiki
Jump to: navigation, search

2010-11-30

Interchange

  • Changed: The old behavior of the interchange screen has been moved to a property page. This is for bug 1780. Now, work will begin on updating this behavior.
  • Added: new application interchange page. This is a complete rewrite of the application interchange lookup system that was available in pro. However, all the information is now displayed in one tab instead of 5.
  • Added: tree control (as per bug 1780) that handles displaying interchange options and all applications relavent to each option.
  • Added: interchange notes list at the bottom of the screen which shows all interchange notes that match (exactly or inexactly) the currently selected interchange option.
  • Added: drag static to allow the user to resize the area that the notes list takes up.
  • Added: all manufacturer/make and model entry dropdowns now allow wildcards. This means that the user can type in C
  • for the manufacturer/make, and it will find all CAT part models as well as all CHEVROLET vehicle models. The same thing works on the model dropdown when doing a lookup.
  • Added: the year field is now optional for lookups.

Parts

  • Fixed: an issue where the gl category dropdown wasn't becoming editable even after the user unchecked the "Automatic GL Category Assignment" checkbox.

Search

  • Added: wait cursor during vendor catalog search.
  • Fixed: the "too many results" warning on vendor catalog searches should be working again even if the user has no maximum result set.
  • Added: the vendor pricing search page now allows the user to search by model name.
  • Fixed: an issue where the wrong items might get selected in the flex field dropdowns.

2010-11-19

CrystalReports

  • Added: support for printing reports with DateTime parameters.

Database Updates

  • Added: support for DateTime report parameters.

ReportViewer

  • Added: support for DateTime report parameters. The date pickers can now support picking time for parameters that accept both. This allows up to the second precision when running reports. This will be added into reports one at a time as time goes on.

2010-11-17

Parts

  • Fixed: an issue where a user with sufficient permissions might not be allowed to edit the gl category dropdown on the advanced page.

2010-11-16

Common Resources

  • Added: the edit choice dialog now puts the specified value into the edit initially and selects it.

CoreManagement

  • Fixed: an issue where items on the customer cores list might not retrieve inventory information correctly when the item sold was out of a different store than the store of the invoice.

CreditApproval

  • Fixed: an issue where the document # column wouldn't sort right.
  • Added: by user request, all invoices to cashonly customers are ignored. Theoretically, no invoice to a cashonly customer can carry a balance, and therefore credit approval is inappropriate for them.

Database Updates

  • Added: a new import type for the interchange table. This import type allows the user to import application interchange (Hollander-style interchange).
  • Fixed: as per bug 1784, the f_customer_aging function now correctly puts payments in the period based on their date if the sales order they are connected to is not a valid invoice (its voided, still open, or is a quote).

DataManagement

  • Fixed: an issue where the user might get query errors if they chose to update records in a table that had no 'update' fields registered. Now, in these cases, the update is ignored.
  • Fixed: an issue where testing import could hang for a long time if the user chose to insert
  • and update
  • a very large table that had no 'update' fields registered.

GlobalSettingsExtension

  • Fixed: issue where logging out might show "Failed." in the status bar.
  • Added: if the user isn't logged in when an error occurs, store 1 will be used for retrieving company name.

ITSQLFramework

  • Fixed: previously, if an error happened while reporting an error, another error reporting dialog popped up. There is now a check to make sure this isn't happening recursively. If an error reporting dialog is already present, any subsequent errors are transmitted without the error reporting dialog popping up.
  • Added: the error reporting dialog now attempts to handle necessary functions such as reading data from the ini if the main ITrack window failed to load or is otherwise invalid. This allows us to present the user with the normal error reporting dialog even when the ITrack window is the thing that is failing.
  • Fixed: the error # is now an unsigned integer. This prevents the win32 crt exceptions (such as memory access violation) from appearing to be very large negative #'s.
  • Added: if the user's preference couldn't be found, the "Show advanced information" checkbox now defaults to checked.
  • Added: the error messages are now much more informative if an error could not be transmitted due to the main ITrack window being unavailable or if it had no SQL connections loaded.
  • Added: if the error transmission framework is incapable of sending the error report for any reason, it will now be appended to ErrorLog.xml.
  • Added: the SQL framework now sets the 'last error' correctly when adding new connections fails because no SQL connection extension is loaded.
  • Added: static function that will transmit the contents of an XML file to the error reporting database.
  • Added: static function that will configure an ITErrorReport (fill out fields like company, computer, user, etc).
  • Added: error reports are now embedded in the xml file inside an tag.

Login

  • Added: there is a new global company setting "Login"->"Enable single sign-on". If this is set to True (default is False), users will be forced to log into ITrack as their local windows user. (bug 1717).

Master

  • Added: the status bar is now a special, advanced status bar. This one is capable of displaying tool tips (hover over certain panes), coloring the text, and displaying icons.
  • Added: tooltips to various common status messages.
  • Added: "update status" pane to the status bar. This will (as time goes on) display the machine's update status (updates downloading/ready to be applied/up to date).
  • Added: several exception handlers at the top level in ITrack.exe simply popped up a message box instead of showing the error reporting dialog. Now, they use the shared error reporting interface.
  • Added: ITrack now uses the shared error reporting interface on 'crashes' rather than letting windows handle them. These would appear to the user as a "Send an error report to microsoft".
  • Fixed: a rare crash in the splash screen dialog if an error reporting dialog was trying to appear.
  • Fixed: if anything causes an error reporting dialog to occur, the splash screen is forced closed to avoid it becoming the 'parent window' for the error reporting dialog and to keep it from obscuring other information.
  • Added: the default for the splash screen image is now a .bmp since it doesn't know how to load .jpgs.
  • Added: if the user is in debug mode, the notification that the auto-updater is disabled is now colored dark red.
  • Added: colored icon for the update pane on the status bar.
  • Added: the string "Ready" on the status bar has been replaced by something more explanatory.
  • Added: status bar tooltips pop up faster and stay up longer.
  • Fixed: an issue where the lefmost pane showed as sunken when it shouldn't.
  • Added: the ability to show icons in our advanced status bar.
  • Fixed: some flickering issues with the status bar.
  • Added: ability to receive messages which change text, tooltip, icon, and colors on the status bar.
  • Fixed: the download progress bars when downloading files now correctly match the file download progress. Before, they would only go a certain distance across because they were comparing compressed download amounts against an uncompressed filesize.
  • Added: the updater status pane now resizes to be only as large as it needs to be to display the current updater status.
  • Added: ITrack now shows the current updater status in the updater status pane. Text, tooltip, color, and icon are all modified to help convey the current situation. Currently, possible updater statuses are as follows: 1. initializing 2. error 3. Updates found 4. An update is downloading (shows progress) 5. Updates have been downloaded but not applied (restart required) 6. ITrack is up to date.
  • Added: the icon used for the update change log dialog is now the same as the update applying application (Updater.exe).
  • Added: when master finishes booting up, if there is a valid database connection, and any leftover errors are in ErrorLog.xml, they will be transmitted to the error reporting server.

Parts

  • Added: many fields on the advanced page now update the inventory record in memory as the user changes them in the interface. This allows other parts of the screen (such as the components list on the links tab) to have up to date information on this part.
  • Added: new component records now inherit the following fields from the assembly record: gl category, public, returnable, returnable to vendor, depletable, replenishable, stock category, taxable, days to return, and days to return to vendor.
  • Fixed: the list that displays all assemblies the current item is in now shows more information about the master part in the tree.
  • Fixed: an issue where hitting the breakdown button would ask the user to save, but then they would be asked to save again afterwards, sometimes causing query errors.
  • Fixed: when the user performs a part smart search using the part lookup global dialog, if they're taken to the search screen to pick an item, any chosen item will now be sent to the parts screen.
  • Fixed: the information about the master part of a collection on the links tab now shows manufacturer/model correctly.
  • Added: the last 'part quick search' (default hotkey: F4) a user did is remembered and put back in the lookup dialog automatically.
  • Added: by user request, the manufacturer dropdown in the assembly component list now has an empty value at the top so that any mistake choices can be deselected.
  • Added: as per bug 1781, there is now a serial # selection list in the breakdown dialog. If the assembly is serialized, this list is populated with all the available serial #'s. As the user chooses the quantity to disperse, serial #'s are chosen automatically. If the user picks serial #'s the quantity to disperse changes automatically.
  • Fixed: an issue where the breakdown dialog wasn't remembering the user's last position and size choice.
  • Fixed: the Refresh button on the transaction list tab should work again.
  • Added: the breakdown dialog now complains if the user chose too many/not enough SNs when performing a breakdown on serialized assemblies. (bug 1781)
  • Added: the list of chosen SNs are now sent to the WO screen as part of the breakdown operation.

SalesOrders

  • Added: the sales order # entery popup dialog is now smarter and more consistent about how the user tabs around and how it interprets the store-invoicenumber no matter how you launched the dialog.
  • Added: by user request, the zip code field on the edit address dialog now allows non-number characters for non-US zip codes.
  • Fixed: an issue where a rarely used informational field (salesorderline.partnumber) was getting cleared out if the user reopened and resaved an invoice.
  • Fixed: an issue where the balance might show the incorrect amount in some cases in which a user overpaid the invoice balance.
  • Added: if a SO is new (not yet saved) the "Email SO" options in the perform advanced operation dropdown are greyed out. They are also greyed out if the SO is void.

Search

  • Fixed: an issue where performing a search might cause the list to be scrolled to the right, depending on the user's column order.
  • Fixed: an issue where the user had to hit the down or up key several times to change items in some situations.
  • Fixed: an issue where, if the user wasn't using a hard max on the search results, the warning level wasn't being used.

Vehicles

  • Fixed: parts from teardown: when interchange gives the user more than one choice for a particular part type #, the inventory record that was created if the user chose the row with a blank part type # would have an invalid part type. Now, it is created with the correct part type.
  • Performance: some queries that get run during parts from teardown creation are now combined into single requests. This will decrease the time required to save.
  • Added: parts from teardown now calls the optional DB API function f_inventory_inserted when creating inventory. The source passed into the function is "Vehicles"

WorkOrders

  • Added: when a breakdown request is received, if the assembly item is serialized, or a list of serial #'s has been provided, the assembly will be split into multiple job part lines. Each line will have 1 quantity and 1 serial #. These serial #'s get consumed like normal on a WO. (bug 1781)
  • Fixed: issue where a WO might show -1% on each work order master part's cost % if every item has a cost ratio of 0.

2010-11-08

Parts

  • Fixed: an issue where the interchange application dialog wouldn't come up if the assembly model was changed through the model dropdown or through the "Manufacturer part #" field.
  • Added: the user can now choose an interchange application and close the interchange option dialog by hitting the enter key in the list.

2010-11-05

DataManagement

  • Fixed: an issue where the user might get query errors if they chose to update records in a table that had no 'update' fields registered. Now, in these cases, the update is ignored.
  • Fixed: an issue where testing import could hang for a long time if the user chose to insert
  • and update
  • a very large table that had no 'update' fields registered.

2010-11-04

SalesOrders

  • Fixed: another issue where balances might show incorrectly on an invoice.
  • Fixed: an error with the balance calculation system where, if a customer overpaid, the balance might look wrong.

2010-11-03

PurchaseOrders

  • Fixed: an issue where the returns dialog wouldn't resize its list control correctly.

2010-11-02

CustomerList

  • Fixed: an issue where the list might scroll to the right after a search is performed if column 0 had been moved. Now, focus is always set to the leftmost column.

Parts

  • Fixed: an issue where the interchange dialog wouldn't come up when the user filled out a manufacturer and model that had interchange associated with it.
  • Fixed: if the user picked a model with the mouse the 'marked item' (red item) in the model dropdown wouldn't change.
  • Fixed: an issue where parts with no assembly manufacturer filled out might not let the user edit the model.

SalesOrders

  • Fixed: an issue where the balance might display incorrectly when saving an invoice. This could cause the screen to (incorrectly) tell the user that a credit limit override would be necessary.
  • Fixed: issue where adding a payment would make the SO screen show a balance of $0 no matter how much the payment was for.
  • Fixed: query error referencing a missing field when performing returns.

2010-11-01

* VP: run installer

  • Fixed: missing escape character "\"


  • Added: VinPower installer is now run in 'silent' mode. This makes it so that the user doesn't have to hit 'ok' at the end.

Common Resources

  • Added: a new dialog that prompts the user to enter a value in an edit. This is similar to the 'choice' dialog that presents the user with a dropdown in a dialog, but has an edit instead.
  • Changed: the Dropdown Choice dialog now uses the new advanced combo box.

Customer

  • Added: the user can now use Alt + the arrow keys to navigate between pages.
  • Fixed: (as per bug 10) the add/edit customer unit dialog no longer shows inactive models as choices.
  • Fixed: a crash that would occur if the user hit "Edit WO"
  • Fixed: the open/edit WO button now works the same as doubleclicking an item.
  • Added: if a customer unit is opened that has an inactive model, that model is added to the dropdown so that no data is lost.

CustomerList

  • Added: after a search is performed, the user's focus is put onto the first item in the list. This way, they can use the keyboard to select an item and hit enter to pick the item.

Database Updates

  • Removed: (bug 1345) parentinventoryid from the inventory and inventorysetting tables.
  • Added a new search module for vehicle Make & Model
  • Added: a new adjustment type that the ECommerce shipping fees will use by default.
  • Added: a new function f_buynow_add_shipping, which is a customizable function that does the work of adding shipping charges to an online sale.
  • Added: a placeholder for an optional DB API function called f_create_inventory which is called when screens create inventory records (so that a db can perform custom behavior depending on how/where it was created from).
  • Fixed: used explicit REPLACE statements instead of f_strip_partnumber in a couple import conversion operations because it shaves a lot of time off of the import.
  • Added: a new index to the model table that makes model lookups by manufacturer and model name on alternate model imports much faster.

GlobalSettingsExtension

  • Fixed: (bug 1762) an issue where changing the hotkey for a particular action wouldn't unregister the old hotkey. This made it so that the user could perform the action from either the old or new keystroke.
  • Added: (bug 1762) a clear keystroke button in the Edit->user hotkeys dialog. This will remove the accelerator on a particular action. There is also now a reset to defaults button which (after confirming with the user) resets all actions back to their default hotkey.
  • Fixed: (bug 1762) the user is forced to choose a valid key before hitting ok in the "Set key" dialog. This should prevent a user from setting a keystroke is just ctrl or just alt.

Home

  • Fixed: the feature that remembered which tab you had looked at last is working again. Now, if you close the screen, when you reopen it, the same document tab will be selected.

Master

  • Fixed: ITrack.exe was writing an extra line between every update task in the update.todo file.
  • Added: if an assertion is encountered, a stacktrace is collected and put into the new error report field 'debugging information'.
  • Added: all delayed command line scripts are now added to the update.todo file at the end rather than in the middle. This way, if some other updates are file downloads, the files should be in the right location when it comes time to execute the scripts.
  • Added: when executable scripts are downloaded, tokens enclosed by quotations marks are now supported.
  • Added: support for command line arguments to be passed into run_delayed commands. The supported format is either or <"command" [args]>. The second process is required if "command" has spaces on it.
  • Fixed: issue that kept hotkeys from being fired.

PartConfiguration

  • Fixed: the user now has the ability to add/edit makes as well as models. They can simply edit the make names in the list or hit the add new button at the bottom.
  • Added: a check to make sure the user doesn't change the name of a make that collides with another make.
  • Fixed: adding models then switching makes no longer makes those models disappear.
  • Fixed: an issue where the model list would stop redrawing.
  • Fixed: deleted models no longer show up if you switch makes then switch back.

Parts

  • Fixed: an issue where filling out the manufacturer part # wouldn't fill out the assembly model.
  • Performance: eliminated several redundant queries that were being run when filling out manufacturer/model that could slow down this operation.
  • Added: the breakdown dialog now shows the part type of the components for easier viewing.
  • Fixed: the type data fields and description are now editable for new component items.
  • Added: now, whenever the vehicle on a Part changes, any new components being created will update their vehicle information.
  • Added: switching vehicles now uses a shared vehicle object, making the code more consistent.
  • Added: it is now possible to open whole units on the parts screen. However, a new permission has been added to restrict this (vehicles->advanced whole unit editing).
  • Added: there is now a hotkey to launch a dialog that performs a quick part search from any screen (similar to hitting F5 to search for a customer). It defaults to F4.
  • Added: the quick part search hotkey now performs a smart search and opens the item on parts (if 1 result was returned) or performs the search in question.
  • Added: an external function that can be called by another screen that forces the part smart search dialog to pop up.
  • Fixed: an error where creating inventory from the vendor catalog incorrectly created inventory with an initial quantity of 0.
  • Fixed: an error where description would get set on the replenishable tab but not the part info tab.
  • Added: if a part is loaded that has an inactive part type or a whole unit part type, that part type is correctly loaded into the inventory type dropdowns on both the part info page and the aftermarket page. Any part types added this way are removed when the user clears the part.
  • Added: the inventory search action now assumes the user wants to search the store they're logged into. If the user wishes to search all stores, they should go to the search screen.
  • Added: the parts screen now has a special message that tells it to load up a whole unit without asking the user if they want to open it on the vehicles screen instead. The search screen sends this message when the user picks "Open whole unit on the parts screen" from the vehicle search.
  • Fixed: if the parts screen gets sent more than one part to open, it only pays attention to the first one.
  • Added: links page now has an accelerator (an underlined letter for going straight to that page).
  • Added: the user can now use Alt + the arrow keys to navigate between pages.
  • Fixed: the controls on the links page are now correctly greyed out/hidden when no collection type is chosen.
  • Fixed: the (currently) unused interchange relationships list has been hidden.
  • Performance: loading up a breakdown template is now 90% faster. This is due to the fact that 2 small queries were being run for each template component being loaded. Now, a single query is run ahead of time. This can save tremendous amounts of time for larger component lists.
  • Added: interchange number, retail price, wholesale price, and retail core are now editable for new component items. In addition, they now format what the user enters as currency.
  • Fixed: OEM # and interchange # now save when entered on new components.
  • Fixed: new component items get their "created by user" set correctly.
  • Fixed: new component items now correctly inherit the store # from the assembly item.
  • Fixed: new comnonent items now correctly inherit assembly and vehicle information from the assembly item (vehicle stock #, year, make, model, VIN, assembly manuf, assembly model).
  • Added: when the user hits the new component button, they're now taken directly into the new item to edit it.
  • Fixed: a crash that could be caused by the model column when the user clears the screen.

Payment Entry

  • Fixed: a crash that would happen if you closed the screen without visiting the batch page (delayed load crash).

SalesOrders

  • Added: as per bug 1712, the SO screen now displays a small icon in the price column if the item's price is $0.
  • Added: for the purposes of allowing the user to override an item's cost on a SO, non-depletable items are now treated the same as non-stocked items. This means a non-deplete item can have its cost overridden.
  • Fixed: (bug 1761) an issue where printing more than one report when saving a sales order would cause everything to 'copy' the first report that was being printed.
  • Fixed: (bug 1760) an issue where the balance would show .01 instead of 0 in some cases in which a return had been performed and full payment had been received.
  • Performance: loading a SO or clearing the screen now causes many fewer total update calls. This makes these processes faster.

Search

  • Added: if the user has more than one item selected and they hit enter, all items are sent (similar to the right click option).
  • Added: hotkey hints to some of the context menu options.
  • Fixed: issue where the first time a part gets opened, it might open the vehicles screen as well.
  • Added: there is a new context menu (right click) option on the vehicles tab. If the currently selected item has a whole unit associated with it, it will show "Open whole unit on the parts screen" if the user has the permission "Vehicles"->"Advanced editing of whole units". This opens the whole unit on the parts screen allowing the user to edit and view advanced settings only available on the parts screen, such as transaction history.
  • Added: by user request, the "Sale status" column in the vehicle search results screen (populated with the whole unit status) is hidden by default. Since this status (nominally) should always correspond with unit status, this shouldn't be an issue. For any users that wish to debug this, there is a user setting "Search"->"Debugging: show sale status column" which can be set to True to show this column still.

Updater

  • Fixed: if the updater was closed down with uncompleted tasks, they would be written to the .todo file incorrectly.
  • Fixed: an issue where backslashes in directories might confuse the update parser.
  • Added: support for passing in command line arguments to CreateProcess. This means that installers can be run with command line arguments passed in.

Vehicles

  • Removed: references to parentinventoryid.
  • Fixed: (bug 1239) an issue where printing a teardown on an existing, then returning to the vehicle and attempting to save caused the user to get notified (erroneously) that the vehicle had changed on another screen since they had loaded the vehicle.
  • Removed: existing VIN decoding framework which was hard-coded into the vehicles screen and not accessible from other screens.
  • Added: new shared VIN decoding framework that uses the new interface, which can retrieve more data and is more accurate.
  • Added: new global VIN lookup dialog that is accessible from any screen. The default hotkey for this operation is F7. This dialog allows the user to perform a lookup on any VIN and all corresponding data will be returned.
  • Added: ability to call this VIN decoding/VIN selection dialog from other screens.
  • Added: the user can now use Alt + the arrow keys to navigate between pages.

WorkOrders

  • Added: as per bug 1714, if the user adds a 'return item' on a WO, they can pick a consumed serial # to 'return' into available serial inventory. This means that if the quantity of a serialized lineitem is negative, the choices in the serial dialog are consumed SNs instead of available ones. In addition, if the user adds a new SN for a return item, it starts out with a status of Consumed until the WO is finalized. If a SN is marked as 'On Hold' on the current WO, it can be chosen as the one being returned (this facilitates selling and returning the same SN).
  • Added: when finalizing a job, if a serialized item has a negative quantity, any serial #'s on it will be marked as available instead of consumed.
  • Added: if a serialized item's quantity was negative and becomes non-negative (or vice versa) the choose serial # dialog pops up again.
  • Fixed: the insuficient serial #'s attention icon no longer shows up on dirty core type lineitems.
  • Fixed: an issue reported by ChadA@VHI where an internal WO that got switched over to an external WO didn't delete its master parts.
  • Fixed: a crash that occurred when the screen cleared in some cases.
  • Fixed: an issue that would cause a certain field in the database to store the incorrect tax in some cases (tax shop fees and tax EPA charges was being reversed). This may have affected some reports.
  • Fixed: several crashes when clearing the screen.