Presage/Recent Application Changes
Presage Changelog
Version 2.1.5
Database:
- Added: (case 20830) logging to the dataclone table
- Changed: (case 20608) deleting a product will now also delete any associated option thresholds/choices.
- Added: investigationtrigger table now has columns for saying what should happen to an investigation after it is auto-generated.
- Added: investigations now track which analysis option values triggered an investigation.
- Added: f_create_workorder, which creates a new work order of the specified work order type.
- Added: f_investigation_triggered function, which performs any necessary post-creation steps specified in the investigationtrigger record.
- Updated: f_sample_values_updated now properly remembers the productid of the original. A single sample can now trigger more than a single investigation.
- Added: f_get_next_schedule_date now accepts a date/time for its 'next occurrence after this date' instead of just a date. This is useful for figuring out when the next occurrence of a schedule would've been after a specified time in the past. Necessary for detecting missed data clone occurrences.
- Added: index to the log_changegroup table making it possible to quickly look up and see if a previous data clone succeeded or not.
- Added: (case 21183) an event that runs at every 2 hours and repots any scheduled data clone entries that either didn't run or failed for any reason in the last 4 hours. The recipient(s) of this notification are stored in a setting.
- Added: the failed data clone alert message has been improved and some errors have been corrected.
Investigation:
- Added: (case 20340) the investigation rules page now has new fields for configuring advanced investigation rule settings, such as whether to automatically resolve investigations, what analysis type to use for retests, and whether to automatically create retest documents.
- Fixed: an issue where the investigation history page would let the user go past the last page of results.
- Fixed: an issue where the investigation history page reported the wrong number of items per page.
Locations:
- Fixed: a query error that could happen if the user deleted a location.
Products:
- Changed: the delete product prompt now tells the user that associated thresholds will be deleted as well.
WorkOrders:
- Added: (case 20340) when investigations are sent to a WO for retest, the retest WO type and retest analysis type on the investigation rule that spawned the investigation are now used to generate the new samples.
- Fixed: if the user changes the analysis type for an investigation to one that has fewer options, any columns that are no longer necessary are correctly removed.
- Added: if the user saves without clearing, the WO is reloaded to account for the fact that investigation rules could cause the WO to be reopened, have new samples added to it, or marked as no longer verified.
- Added: if saving the WO caused new retest WOs to be created, the user is notified of this and given a chance to view that document.
- Added: when the user sends investigations to the WO to be manually retested, WO type is set to the correct type based on the investigation trigger rule. Also, the analysis type for retest specified there is used for these retest samples.
- Fixed: (case 19874) if two users save the same option value, the second user to save will no longer see a database error, their data will silently overwrite the previous data.
- Fixed: an issue where a 'retest WOs created' popup would appear if an investigation was automatically created that did not create a retest WO.
Reports
Certificate Of Analysis
- Changed: (case 21736) the "Analysis" parameter to a combined "Category: Analysis" parameter
Product Log
- Added: (case 21738) WO internal notes, made the report landscape, and changed grouping behavior to accommodate the note changes.
Version 2.11
Database:
- Added: (case 11138) analysis options and choices/threshholds can now be marked as inactive.
- Fixed: a database error that could sometimes occur if f_get_sample_acceptability was called on a Number value of .
- Changed: (case 11138) deactivated choices and thresholds no longer affect the acceptability of a value.
Analyses:
- Changed: (case 11138) deactivated options and option choices/thresholds are no longer shown if the 'show inactive analyses' checkbox is unchecked.
CommonResources:
- Added: (case 11138) an active checkbox to all analysis options as well as option choices/thresholds.
- Changed: inactive choices are no longer able to be selected for depending analysis options.
- Changed: inactive options are no longer shown in the 'Set default value formula' pop up.
- Changed: inactive thresholds are no longer shown in the 'test value' pop up.
Products:
- Added: (case 11138) the analysis option dropdowns no longer show inactive analysis options.
Sampling:
- Added: a new checkbox "Show inactive analyses/options". When checked, inactive analyses and inactive options will be shown to be searched, otherwise they are hidden.
WorkOrders:
- Added: (case 11138) deactivated analysis options no longer show on new samples. Samples that already have a value filled out for that option will still show it.
- Added: recipes no longer show deactivated ingredients, though recipes that already have a value filled out for that ingredient will still show it.
- Changed: deactivated choices in option dropdowns no longer show for new samples, but are still visible on samples where they are in use.
Version 2.1
General:
- Added: the user can now drag items to the edge of all list controls that support drag and drop to scroll the list.
- Fixed: if the user drags anything other than files into an attachment area, the 'no drop' icon is shown.
- Added: if the user drags a file over an attachment area, the list's attachment system is disabled so that the user can drop files into the list as well.
- Changed: when the user drags items within a list control, they are stored in a special clipboard format so that other applications don't think they can get them.
Analysis:
- Added: (case 18225) when configuring analyses, support for a 'visible group' dropdown for selecting a user group who can view associated documents.
- Added: (case 18225) analysis list is now restricted to just those analyses that are visible to the current user's groups and permissions.
CommonResources:
- Fixed: an issue where the Analysis configuration area would sometimes have uneditable analyses even if the user had Global analysis editing permission. This would only happen if plants were private.
Configuration:
- Added: configuration of work order types now allows specifying a number of days until verification is due.
- Added: (case 18225) when configuring work order types, support for a 'visible group' dropdown for selecting a user group who can view associated documents.
- Added: (case 18225) work order type list is now restricted to just those WO types that are visible to the current user's groups and permissions.
CrystalReportsExtension:
- Added: (case 20389) the report adder script export now correctly includes the fileid and category in the ON DUPLICATE KEY SET section.
- Fixed: (case 20389) an issue where clicking "Replace" when adding a new report file in it would instead leave the previous report file in the system.
- Fixed: (case 20389) the report adder script export now has a query that attempts to find 'empty' AU reports and replace them instead of inserting a duplicate. This will no longer be necessary once report.filename becomes unique.
- Fixed: an issue where, if the user showed the advanced print dialog, previewing the report would not work.
Database:
- Removed: a previously deprecated column
- Added: (case 19608) workorder.verificationdue (datetime) and workordertype.daystillverificationdue. These will facilitate workorders with due dates to verify.
- Changed: workordertype.daystilldue is now unsigned.
- Changed: the triggers related to the work order and work order type tables have been re-exported to fix missing columns.
- Fixed: some errors in a previous update that would cause the supplierfile.plantid to not be created.
- Fixed: (case 20480) an issue where the automatic data cloning procedure was dropped during 2.05 database update because of the use of the COMMIT keyword.
- Added: (case 19608) alertsubscription now has a alerttiming of "Verification Expiration Approaching"
- Changed: e_alert_scheduler has been expanded to handle verification due dates being hit.
- Changed: p_alert_trigger has been expanded to handle verification due dates being hit.
- Added: (case 19307) a new table for tracking what default printers should be used for various report type categories. These entries can be per-user, per-plant, or per-productcode (or any mix of those 3).
- Added: f_get_report_printer returns the printer to be printed to for a specific report type based on input criterion.
- Fixed: (case 20389) report.filename is now unique. This resolves issues where duplicate reports could could exist on the system due to the auto-updater. In order to do this, duplicate reports got their filename modified to have a "_DUP_<reportid>" added to the end. These duplicates should get cleaned up at some point, as the auto-updater won't maintain them.
- Added: (case 18225) analysis.visiblegroupid and workordertype.visiblegroupid, which are a 'visible user group' they are assigned to. If set, this will be the only group that can see work orders/samples with those wo types/analyses.
- Changed: analysis.groupsamples has been switched from a BIT(1) to a BOOL field in order to avoid inconsistencies and BIT columns cause various issues with other applications.
- Added: (case 18225) 2 new permissions for being able to view work order types and analyses that are not visible to the any groups the user is in.
- Fixed: an issue in the 2.05 database update that could cause a trigger to be dropped and not correctly re-added.
- Fixed: (case 21197) an issue where f_get_next_schedule_date might fail if the month offset passed in was 0 for quarterly and yearly schedules.
- Fixed: (case 21197) a possible issue where p_clone_scheduled_data could fail if the month or day offset was 0 instead of NULL.
- Fixed: (case 21406) an issue where a sample inserted trigger had a logical error that could cause a stopping error on mysql 5.7
- Fixed: (case 21594) an issue where the WO clone code wouldn't properly reset verification information.
Home:
- Added: verified by user column to the work orders list.
- Added: "Show Verified" and "Show Unverified", which allows a user to easily filter the list to just those documents that need to be verified by their group.
- Added: verification due date column to the work orders list.
- Added: all the "Show ..." checkboxes on the work orders page now remember their last setting when the user closes the screen.
- Fixed: a crash when going to the testing page
- Added: (case 18225) the work order type dropdowns now exclude all work order types that are not visible to the current user (based on the new 'visible group' on work order types).
- Changed: (case 18225) results on the work orders page is now restricted by the work order types that are visible to the user. If the user has the permission "Global"->"View other user groups' work order types", they will be able to see those work orders anyway.
- Changed: (case 18225) results on the testing page is now restricted by the work order types and analyses that are visible to the user. If the user has the permission "Global"->"View other user groups' work order types" and "View other groups' analyses", they will be able to see those samples anyway.
Master:
- Fixed: an issue where the thread progress dialog that showed "X/Y processes still running" would sometimes show an incorrect # of elapsed seconds if some of the tasks took a long time.
Products:
- Added: (case 18225) when configuring recipes, support for a 'visible group' dropdown for selecting a user group who can view associated documents.
- Fixed: an issue where private plants would keep the user from being able to edit global specifications.
- Fixed: overactive change detection that would occur if the user visited the recipes page.
- Added: (case 18225) the analysis dropdown list is now limited by visible user groups and permissions.
- Added: (case 18225) all product specifications for analyses that are not visible to the user (based on user groups and permissions) are hidden.
- Removed: (case 21144) the public checkbox in the attachments dialog, which was accidentally added.
ReportViewer:
- Fixed: (case 20702) an issue where some fixed report parameter value defaults would act strangely when the user selected them.
Sampling:
- Added: (case 18225) sampling history now restricts the searchable analysis list to just those analyses that the user can view (based on the new 'visible group' and permissions).
WorkOrders:
- Added: (case 19608) work orders now have a 'verification due date'. If a WO gets marked as 'Work Completed', the verification due date will get automatically set based on the work order document's "Days till verification due".
- Fixed: an issue where, if the user marked a WO as work completed through the popup on save, the assigned to group and the verification due date were not getting set automatically.
- Fixed: an issue where, if the user marked a WO as closed through the "& Close" checkbox on the screen, the assigned to group and the verification due date were not getting set automatically.
- Performance: work order saves no longer save samples before and after the work order. This reduces the number of round trips required to save a new WO.
- Added: (case 18225) analysis dropdown list is now restricted to just those analyses that are visible to the current user's groups and permissions.
- Added: (case 18225) recipe dropdown list is now restricted to just those analyses that are visible to the current user's groups and permissions.
- Added: (case 18225) work order type dropdown list is now restricted to just those WO types that are visible to the current user's groups and permissions. Also, if the user attempts to load a WO with a type that would not normally be visible to the user, they are told that access is denied.
- Fixed: (case 21038) an issue where hitting the attachment button would crash if no sample was selected.
- Changed: if no sample is selected, the attachments button is greyed out.
- Removed: (case 21144) the public checkbox in the attachments dialog, which was accidentally added.
- Fixed: (case 21375) dependent options that require a value to be above or below a specific value no longer trigger if the values are equal (> instead of >= and < instead of <=).
- Changed: dependent options that have numeric thresholds against choice or text options now compare values numerically instead of like a dictionary.
Version 2.05
REV 17455-17548 2.05 database version 205 RC on 2016-04-25
Tools/Controls:
- Changed: list combos no longer 'drop down' automatically when the user goes to them. This was causing a lot of unncessary flickering and delays in situations where combos were the first thing in the list.
- Added: using up/down arrows in list dropdowns now pops open the dropdown instead of going up and down in the list control. This is to make it more consistent with dropdowns outside of the list.
- Fixed: hitting escape to 'cancel' a dropdown now correctly resets the content back to what it was before the user started typing.
- Added: list combos are now 'typeable' (auto-complete) by default. To emulate previous behavior, by default all dropdowns that don't specify otherwise will not let the user type in new values.
Analyses:
- Fixed: an issue where any global option choices would be set to not global when the user viewed them if they had a global product on them. Now, the user can leave an option threshhold/choice global if the product is in use at all plants.
- Fixed: (case 20301) a crash that could occur if the user made a change to an analysis option or option threshhold and then change analyses quickly.
CommonResources:
- Added: the configure analyses page now has a 'show inactive analyses' checkbox for hiding and showing inactive analyses.
- Added: the configure analyses page now has a 'show analysis not in use at this plant' checkbox for showing analyses that are not in use at the currently selected plant.
- Changed: (case 13385) the 'global' analysis checkbox has been replaced with a 'in use' similar to the product interface where each product can be in use at multiple plants.
- Fixed: an issue where the empty analysis row might get duplicated if the user switches plants.
- Fixed: a crash that could happen when the user switches plants.
- Added: the 'show analyses not in use' now shows the current plant code.
- Changed: if the user has permission to edit analyses at all plants where an analysis is in use, the user can edit that analysis.
- Added: support for loading/saving the 'active' analysis flag.
- Added: inactive analyses no longer show in the analysis dropdown in sample history. However, inactive analyses are shown if they were already selected on a sample.
- Fixed: a crash that could be caused on sampling history if a search included samples on no WO.
- Fixed: an issue where analyses for other plants were visible in the analysis dropdown on samples from other plants.
- Added: maximum length for strings in the configure analyses page.
CrystalReports:
- FIxed: (case 20188) an issue where switching to email or archive of a print job might still set the print entry as 'Print'.
Database:
- Added: (case 19210) root cause and root cause comments to the investigation table.
- Fixed: (case 17752) several references to store are now 'plant'.
- Added: (case 19469) scheduled reports now have a title that can be sent along in an email.
- Fixed: (case 20079) an issue where sample values might not get calculated correctly on WO save.
- Added: (case 13385) what plants an analysis is in use at is now tracked in a separate table called analysisplant.
- Added: unique indices to all the productplantmap, supplierplant, and analysisplant.
- Added: copied current analysis usage into the analysisplant table.
- Added: analysis.active, which will track whether an analysis should be hidden (inactive) or not.
- Fixed: several triggers no longer reference the deprecated plantid field. Added reference to logging the active column.
- Added: (case 20089) plant.logofileid, which will store a company logo file id for displaying in reports. Modified f_count_file_references to count these references as well when determining whether a file is 'in use' or not.
- Fixed: (case 19987) f_get_next_schedule_date was returning midnight of the next day for schedules that were set up on "Daily (Weekdays)" if the time of the schedule had passed.
- Changed: (case 19987) all automatic WO scheduling is executed on the quarter-hour now instead of hourly. This gives users more specificity on scheduling.
- Fixed: Updating e_schedule_reports for all products because we noticed that if an error happened during the FETCH query, done never got set to TRUE, and the loop would go forever.
DevIL:
- Changed: Recompiled DevIL 1.7.8 in VS2008 so that we can remove a dependency on MSVC++8. I also optimized it for speed. It seems to be 'drop in' with regards to the old binaries (ITrack doesn't have to be recompiled to work with the new version).
Investigation:
- Added: support for a 'root cause' column as well as a 'root cause comments'. The root cause is an autocomplete dropdown that automatically shows all previously entered items. The comments are an unlimited field.
ITMySQLConnection:
- Fixed: a rare case where a database error that occurred in a function would not be reported to the user or our error reporting services.
Products:
- Fixed: (case 19969) attaching files to new products or suppliers will now save correctly.
- Added: (case 19863) the ingredient/product area now has a search filter that will limit the visible options to just ones that match the user's input.
- Added: (case 19754) a "Specifications" page to the product/ingredient area.
- Fixed: an issue where saving after removing a product 'in use' at a plant, the user might still be prompted to save, despite there being no new changes.
- Added: maximum length for strings in the specification list.
- Added: permissioning to the specification area.
- Added: plant dropdowns for specifications now contain just those plants that the product is in use at as well as where the user has permission to edit analyses. "Global" is now an option if the product is in use at all plants and the user can edit analyses at all plants.
- Added: switching options on a specification now correctly removes the spec on the old option and adds a new one to the new option.
Sampling:
- Fixed: an issue where changes made to WOs since the screen was opened might not be refreshed on subsequent searches.
- Added: (case 18967) if the user has permission to edit samples on this screen, if any of modified samples are on verified WOs, the user will be notified that they will cause the WOs in question to become un-verified on save.
WorkOrders:
- Added: (case 18968) the verification date field now shows the time the document was verified as well.
- Added: (case 18967) if the user adds or removes samples, or changes important information about a sample, and the WO was verified, the user will be notified that they will cause the WO in question to become un-verified on save.
- Changed: (case 19987) all automatic WO scheduling is executed on the quarter-hour now instead of hourly. All prompts and pop-ups have been changed to reflect this.
- Added: analysis options of type 'choice' will now auto-dropdown and allow auto-complete typing.
- Added: recipe production page now allows right clicking in the ingredient list header to hide/show columns.
Reports:
- Fixed: (case 20012) a query issue in the Investigation Overview report that was causing the original sample to show twice and leaving out the investigation samples on the report.
- Added: (case 19065) a new report, Investigation, that shows information about a single investigation.
- Added: (case 20243) a dynamic logo to the Investigation report, which looks at the new plant.logofileid to determine which image to pull from the database
Version 2.0
Tools/Controls:
- Performance: upgrades to our collections that (in some cases) eliminate as much as 85% of the time spent in some loops.
- Added: support for icons on 'push-like' buttons.
- Added: support for typeable columns in lists can now support a 'maximum length' for the data that the user can enter. If the user enters more than this, they hear a beep and are stopped.
- Performance: formatting of list text has been sped up somewhat.
- Added: a shared city/state/zip field group to consistently handle all areas where these linked fields should look one another up.
- Fixed: an issue where attachment interfaces would not lock down correctly in some scenarios. Also fixed an issue where the public checkbox wouldn't work correctly if there was more than one check in the list.
- Fixed: an issue where custom "ok" message boxes wouldn't have their custom button text shown.
- Fixed: an issue where times containing midnight might save incorrectly. Also an issue where date/times might save as 1899-12-30
- Added: doubleclicking an item in a tree control now toggles the expansion of that item.
- Fixed: an issue where the list footer would become invisible in some scenarios.
CrystalReportsExtension:
- Added: (case 17915) printing reports now logs successful print information as well as errors to the print queue.
- Added: proper support for 're-printing' items in the report queue. That way, they won't get another entry in the queue.
- Added: print previewing now inserts an 'in progress' entry in the print queue, which is overwritten up by the report viewer screen.
- Added: (Case 18265) the 'choose printer' dialog now has the ability to let the user choose to email a report instead, or archive it on the server. In addition, the user can have a print get 'delayed' in the queue if they wish to schedule it for later.
- Added: the archived reports subdirectory now has a default value per report type. This way, all saved reports will automatically be saved into sorted subdirectories.
- Removed: if the user performs an advanced print, the windows printer dialog no longer shows up. Instead, we show the ITrack choose printer dialog, which allows choosing to email or archive.
- Added: (case 18265) a global hotkey that controls whether to automatically show the advanced print options popup during any print. This defaults to ctrl + left click when printing, but can be rebound in the hotkeys dialog.
- Added: support for auto-complete options in the email dropdown.
- Added: if the user enters a new email address in the dropdown, future email operations will 'remember' that option.
- Fixed: newly created report queue entries are now correctly cleaned up, avoiding memory leaks.
- Changed: reprinting a report queue entry no longer updates the 'created by user'.
- Fixed: crash that would occur when cleaning up report queue entries.
- Changed: if the user chooses to email or archive a report, all reporting code is skipped.
- Added: support for delayed printing and emailing. If a print job is going to be printed in the future, the print operation is skipped and logged in the queue.
- Changed: the error report field in the report queue can now go up to 1000 characters instead of being limited to the previous 250 characters.
- Added: there is a new setting ("Printing"->"Advanced print management server installed"). The advanced printing dialog now deactivates various controls if this setting is off. Essentially, any controls that require report commander to be present are disabled.
- Added: (case 19676) the advanced print dialog now has a quantity edit so that the user can easily change the print quantity without going into the windows printer dialog.
- Added: report auto-updater now creates new reports with a category of "Report".
- Added: Configure->reports page now has handling for setting a report category.
- Fixed: (case 19832) an issue where exporting a report add script with parameter values could cause a query error.
Configuration:
- Fixed: a minor flickering issue when opening up the configure->users dialog causing it to load slower.
Database:
- Added: support for new 'time elapsed' column in the reportqueue table.
- Added: (case 18727) support for delayed print operations in the print queue (reportqueue.waituntil). There is also now an index on the fields that the report server scripts uses to find printable jobs.
- Changed: the error field in the report queue can now facilitate 1000 characters.
- Added: (case 17043) an upgrade had been made to the the event that sends out scheduled alerts to handle expired items. This got missed in a previous update.
- Added: (case 11913) a new permission to control whether the user is allowed to reopen closed/cancelled investigations.
- Changed: moved a database update regarding the report queue to the next version, as version 191 went onto the AU earlier.
- Fixed: (case 19096) an issue where alert subscriptions based on expiration with negative hours until expiration would cause a database error.
- Fixed: (case 18969) cloned WOs no longer inherit verification from the original document.
- Added: (case 19164) all log entries older than 4 weeks are now archived every sunday at 1:30 AM by an event. This should hopefully keep the database trim and fast.
- Changed: (case 19164) log_change and log_changegroup have been transititioned to InnoDB instead of MyISAM engine. This is because mixing the engine types seemed to be causing deadlock behavior in some cases.
- Added: (case 8672) supplier, supplierproduct, supplierplant, and supplierfile tables for storing information about suppliers.
- Fixed: the right-clicking graphing template has been modified so that if the user uses a string column as the x axis of a scatter graph (but the strings contain numbers), the graph should look correct.
- Added: the dataclone table now has a rank column for designating the order that objects that have the same timing will be cloned in.
- Fixed: an issue where items set to clone 'at the top of the hour' would clone in the previous hour instead.
- Fixed: the description of one of the product management permissions to be more accurate.
- Added: 2 new permissions for the supplier management area.
- Added: suppliers now have account numbers.
- Added: zipcode.displaycode, which handles zipcodes that are shorter than 5 digits.
- Added: (case 8672) supplier ingredient lists are now plant specific.
- Added: supplier attachments are now plant specific. The user can check or uncheck the Global checkbox to specify whether attachments are plant specific.
- Added: workorders now have a 'source' workorderid. This tracks the document that a work order was cloned from, if any.
- Added: (case 12126) support for 'favorite' work orders.
- Added: dataclone table now has fields for 'copy additional data' (copy analysis option values with the WO) and 'copy most recent', which copies the most recent copy instead of the original template.
- Added: (case 19613) support for p_clone_data to be able to clones sample values if required. Also, added support for the ability to clone the most recent copy of a WO instead of the original.
- Added: p_clone_data now has better error handling. Specifically, if it exists with an error, all temporary tables should be dropped. Also, all work done in the procedure is part of a single transaction, no matter whether autocommit is on or off.
- Added: cloned workorders now have their sourceworkorderid set during cloning.
- Added: p_clone_scheduled_data now properly handles the clonemostrecent and cloneadditionaldata settings.
- Added: p_clone_scheduled_data now sets session variables @nDataClonesExecuted (number of data clones executed) as well as @strLastCloneError (error message from last failed data clone). This should help any code that calls this procedure to report information about what happened.
- Added: explicit transaction committing between each clone operation to ensure that some documents are saved even if one fails.
- Changed: dayofweek is now used instead of dayoffset to figure out which day of the week a Weekly schedules are run on.
- Changed: the bulk of f_get_next_data_clone_date has been moved to f_get_next_schedule_date so that it can be called for unsaved schedules.
- Fixed: f_get_next_schedule_date now properly returns the 'next' occurrence date if the current schedule period has passed.
- Added: new permission for controlling what plants a user can manually copy documents at.
- Added: comments to the report table columns.
- Added: report.category, which defaults to the same as report.type.
- Added: speed index to the report table based on name.
- Added: (case 19865) report.name is now enforced unique per report type.
- Added: (case 19467) notes for why a report subscription exists
Graphing:
- Fixed: a couple issues that could cause javascript errors, keeping the graph from displaying. These mainly occurred if the user didn't specify any analysis types.
- Added: (case 12785) support for searching by work order type. This supports id (faster) and by name (supports wildcards).
Home:
- Added: any javascript errors encountered on any pages being navigated to will now be automatically suppressed on client systems, but not in testing.
Investigation:
- Added: (case 11913) there is a new button that controls whether the user is allowed to reopen closed/cancelled investigations.
- Fixed: an issue where, if there were multiple pages of investigations, the next/previous spin area might not be visible on some screen sizes.
- Fixed: (case 19227) an issue where searching investigations by analysis would not work. Using a wildcard in the analysis dropdown would find all analyses, no matter what.
- Added: hitting enter when on the investigation history page will now perform a search.
libITSQLFramework:
- Fixed: the timestamps in the query log now use local times instead of UTC times. Also, the values are formatted a bit more logically.
PrintQueue:
- Fixed: (Case 17810) All errors are now written to file and an exception has been added for writing errors to the database.
- Fixed: (Case 18665) Added timers, written to db. It should also update lastsenton.
- Fixed: (Case 18160) Now has an enterprise handler that should pull in printers using f_get_setting.
- Fixed: (Case 19360) Syntax errors and handling for when no parameters are passed.
- Fixed: (Case 19360) removed an errant else clause possibly causing failure loops
- Fixed: (Case 19360) execution time now correctly quoted.
- Fixed: (Case 19360) PrintQueue now handles missing reports instead of crashing
- Added: (Case 18528) error reporting emails
- Fixed: (Case 18430) Now enabled report commander's native error logging. -v flag effects it. To set a custom logfile, a new config setting 'reportcommanderlogfile' exists.
- Fixed: Printing reports no longer makes a pdf
- Fixed: Saving files to folders no longer deletes them
- Fixed: (Case 18727) Now supports a waituntil date/time which specifies when a report should print.
- Fixed: (Case 19605) Printing to the selected printer now works for reports that have No Printer checkbox checked in the crystal report file.
- Fixed: (Case 19718) Python now corrects the product config setting from ITrack Enterprise to ITrackEnterprise
- Fixed: (Case 19406) We now group_concat on | for parameters to avoid splitting off and ignoring subquery parameters.
- Fixed: (Case 19766) Email delimiter is now a comma instead of a semicolon in the destination field of the reportqueue table.
- Fixed: (Case 19484) Printqueue now uses f_set_setting to let the other products know that the Advanced Print Management Server is installed.
- Added: a bunch of comments to make PrintQueue.py simpler to understand, as well as a convenience method for query error handling.
- Fixed: (Case 19850) Added some error handling for when queries return no results.
- Added: (Case 19850) Added a setting emailerroron, which when set to False will turn off email error reporting
- Fixed: (Case 19850) Allowed not specifying a printer.
- Fixed: (Case 19878) Fixed another crash
Products:
- Changed: when deleting a product that is not on any samples or thresholds, the confirmation of deletion dialog will now say its on 0 samples so that the user knows it is safe to delete.
- Added: (case 8672) Suppliers page next to the ingredient/product management page.
- Added: (case 8672) the supplier management area now has a detail page and attachments page, similar to product management.
- Added: 2 permissions for supplier management, which match the product management permissions.
- Fixed: the product attachments page was not correctly locking itself down if no product was selected.
- Added: (case 8672) supplier management now has a ingredient list to track which ingredients a supplier provides.
- Added: supplier attachments now have a due date. The due date can be black, blue, or red based on when the document expires.
- Fixed: an issue where hitting add product didn't work if no existing product was selected.
- Added: the ingredient list in supplier management now updates in realtime if the user adds/edits/removes ingredients.
- Changed: plant-level edit suppliers permission now allows the user to edit attachments/documents on a supplier as well as ingredient lists.
- Changed: new supplier attachments now default to plant specific documents.
ReportViewer:
- Added: print queue page now has columns for report type as well as report name.
- Added: column for the new execution time value.
- Added: the print status column is now bolded and color coded.
- Added: notes and error info columns are now multiline edits for easier reading.
- Added: the user can now edit notes on each queue entry.
- Added: support for reprinting items in the queue now updates the execution time as well as parameter values for the existing entry.
- Added: clicking the 'cancel' button (little red x) while a preview job is running now cancels the job completely.
- Added: cancelling a preview either with the little red x or by closing the screen now updates the print queue with a status of Cancelled.
- Added: previewing reports now correctly saves the execution time in the repot queue as well as when it was previewed.
- Added: errors that occur during print preview are now reported with the same error reporting box as all other printing errors. These errors are also saved in the print queue.
- Fixed: any queued report that is sent to the previewer will now correctly save "Preview" as the destination for the report.
- Fixed: an issue where reprinting reports by sending them to preview would cause a new queue entry to be created.
- Changed: the report viewer tab now shows report categories and report names in a tree instead of 2 lists.
- Added: report categories can now contain multiple levels and are no longer attached to the report type (what button it prints from).
- Added: buttons for setting which reports are a user's favorites.
- Changed: deselecting a report now makes various parts of the screen read only.
- Added: the report and parameter lists now save and load their column order and widths.
- Added: when reports are first loaded up (or they are reprinted) various pieces of meta-data are loaded for the report, including average execution time, who ran the report last, a well as how often it is run.
- Added: (case 19808) support for adding reports to the user's favorite reports. All favorite reports show up in a special "* Favorites" area.
Sampling:
- Fixed: (case 18226) when the user checks or unchecks an analysis to search, it is grouped at the top of the list, making it easier to see which items are checked.
- Fixed: a bunch of issues where the graphing tab would flicker when showing a new graph, and situations where the address bar and buttons would not be visible.
- Fixed: cases where the refresh button would not work.
- Fixed: an issue where all data for all time would be graphed in some situations (the user went to the graphing tab without performing a search or they hit clear). Now, a blank page is shown instead.
- Added: a wait cursor now appears until the graph is completed. This is helpful for knowing when particularly large graphs are still being rendered.
- Fixed: an issue where performing the same search more than once would show a blank graph page until the user clicked on it.
- Added: (case 12785) there is now a work order type dropdown when doing sample searches.
- Changed: if the graphing web page has a javascript error, that is now suppressed rather than being shown to the user.
Settings:
- Fixed: an issue where the print queue page on the report viewer screen would incorrectly ignore the 'show printed' checkbox.
- Added: support for print logging in the report queue.
- Added: support for mouse buttons in key bindings.
- Added: doubleclicking a keybinding now allows the user to immediately rebind that action.
- Added: support for an email auto-complete in the email dropdown when printing reports to email. Currently, the email auto-complete contains all user emails as well as historical emailed reports.
- Performance: when a user closes a screen, column order is now saved with an INSERT ON DUPLICATE KEY UPDATE instead of REPLACE INTO, which will reduce traffic and disk writes.
- Added: support for some new features on the report viewer screen.
- Added: support for report categories.
- Fixed: (case 19255) an issue where user settings would not save any changes if the user logged out and logged back in before closing the application.
WorkOrders:
- Added: a new button for copying the currently loaded WO, as long as the user has permission to create new WOs.
- Fixed: if the WO screen gets saved but no WO is loaded, the user will not get an error that the WO is empty.
- Added: if the user opens a WO, the edit work orders page is now automatically activated.
- Added: if the user does not have permission to manage automatic work orders at any plants, the automatic WOs tab is completely hidden.
- Added: A new 'automatic work orders' page where the user can configure automatically generated WO documents:
Automatic Work Order Scheduling:
- Added: (case 12126) button to send historical workorders to new schedules.
- Added: support to remove existing scheduled documents.
- Added: the user can now add/remove workorders as favorites.
- Added: checkboxes to control whether the user wants to see open, closed, and non-favorite work orders.
- Added: whenever a schedule type is chosen, the various schedule parameters will become editable or readonly.
- Added: support for a new permission to control whether the user can add automatic WO cloning.
- Added: the historical WO list now sorts favorites at the top.
- Added: a check to ensure that weekly schedules aren't saved without a day of the week to clone on.
- Added: a 'next scheduled occurrence column, which shows information about when a schedule will execute next.
- Added: double-clicking a historical WO will add that item to the scheduled WOs.
- Added: a button to clone any selected historical documents. This is useful when work orders can't be scheduled regularly. The user can choose to clone the WOs with values or without.
- Added: a button to execute selected WO schedules to clone the documents immediately.
- Added: a button to rerun all saved WO schedules immediately. This effectively "Re-runs" all schedule checks that should've been executed in the previous hour. If any WOs are cloned, the user is told and they are given the ability to open the last one. If there are any errors, the user is told. If all WOs were cloned successfully in the last hour, nothing will be created.
Reports
- Fixed: (case 20012) a bug in Investigation Overview causing the original sample to show twice instead of including any investigation samples.
- Added: (case 19211) Investigation Overview, a new report that looks at investigations. Original sample is starred.
- Added: (case 19710) the ability for more fields to be able to grow without cutting off on the Certificate Of Analysis report.
- Added: (case 19636) a new report for printing LA barcodes on demand, LA Label.rpt. The location and analysis parameters supporti the wildcard * so more than one combination can be selected at a time.
- Changed: (case 18715) combined Analysis and Category parameters into one on Failed Results report.
Version 1.9
REV 16767-17048 1.9 database version 190
CommonResources:
- Fixed: (case 15799) if the user deletes a default option value from a work order, it will no longer be replaced by the 'default' value.
- Added: (case 17193) if the work order type changes, the product/ingredient will now be emptied if the new work order type doesn't support products or ingredients.
Database:
- Fixed: an issue with a previous update setting workorders to open that were supposed to be closed and vice versa.
- Fixed: an issue where p_clone_data was throwing a database error when cloning work orders.
- Added: (case 17044) the user can now subscribe to alerts when investigations are Created, Modified, Opened, or Closed (Resolved).
- Changed: (case 17420) work order due date is now a date/time instead of just a date. For backwards compatibility, all existing due dates now have a time of 11:59 PM to match previous behavior.
- Added: (case 17043) preliminary support for subscriptions to alerts on work orders that have expired or are going to expire in a set number of hours.
- Added: an index to make lookups by due date faster.
- Added: (case 17385) a new column to alertsubscription that allows a subscription to only be sent if there are required options that are not filled out.
- Fixed: alertsubscription.active was not being properly respected as a way to disable alerts.
- Added: (case 17385) alert subscriptions can now be restricted to only when required option values are missing.
- Added: (case 7828) a new table for creating rules for automatic investigation creation.
- Added: several columns to the investigation table to track information about new automatically created investigations.
- Added: f_get_item_in_subtree, which checks to see if a locationid or productid is the descendant of another locationid or productid without dynamic SQL.
- Added: (case 7828) f_sample_values_updated now looks at the investigationtrigger table to see if any of the modified option values require an automatic investigation to be created.
- Changed: f_sample_values_updated now no longer updates option value acceptability for option values that were already calculated. This should prevent closed samples from being recalculated from new rules.
- Added: (case 12969) a permission that controls whether the user can add new work orders (defaults to the same as the user's ability to edit work orders).
- Fixed: (case 16886) when the user performs right-click graphing and numeric values being graphed are empty, they are no longer graphed as 0. Now, such values are not present in the graph.
- Changed: (case 17570) the investigation field findings has been renamed to corrective action and a new preventative action field has been added.
- Added: (case 17716) sample.sourcesampleid, which will track when one sample is cloned from another.
- Added: (case 17716) p_clone_sample now copies the original sampleid into sourcesampleid, so that we can know when one sample clones to another.
- Added: (case 15895) recipes now have a batch unit.
Home:
- Added: (case 17420) due date and date created now display date and time in the work order list.
- Fixed: work orders that are due today (but have not yet expired) are now properly shown in blue instead of red.
Master:
- Added: (case 13008) when the application cannot reach the local database during an update attempt, the original MySQL error is now sent out as part of the error report, instead of the current, generic Database error 0 that we currently get.
- Changed: (case 17194) we disabled some of the COM timeouts in the application, as this seems to make exporting reports from the crystal reports previewer not show erroneous 'server busy' messages.
Products:
- Added: (case 15895) each recipe can now have a batch unit filled out.
Graphing:
- Added: support for analysis level acceptability filters (showing samples with at least one option value that is acceptable/marginal/unacceptable).
- Fixed: when a graph is filtered by the collected by user, the graph will now correctly be filtered.
- Added: (case 15834) if results were on samples with no location, the location information in the hover text now shows NONE for the location.
Investigation:
- Added: (case 15708) support for screens sending a specific investigation to the screen to be viewed. If the current set of results has the investigation in question loaded, it will be selected. Otherwise, that item will be loaded first.
- Changed: the screen icon has been updated from the generic icon.
- Added: (case 7828) the constraints page now has a list of all rules being used to automatically create investigations.
- Changed: constraints tab renamed to Rules.
- Fixed: an issue where changing location wasn't saving the correct value.
- Added: adding and deleting investigation rules now works correctly.
- Added: closing the scree with changes to investigation rules now prompts the user to save.
- Added: support for deactivating investigation trigger rules.
- Added: the description column for investigation rules now automatically generate in a human-readable string based on the choices made in the other columns.
- Added: default comments now are now set automatically on new investigation rules. This way the user will know more about why an investigation was created.
- Changed: the comments and findings fields on the investigation history screen are now 'multi-line' edits, so the user can enter multi-line data more easily.
- Added: (case 17570) the investigation field 'findings' has been renamed to corrective action, and a new preventative action field has been added.
- Added: (case 17680) the analysis dropdowns on the investigation history tab are now all plant specific. Other plants' analyses will no longer show up here.
- Added: (case 17680) the automatic investigation constraints page now only shows plant-specific analyses in the dropdowns.
- Added: (case 17569) there is now an analysis category column in the investigation history as well as a filter. When the user uses the analysis category to filter, the analysis dropdown is not usable as a filter.
- Added: (case 17647) investigations now show the sampled by/date of the original sample, and each investigative sample also shows a sampled by/date.
ITSQLFramework:
- Added: Error reports now have a "Force advanced information" option. If this is set to true, when the error message is displayed, the 'advanced info' checkbox is automatically checked (and hidden). This is useful when code wishes to use the error reporting box as a normal error popup but we can't gaurantee that everyone views advanced info.
- Fixed: an issue where very long words (like a URL) were not properly resizing the height of the message body in the error message popup.
ITMySQLConnection:
- Updated: local connection library version updated to version 6.1.5
SamplingHistory:
- Added: (case 17004) the user can now specify an acceptability filter at the analysis level, rather than just at the option level. Filling this out will filter to just those samples that have at least 1 option value with the chosen acceptability.
- Changed: various tooltips to be clearer and more concise.
- Changed: (case 17004) the acceptability default in the filter options has been moved to the new search defaults area. In addition, it now controls just analysis acceptability instead of option acceptability filters.
- Added: the search defaults area now has a 'show all options' checkbox. When checked, any analysis added as a filter will automatically select all options to be shown in the results. When unchecked, the user must choose options to display manually.
- Added: right clicking in the analysis/option list now allows the user to quickly show/hide all options for a chosen analysis.
- Added: graphing pane now supports analysis level acceptability filters.
- Fixed: (case 17466) an issue where analyses that were not supposed to be shown were being shown in the results.
- Added: (case 15708) any loaded samples that generated an investigation, or were generated by an investigation will now show an attention icon. Depending on the sample's association to the investigation, one of 2 icons will be shown. Double-clicking either one will open that investigation on the investigation screen.
- Fixed: an issue where saving changes would not immediately display the updated colorization on unsaved option values or remove the 'save' icon on modified rows.
- Added: saving samples now refreshes investigation status based on the new automatic investigation creation system.
WorkOrders:
- Fixed: (case 17532) an issue where changing a value on a sample might set all other option values back to the default values.
- Fixed: an issue where the user would be unable to edit a new work order if they didn't have permission to edit WOs not assigned to their group, and the default WO type had a group the user didn't belong to.
- Added: (case 15708) any loaded samples that generated an investigation, or were generated by an investigation will now show an attention icon. Depending on the sample's association to the investigation, one of 2 icons will be shown. Double-clicking either one will open that investigation on the investigation screen.
- Added: (case 17420) due date now allows the user to specify a time in addition to a date for the WO to be due.
- Changed: date created now shows time in addition to date.
- Fixed: an issue where date created was not saving a time, just a date.
- Fixed: whether the finalize/close WO button is greyed out or not is now refreshed when the document verified checkbox is changed.
- Added: (case 7828) if the user modifies any option values and saves, the system will now examine all automatic investigation creation rules and see if an investigation needs to automatically be created.
- Added: on save, investigation status is now refreshed for all samples in case an investigation was created (either automatically or by another user) since the user opened the WO.
- Added: (case 12969) saving WOs now throws an error if the user is creating a new work order at a plant they don't have permission to create a WO at.
- Added: (case 12969) if the user has no permission to add WOs at any plant, the work order interface is locked down.
- Added: (case 15895) in the production page, when a recipe is selected, that recipe's batch unit is now shown.
General/Controls:
- Fixed: (case 17707) a crash that would be caused when hitting the up arrow in an advanced combo box when nothing was selected.
- Fixed: an issue where paging combo boxes weren't correctly 'going to a page' during setting initial text.
- Fixed: (case 17672) an issue where deleting all items from a list could leave dead whitespace in the list when new items are loaded back in.
- Fixed: an issue where a variable was not initialized, leading to somewhat random behavior on ITDateTimeCtrl's where their style was set to date and time.
- Fixed: an issue where ITDateTimeSetting::Reset was working inconsistently and could create an COleDateTime that was invalid.
Reports
- New Report: Choices and Thresholds (case 17854): This is a report that everyone could benefit from if they like the Analysis Management Screen but need to see more than one option at a time. It has a combined parameter that lets you filter by Analysis Category, Name, and Option - wildcard supported.
- Updated Report: Failed Results (case 17342): Added a parameter option for all plants, changed report type to Production, changed default date range to yesterday-yesterday, removed Acceptability column, swapped two columns' order.
Version 1.8.1
Database:
- Added: (case 11565) there are now tables for scheduling reports to be run and either saved into a directory, emailed to a recipient, or printed out of a network printer.
- Fixed: an issue where the event that creates schedule instances would thrown an error if the start date was set to '0000-00-00'.
ITMySQLConnection:
- Fixed: an issue where errors that happened during StoreMultiple were not being reported in any way (so long as the syntax of the entire query string was correct). Now, if any part of the query set fails, the entire thing fails and it stops grabbing results. This may cause false-positives in some situations where 1/10 queries is allowed to fail, but since each ITSQLResult cannot report the error of an individual query, I think this is the best we can do for now.
ITrack.exe
- Changed: (case 17194) we disabled some of the COM timeouts in the application, as this seems to make exporting reports from the crystal reports previewer not show erroneous 'server busy' messages.
ReportsExtension:
- Fixed: an issue where date parameters with no default value might cause an error when previewing or printing.
ReportViewer:
- Fixed: (case 17162) if the report viewer screen was closed while a report preview was being built, or the user previewed a different report altogether, a crystal error would sometimes appear and it would occasionally keep the report viewer from previewing new reports. Now, we attempt to cancel the current preview and the user must wait for this cancellation process before closing the screen.
- Fixed: an issue where date parameters might sometimes not display correctly.
- Added: the report queue tab now works with the new report queue fields. Also, we now display notes and error message on the screen.
Sampling:
- Added: (case 17176) the user and time of WO approval are now in the 'work order fields' that the user can show on samples' history.
- Added: (case 17004) the user can now specify an acceptability filter at the analysis level, rather than just at the option level. Filling this out will filter to just those samples that have at least 1 option value with the chosen acceptability.
- Changed: various tooltips to be clearer and more concise.
- Changed: (case 17004) the acceptability default in the filter options has been moved to the new search defaults area. In addition, it now controls just analysis acceptability instead of option acceptability filters.
- Added: the search defaults area now has a 'show all options' checkbox. When checked, any analysis added as a filter will automatically select all options to be shown in the results. When unchecked, the user must choose options to display manually.
- Added: right clicking in the analysis/option list now allows the user to quickly show/hide all options for a chosen analysis.
- Added: graphing pane now supports analysis level acceptability filters.
- Fixed: (case 17466) an issue where filters might apply to options on other analyses.
Sample Graphing:
- Fixed: an issue where the user might get 'all series must share the same type' error if they were mixing date options with non-date options.
- Changed: the graph will use a date Y axis if all the options being graphed are dates or times. Otherwise, these series are hidden.
- Added: the format of the information popup has been changed to be more readable and to include the plant code.
- Fixed: the format of dates (date/time options only) in the information popup has been changed to be easier to read.
- Fixed: an error that could occur if the URL contained no option filters.
- Added: support for analysis level acceptability filters (showing samples with at least one option value that is acceptable/marginal/unacceptable).
Version 1.8
Controls:
- Fixed: (case 16370) an issue where the application might crash if the user typed something into a dropdown that didn't match an item then clicked outside of the combo.
- Fixed: (case 16002) an issue where using the mouse to click (confirm selection of) the first suggested now properly selects the item. This was only causing trouble when the user would look items up by something other than the start of the item text.
- Fixed: a crash that could happen if SetColumnWidth was called on a non-existant column id. This would happen in some scenarios due to resizing before columns were added.
- Fixed: an issue where combo boxes were not scrolling correctly in windows 10 with the 'scroll inactive windows' windows setting on (which is on by default).
- Fixed: an issue where clicking on the scrollbar of a combo box could affect how the mouse worked, such that the user could move the application without moving the dropdown window.
- Added: support for mouse scrolling in combo boxes for any mouse wheel with customized sensitivity.
- Fixed: an issue where close buttons in a list were sometimes showing in the wrong spot on list controls that hadn't been resized yet.
Graphing:
- Added: (case 15353) there is now a 5% buffer around the outermost data points in the graph.
- Changed: (case 13333) filling out only a from or a to value will no longer do an 'exact' search. Now, they will do a range search. So entering a 'from' value of 5 will search for everything equal to or greater than 5. This only applies to range searched option types.
- Added: (case 15673) support for switching between the AND and OR operation regarding option value filters.
- Fixed: date/time option filters now work correctly.
- Changed: date/time options were not graphable previously. Now they should work. Currently, showing thresholds is incompatible with graphing dates.
Analysis:
- Changed: (case 15289) newly created thresholds now default to Unacceptable instead of Marginal.
Configuration:
- Changed: (case 14473) the home screen graphing URL and the sampling history page now use global settings instead of plant settings to store these values.
- Added: (case 15217) work order type configuration now supports setting whether a verification step is required for a particular WO type as well as a default verification user group.
CommonResources:
- Added: (Case 15331) the Products->Configure Recipes page now has a new column in the ingredients list where the user can specify whether the thresholds are considered 'fixed' or 'per-batch'. This controls whether thresholds on recipe options are calculated against WO totals or against average per-batch values. This functionality only applies to numeric options when batch and production volume is not 0.
- Added: threshold type defaults to matching the ideal value type (Fixed or Per-Batch). If the ideal value is 'Calculated', the threshold type can be either fixed or per batch.
- Fixed: a possible crash when launching a tree report dialog.
- Added: an icon to the inspect value button on the sampling detail page.
- Fixed: the remove button is no longer clickable when no item is selected.
- Added: support for a new permission "Can edit work orders assigned to other groups". If the user doesn't have this permission, they cannot edit samples/WOs assigned to user groups that they are not in.
- Fixed: an issue where the attachments dialog was always editable. Now, the user can only edit attachments on samples they could otherwise modify (all permissions present and sample is still open).
- Added: The sample detail page now has tooltips for all UI items.
- Added: (case 14077) the user must now have the permission to delete saved samples in addition to the ability to edit samples in order to delete a sample.
Database:
- Fixed: an issue where alerts' email body could not exceed 64KB.
- Added: nightly sample alerts now properly respect restrictions on analysis, plant, group, product, etc.
- removed: several unused settings.
- Added: there is now a stored procedure that will clone all data that needs to be cloned for the specified date/time. The hourly event now calls this function.
- Changed: (case 14473) the home screen and sampling history URL settings have been moved from plant settings to global settings.
- Added: (case 15331) support for analysis options to have Per-Batch thresholds as well as Fixed thresholds. These control whether thresholds on recipe options are calculated against WO totals or against average per-batch values. This functionality only applies to numeric options when batch and production volume is not 0.
- Added: (case 15331) option value calculation functions have been modified to support new Per-Batch thresholds.
- Added: lot number and expiration date to all option values. This will mostly only be used for production work orders.
- Added: (case 15217) the workorder now has a status field, which can be Open, Sampled, Closed, and Cancelled, similar to sample statuses.
- Changed: various triggers to match the new workorder status field.
- Added: (case 15217) support for WO verification to WO types.
- Fixed: an incorrectly named permission
- Added: (case 15217) a new permission that controls whether a user can edit work orders that are assigned to other groups. This permission has been auto-granted to all users who could edit work orders previously for minimum impact.
- Added: (case 15217) a new permission that controls whether a user can verify work orders.
- Added: (case 5844) most important presage tables now have logging turned on by default, rather than relying on users to ask for it. This will add a certain amount of slowness.
- Added: (case 14077) a new permission that controls whether a user can delete saved samples from a work order. All users with the permissionn to edit work orders automatically have this permission to minimize disruption.
Home:
- Changed: support for new WO status changes.
Investigations:
- Added: (case 12417) all readonly columns now have a slightly gray background to help the user to know what columns can be edited.
- Added: (case 12417) the investigation detail list now shows the sampling comments and testing comments of the samples in question. These fields can be edited from this screen directly.
- Changed: (case 12417) the result field now has option labels as well as option values. Also, the investigation only shows options that failed on the original WO. In addition, follow up WOs only show values for options that failed on the original document or that failed on the retest.
- Added: list column order and widths are now remembered when the screen is closed.
ITMySQLConnection:
- Fixed: an issue where an error would occur during connection (though it would not be shown to the user). This was causing a small delay on every launch of ITrack. Also, connecting via named pipe should work correctly now.
Login:
- Added: all groups the currently logged in user is part of are cached for faster group checking. Also added some external functions for other screens to utilize this information.
ReportViewer:
- Fixed: (case 15785) an issue where key choice parameters were displaying the incorrect value as soon as the user chose a value.
- Fixed: (case 15785) an issue where date, time, and date/time fields would display default values in a different format than the user's windows setting for date/time format. This was leading to those fields losing their default value.
- Fixed: (case 16029) entering a date before 1970 will no longer cause date-time pickers in the list to throw an error message that the user cannot clear. The user should now be able to enter any date back to 1601 (limited by the windows date time controls).
- Added: (case 16246) if the EDocuments extension is not loaded, the report viewer will attempt to continue using dynamic report parameters anyway. This could lead to database errors for some more complex reports, but it should be very rare. If the EDocuments extension could not be found during dynamic report processing, the status bar will now show a warning.
- Fixed: reports now show in alphabetical order.
Sampling:
- Fixed: an issue where filling out an option choice would check the option 'use' checkbox for displaying the option in the results, but the option would not be displayed in the Results.
- Added: after performing a search, when the search pane shrinks, all selected options will be scrolled into view so that its easier to tell what was searched for.
- Changed: (case 13333) filling out only a from or a to value will no longer do an 'exact' search. Now, they will do a range search. So entering a 'from' value of 5 will search for everything equal to or greater than 5. This only applies to range searched option types.
- Fixed: an issue where date/time option filters were not being sent to the graph correctly.
- Added: (case 15673) a new checkbox in the advanced search options that toggles between using AND and OR between analysis option filters and acceptability. Essentially this allows the user to choose between searching for "value between 1-10 AND value unacceptable" or "value between 1-10 OR value unacceptable"
- Added: tool tips for all controls on the sample search page. Now, the user can hover over any controls to see info about their purpose.
Settings:
- Fixed: (case 15442) an issue where global settings were not loading correctly. This was causing those values to be overwritten when the user would close the application.
WorkOrders:
- Removed: (case 15860) closing a WO no longer suggests sending a notification.
- Added: lot number and expiration date to all steps/ingredients on production work orders. These are optional, and allow the user to enter information for ingredient traceability.
- Changed: for simplicity, the options in the Set Status dropdown button are hidden for samples when on the recipes page and vice versa.
- Changed: there is no longer a second apply button in the sampling detail page.
- Added: (case 15217) there is now a checkbox for marking a work order as verified. Currently this operation can be performed after a document has already been closed, or before.
- Added: (case 15217) a 'verified by' and 'verified on' fields which are set to the current user and time when a document gets marked as verified.
- Added: support for a new permission "Can edit work orders assigned to other groups". If the user doesn't have this permission, they cannot edit WOs assigned to user groups that they are not in.
- Added: support for a new permission "Can verify work orders". If the user doesn't have this permission, they cannot mark a document as verified.
- Added: work order types that require verification no longer allow the user to close them without verification.
- Added: new status checkbox "Work Completed" which represents the state where a work order has had all its work completed and all data entered. This state implies the document is ready to be verified, but still allows modification (unlike closed).
- Fixed: an issue where the user could reopen a WO when they didn't have permission.
- Fixed: several rare cases where the user might be able to affect a document they didn't have permission to edit. Now a user without permission to edit a WO can only print the document (no saving occurs).
- Added: icons to several buttons.
- Fixed: several 'sanity checks' on sample data was being skipped if the document was being closed. They are now performed even if the document is being closed.
- Changed: if a WO is completely filled out, the user is now asked if they wish to: "Leave WO Open", mark the WO as "Completed", or mark the WO as "Closed". The closed option can only be chosen if the WO is verified or the WO type doesn't require verification. This replaces the old pop-up where the user is asked if they want to close a WO because all data is filled out.
- Added: the user can now verify work orders that they do not have the ability to edit. This allows creation of users who verify work but do not have the ability to edit said data.
- Added: if the status of a work order goes from Open to either Work Completed or Closed, the assigned to group will be assigned to the verification group specified on the work order type.
- Added: verifying and un-verifying WOs works now and sets the verification date and verified by user.
- Added: The edit work order page now has tooltips for all UI items.
- Added: the sample schedule page now has tooltips for all UI items.
- Added: the production page now has tooltips for all UI items.
- Added: (case 13590) a refresh WO button, which reloads the current work order from the database.
Version 1.7.1 (Hot fix)
CommonResources:
- Fixed: a minor misspelling.
- Fixed: the edit default value dialog no longer shows "Recipe Volume" and "Batch Volume" when editing default formulae for sample options.
- Fixed: (case 15534) an issue where the user could not create default value formulas that involved new (unsaved) analysis options.
- Added: (case 15218) changing the default value to "" will now automatically check the "Fixed" value radio button. Entering something that looks like a formula will now automatically check the "Calculated" radio box.
Database:
- Fixed: an issue where the scheduled alerts were not being sent correctly.
- Fixed: (case 15377) a possible issue where saving a WO might fail with an error.
- Added: the data clone procedures now log the id of the new document that was created for easier debugging.
- Removed: a setting that is no longer used.
Sampling:
- Added: (case 15410) the user can only filter a search by 25 or fewer analysis options. This avoids a database error that can happen if it gets above that value.
- Fixed: (case 15411) an issue where searches that returned more than one result (or performing a search more than once) could cause the "Show Testing/Sampling Details" checkboxes to be hidden.
Settings:
- Fixed: GetCompanyCode now properly gets the presage company code from the appropriate setting.
- Fixed: (case 15442) an issue where changing global or plant level settings and saving would temporarily change the setting, but it would be reset later.
WorkOrders:
- Fixed: an issue where WOs would show other plants' analyses.
Version 1.7
General:
- Fixed: (case 14319) an issue where double-left clicking in an edit did not select the entire word that was clicked on.
- Fixed: lots of minor issues with dropdowns not working as expected.
- Fixed (list control): (case 14353) if a pop-up happened (or something caused the mouse to move) during WM_ITLC_CELLTEXTCHANGED or WM_ITLC_EDITKILLFOCUS when the user was left clicking somewhere in the list, it was possible that when the modal dialog box was closed, the current mouse position would be used for click handling or drag & drop handling, causing items to get rearranged strangely.
- Fixed (list control): a minor issue where columns wouldn't always resize to fill the entire list
- Fixed: an issue where a property page that was initially hidden would have its tab text set to "" when it was first shown.
- Fixed: an issue that could cause an advanced combo to ignore the first selection change the user made by clicking.
- Added: (case 14918) the page up/ page down keys now scroll a whole page in all combo boxes.
- Fixed: a long-standing issue where date-time fields in a list control would not draw the up/down arrows correctly until the user put their mouse over them.
Analysis:
- Fixed: (case 14514) an issue where the analysis screen would crash when the plant was changed on the analyses tab.
- Added: (case 12811) support for upcoming recipe features.
- Fixed: the check threshhold dialog should no longer show inactive products/ingredients in the dropdown.
CommonResources:
- Fixed: an issue where calcualted values weren't being calculated correctly if they were not the last option on the analysis.
- Changed: (case 12811) the analysis management page has moved from the Analysis module to the common resources module. This should not affect program behavior.
- Added: (case 12811) recipes and ingredients now support quantities. Ingredient quantities now allow fixed values, per-batch quantities, and calculated values.
- Removed: samples can no longer be created for recipes
- Fixed: the print tags popup no longer has memory leaks.
- Fixed: the print tags popup now has a layout and text prompts similar to other screens.
- Added: icons to the buttons in the print tags popup.
- Changed: (case 14964) some of the work done by the sample list has been moved to a shared interface to benefit the new recipes page.
- Added: support for 'per batch' default values, which are multiplied by the ratio between the production volume and the batch volume.
- Added: support for new variables in calculation formulas: batch_volume and production_volume, which are filled out by the corresponding values when performing calculations.
- Added: (case 13307) many fields from the work order are now visible per sample in the sample results.
- Added: (case 13307) there is now a 'show work order detail' which shows/hides work order columns in the list.
- Changed: the sampling and testing comments are now visible no matter even if the user is hiding sampling/testing fields.
- Added: (case 15329) recipe ingredients and instructions that use a checkbox now default to showing an ideal of "True".
- Fixed: (case 15329) an issue where boolean ingredients/instrucitons would always show False as their ideal value.
- Fixed: (case 15159) inactive products/ingredients no longer show in the analysis configuration page or the sample detail page.
Configuration:
- Added: the Configure Work Order Types page now allows the user to choose a default user group to assign those WOs to.
- Removed: (case 10566) creating a new user no longer copies over info on the basic information tab
- Removed: creating a new user now deselects the previously selected user(s) so that changing the new user won't accidentally update other users as well. The user can still multi-select users if they wish.
- Fixed: (case 14468) an issue where, if all users were deselected, the permissions on the permissions tab were not reset to None. This was a problem because new users were getting the last selected users permissions, which was not an obvious behavior.
- Added: the connectivity tab is now laid out more like the other tabs.
- Added: (case 14588) there is now another URL on the graphing page for the home screen graphing URL. The default goes to http://home.presageanalytics.com/graph_advanced.php?userid=...&plantid=...&productcode=...
CrystalReportsExtension:
- Removed: Edit->Options->Reports. This page has been moved to its own configuration screen because it affects all users, not just the local machine. Some users were accidentally changing reports when they meant to just configure their printers.
- Added: Configure->Printers. This is a permission-controlled dialog for managing all reports, system-wide.
- Added: Edit->Printers. Since this is a semi-common user operation, the printers page has been given its own edit dialog. For now, it still appears in edit->options as well.
- Added: support for retrieving information about a crystal report file loaded from the system. We can read parameter names and types as well as page orientation and desired paper type.
- Added: the rank column is now present in the Configure->reports dialog.
- Added: if the user adds new Report(s) from a file (through drag and drop or the add button), the report file is scanned for parameters and paper orientation. This information is auto-populated into the new report.
- Added: support for managing fixed report parameter values in the configure->reports dialog.
- Added: the advanced button now has a 'export selected reports' option. This will create a .SQL file with queries that will create the selected reports, parameters, and parameter values on any database. This will only be useful for someone who wishes to manage their own report files (rare) as well as the application support team.
Database:
- Changed: (case 13327) location code can now be a full 50 characters.
- Added: (case 14235) new field for tracking default worker group for new WOs of that type.
- Added: (case 14253) a field for tracking default group per work order type.
- Fixed: (case 14382) an issue where some WOs would fail to clone because they were too large. This could also affect creating a new WO with many samples on it.
- Added: (case 14514) to support upcoming changes to recipes, analyses and analysis options have been extended with some extra fields for tracking necessary data.
- Fixed: WOs without any failures might send out alerts even if the user was subscribed for alerts for failures only.
- Fixed: an issue where email alerts were thinking that they failed when they had succeeded. Error handling should be somewhat more accurate for both Windows and Linux systems.
- Fixed: the triggers for sending 'on modified' alerts for samples, values, and WOs weren't being fired correctly when an unacceptable value was entered during the initial save for a WO.
- Updated: a trigger to remove references to a field that has been removed.
- Fixed: an issue where alert triggers might fail on large WOs.
- Added: support for scheduled alerts. These can follow any schedule, for example: a nightly email of all failures that happened that day.
- Added: alerts can now be deactivated with being deleted.
- Added: support for the alert type 'Daily Samples', which will send all matching samples that were performed on the given schedule.
- Added: a weekly overnight event that will ensure all schedules have instances for at least a year into the future.
- Added: (case 14694) sample.productionvolume, which will store the volume that is going to be produced on by a recipe sample.
- Added: there is now a workorder type flag for saying whether WOs of that type should show the new recipes page.
- Removed: logging triggers from areas where they shouldn't exist.
- Added: analysisoptionvalue.defaultvalue. This will contain the last calculated default value for any option value (or recipe ingredient). This is important for reports that want to show ideal ingredient quantities as well as whether or not values have been modified from the default.
- Added: a new permission for the configure->reports dialog.
- Fixed: (case 15128) an issue where nightly scheduled WOs weren't being created.
- Fixed: an issue where an object that was deleted before an alert could be sent would cause replacement tokens to remain in the alert body. Now, those values will be replaced with empty strings.
- Fixed: (case 15287) an error that would happen when the user was saving new recipes.
DataManagement:
- Fixed: an issue where the record terminator wasn't displaying a linebreak correctly. Essentially, tab will now be shown as \t, and newline will be shown as \r\n or \n. Also, an escape character of \ will now be displayed as \\ for consistency.
Graphing:
- Fixed: (case 14498) an issue where "analysis_option_id[]=" was causing graphing URLs to throw an error.
Home:
- Added: (case 14588) the embedded web page now navigates to the URL specified in the configuration screen for the home screen graphing URL. This allows personalized graphing templates to be displayed on the home screen. This URL can be customized per plant on the configuration screen.
ITMySQLConnection:
- Added: support for a new database mode where disconnects are not automatically reconnected, but instead must be manually reconnected.
- Added: (case 14552) support for a new database mode where the application catches all database disconnections and automatically attempts a fixed number of reconnection attempts before throwing an error (the default reconnection attempt count is 1). This is the new default mode.
- Added: for legacy support, there is a legacy database mode where reconnects are handled automatically by MySQL. This mode is not transaction safe, and so is being deprecated.
- Changed: Several low-level database operations have been sped up, including checking to see if a connection is live, as well as disconnecting.
- Added: all ISoft database error codes have been given formal #'s in the 100 to 200 range to keep them separate from the MySQL database error codes (1000 to 2999)
- Added: (case 14552) any disconnections (manual, timeout, explicit connection termination on the server side) will cause a new error ("Connection lost during transaction" error # 103) to be thrown on the next query to be run. This feature requires the database connection to be in the new AUTO_RECONNECT mode, which is the default. Also, this only applies to code that explicitly begins transactions. This solves a central issue where bad connections could lead to partial saves being lost due to the implicit ROLLBACK performed by MySQL when a connection is lost. Now, the application will detect this state and return an error so that it can be handled gracefully.
- Added: the MySQL connection now puts more information in the (optional) log file. This includes notes whenever disconnects were noticed, as well as a note for every auto-reconnect attempt. This makes the log file more readable when debugging operations that spanned multiple reconnects and identifying errors that occurred because of a disconnect in the middle of a transaction.
- Fixed: code that calls Disconnect directly will no longer cause the application to get into a state where it would not reconnect anymore.
- Changed: The Reconnect operation now simply calls Disconnect and Connect, to avoid previous issues where it was handled differently.
- Added: support for hiding the 'retry' button on the query error dialog if the error being reported is that the tranaction was interrupted. This is because, in this case, the entire transaction must be re-run to ensure validity.
ITSQLFramework:
- Added: when a query error popup happens, the retry button will not be available if the error being reported is that the transaction was interrupted. This is because, in this case, the entire transaction must be re-run to ensure validity.
Locations:
- Changed: (case 13327) location code can now be a full 50 characters. However, location names still cannot exceed 50 characters, meaning a location with a 50 character code cannot have sub-locations.
Login:
- Support for the new configure->reports permission.
Master:
- Fixed: (case 14506) the database updater now correctly parses events and triggers, and should no longer have trouble with versions that end with an EVENT declaration.
- Added: if ITrack.exe fails to write a setting out to the ini file, it now displays an error in the status bar so that we can debug situations where users cannot seem to write printer choices to their settings file.
Products:
- Added: the recipes page has been replaced with a page for configuring special recipe 'analyses' more on this to come.
- Added: the recipe tab now allows the user to add/edit/delete recipes.
- Added: the edit default formula dialog now shows the special variables "Batch Volume" and "Production Volume" as options to be inserted into any formulae. Batch Volume is the quantity produced in a single, standard batch; production volume is the quantity being produced on a specific WO.
- Added: the recipes page now allows the user to manage choices and thresholds for all directions and ingredients.
- Fixed: several tooltips and popups were using inconsistent wording and language. They have been corrected.
- Fixed: (case 15286) an issue where the category dropdown would show duplicate items in it.
- Added: the category dropdown now only shows the categories that match the currently selected ingredient/product choice.
ReportViewer:
- Added: if the user enters an invalid parameter value, when they leave the field, the value will be updated to reflect a valid value. This means entering "ABCDEF" into a number filed will be replaced with the value 0. This fixes an issue where such values were being treated as 0 but the user was not aware.
Sampling:
- Fixed: (case 14844) an issue where not all choices were visible as options for filter dropdowns on 'choice' options.
- Added: (case 14846) there is now an "Advanced Filter Options" area that is shown when the user expands the filter area.
- Added: (case 14846) in the advanced filter options, there is now an option to mass-choose analyses by their analysis category.
- Added: (case 14457) in the advanced filter options, there is now an option to mass-choose analysis option acceptability. This should make searching for only failed samples (for example) much easier.
- Added: checkboxes "Show production documents" and "show testing documents" for limiting what types of documents the user can search for.
- Fixed: an issue where production WOs were not displaying their samples correctly.
Settings:
- Fixed: (case 14568) an issue where error reports weren't being marked as from Presage correctly.
WorkOrders:
- Added: the default user group of the current work order type is now used to specify worker group.
- Fixed: an issue where some defaults from the current work order type might not stick if that WO type was automatically selected (default WO type).
- Changed: If the WO has a problem (missing data) it will no longer attempt to save the document.
- Removed: the default analysis type for a WO can no longer be a recipe.
- Added: (case 14964) a new recipes page to the edit work order area. This area is being built out as a tool for building production work orders.
- Added: support for a new checkbox in the configure->work order types dialog. Now the user can specify whether or not the recipes page is visible.
- Added: support for both option to option dependency and calculated ideal volumes for production WOs.
- Added: the recipes page now resizes to fit the screen.
- Added: the ingredients list is now invalid when no recipe is selected.
- Added: the Ideal column is now properly populated with values either from calculations or 'per batch' volumes. These values automatically refresh when the production volume is changed. These values also show the unit now as well.
- Added: a new recipe will now default the production volume to the batch volume of the selected recipe.
- Added: the recipes page now has attention icons for recipes just like the samples list.
- Added: recipe data is now colored similar to the sample data on normal WOs.
- Added: recipes can be properly loaded/saved/modified.
- Added: the recipe page now only loads once the user first navigates to that page. This way, loading WOs that don't have recipe data will be faster.
- Added: (case 14694) there are now columns for last modified by and last modified on so that the user can always see who filled out/modified items on a production WO.
- Fixed: an issue where unmodified sample values might show as needing calculation (black) even though they had not been modified.
- Added: recipes now show their status, and it can be modified.
- Added: all ingredients/directions show the name of the user that last modified them as well as when.
- Added: the set status button now has options for setting all (or just selected) recipes to the specified status.
- Added: the hotkeys for setting status for samples now triggers setting status for the recipes if that tab is selected.
- Added: the remove recipes button now works as intended.
- Fixed: an issue where deleting multiple recipes at once could lead to displaying old ingredient info.
- Added: if the user saves a WO with any samples that have no analysis, an error will pop up and tell the user that it is required.
- Added: if the user saves a WO with any production items that have no recipes, an error will pop up and tell the user that it is required.
- Changed: the Recipes tab is now called Production, and the wording of many fields, tooltips, and popups have been modified to be clearer and use less ambiguous language.
Version 1.6
Analysis:
- Changed: the default column for options is now wider, and column order is properly saved for this list when the user resizes columns
- Added: There is now an edit/test default value button which brings the user into an advanced editing dialog where they can create a formula for default option values.
- Added: If the user enters a default that looks like a formula (has math symbols), the user will automatically be taken to the edit/test default value dialog.
- Added: the user must successfully test any formula they enter before it can be saved.
- Added: the user can choose test values for all other options when testing a calculation.
- Added: if the user tests a formula, they will now be notified if an option reference hasn't been entered correctly or if the final formula causes a database error. Some of this will be made more user friendly in the future.
- Added: if the user tests a formula, the test result will be shown to the user (or an error if there was one).
- Added: support for 'fixed values' for defaults. This allows a value that looks like a formula (but is not) to be stored 'as-is'. This is useful for values that contain math symbols but are not fomulae.
- Added: double-clicking an option now opens the default value formula to be edited.
- Fixed: a column tooltip to be more accurate.
Commonresources:
- Added: if the user changes a field, any dropdowns whose values are dependent on that field will be updated as well. Generally, this will mean that if the current value is no longer allowed, it will be blanked out.
- Added: (case 13941) support for analysis options that calculate their default value based on other options. These options will continue to have their value updated based on the given formula until the user manually changes the value to a custom value.
Database:
- Changed: the default column for options no longer has a limited length, this is to facilitate upcoming calculation changes.
- Added: support for analysis option defaults to specify whether they are fixed values or formulae.
DataManagement:
- Fixed: an issue where unchanged row count could be negative.
- Fixed: an issue where "Before Conversion Validation" commands were not being run.
Graphing:
- Fixed: (case 14305) an issue where grouping date or date/time x axis values by month/week/quarter/year wasn't working.
Master:
- Fixed: an unnecessary error popup that would occur if the user was sending a message to a screen that was not open.
Version 1.5
Analysis:
- Fixed: an issue where creating an option, saving, and then trying to delete that option would fail.
- Fixed: a minor issue with how new 'choice' option values were saved.
- Added: (case 13825) the analysis editing area now allows 'Choice' options to specify 'required' option values to show that value. What this means is that choice "X" can be set up to only show up as an choice if option "Y" has a value above "Z".
- Fixed: the product list is now sorted alphabetically instead of by parent/child product.
Database:
- Added: numbers table now goes up to 16k, which makes many reports easier.
- Added: some foreign keys on the workorder table that were missing on some databases.
- Removed: some unused settings that have been moved into a different location.
- Added: support for dependencies on dropdown choices to option values.
- Added: (case 13003) there is now a new column: reportparameter.parameterquery, which controls a query that choice parameters will use to populate dropdowns when using report viewer.
- Fixed: an issue where f_set_setting wasn't working right if 'Global' was passed in as the setting level.
- Added: (case 14127) the overnight data clone process now has the following features:
1. Logging whether the event ran or not is now based on a global setting and defaults to true. 2. If mysql error 1146 (table missing) happens we have a special error message that gets logged. 3. If any other mysql error happens, we have a general error message that gets logged. 4. Even if event logging is off, if any clone operation fails, an entry is inserted into log_change with the error message in the newvalue column. Here is an example from my tests on devdb: 'Error: Table 'test' not found, skipping clone entry: 1' 5. If any mysql error happens when cloning an item, it attempts to continue with all the other clones.
- Added: support for edocument building at the database level. This is used in the new alerts system.
- Added: a database-level alert subscription system. The user can register to receive text/email/popup alerts for additions/changes on workorders/investigations/samples/sample values. The user can restrict what document types, failure levels, and plants they care about as well as the format of the messages they wish to receive.
- Added: for speed purposes, all alerts to be sent are put in a staging queue, which is read by an event every minute and dispatched to the registered recipients.
CommonResources:
- Added: support for items in dropdowns being based on other filled-out values.
Configuration:
- Fixed: (case 13809) an issue where modifying a user record could cause that user's password to become invalid.
Home:
- Fixed: the plant list is now sorted alphabetically on all tabs.
Master:
- Changed: messages sent between screens through master are now done in a way that should be faster and allow the calling screen to know whether the message was handled or not.
- Fixed: an issue with global hotkeys that was causing them to not be called in some corner cases, like before the user had clicked into any screens.
ReportViewer:
- Added: (case 13003) support for queries that run when the user selects a report parameter, loading all available options from the database. This system supports some of the results being a default choice, as well as behind-the scenes key #'s for faster report support.
- Added: (case 13003) support for dropdowns whose values are loaded form the database. In addition, the current user, the store they're logged into, as well as other various pieces of information can be used as part of the query, making it so that running reports can use better user defaults in the future.
- Added: (case 13003) report parameters can now be hidden, as well as visible by readonly.
- Added: (case 13003) dropdown report parameters now support passing behind the scenes ids to a report for speed purposes, as well as allowing dropdowns that the user can type into (for wildcard support).
- Added: (case 13003) report parameters can now be marked as required, meaning the user cannot print until they are not empty. The user will be prompted to fill it out or to use the default value (if one exists).
Sampling:
- Fixed: (case 13724) an issue where performing an 'exact' (no wildcards) proximity or zone search would throw a database error.
Hotfix:
Product:
- Fixed: the screen now says "Item in use at store X" instead of "Product in use..."
Sampling:
- Fixed: (case 14257) an issue where the graph that gets generated would show options that the user didn't want to graph. Now, if any options are checked in the search, only those options will be graphed.
Version 1.4.1
Analysis:
- Added: if the user only has plant level permission to edit analyses, they can no longer:
1. Change whether analyses or choices are global 2. Edit the analyses or choices that are marked as global 3. Edit options on analyses that are global
- Added: if the user has plant level permission for editing analyses, any new analyses and choices they create will be plant specific instead of global.
Database:
- Fixed: an issue with the graph template where numbers might sometimes display 100.00999999 instead of 100.01
- Fixed: an issue where p_get_subtree_by_lookup might throw an error if a product name had a single quote in it.
- Added: (case 13646) a new function, f_get_ancestor_id, which can find the topmost parent productid or locationid given an specific child productid or locationid.
- Fixed: an issue where cloned WOs would have the sampling data, testing data, and investigation data of the original (template) item. Now, this information will be cleared out upon being copied.
Home:
- Added: (case 6000) the work order home page now has the ability to filter by whether the current user is assigned to a WO, whether the current user performed the sample collection on a WO, or both.
- Added: (case 6000) the sample testing home page now has the ability to filter by whether the current user is assigned to a WO, whether the current user tested the sample, or both.
- Changed: re-arranged the home page tabs to be more consistent and fit better on smaller screens (leaving more space for the graphing area).
WorkOrders:
- Removed: (case 6000) the currently unused assign samples to group button.
- Fixed: (case 12245) an issue where Configure->Work Order Types wasn't properly displaying the configuration option for Product/Ingredient/None.
- Fixed: an issue where hitting tab inside auto-complete dropdowns wasn't working properly
Version 1.4
Analysis:
- Added: (case 10634) there is now a button on the analysis management screen that allows the user to recompute the acceptability status of historical sample values. The user can specify a plant (or all), date range (optional), analysis (or all), and location (or all).
- Added: (case 10634) there is a permission that controls what stores (if any) the user can recompute historical sample values for.
- Added: (case 10677) a button on the analysis management screen called "Test Thresholds" which allows the user to test the saved thresholds on the current option to see if a particular value would be acceptable or not.
- Added: (case 10677) there is now a "Inspect Value" button at the bottom of the screen (as well as a right click menu option) which will allow the user to see why a value registered an acceptable/marginal/unacceptable/etc result. The user can tweak the result in this dialog to test other values. This feature allows the user to ask "Why?" a result failed, which can sometimes be confusing if there are many applicable thresholds.
- Fixed: an issue where the new/empty analysis option might show at the top of the list if the user switched between options and back again.
- Changed: sample print quantities and testing print quantities are now stored in a special table instead of settings. This is to solve various issues that the previous system caused. All existing setting values have been copied into the new table to make the transition seamless. The old values have been left in settings for now for backwards compatibility with old reports.
- Fixed: (case 12763) an issue where renaming an analysis (even without saving) would cause the print quantity numbers to sometimes be lost.
- Performance: (case 13159) if the user loads a different plant on the analysis tab, loading all the print quantities could sometimes take a long time.
- Added: support for the user hitting configue buttons on the configuration screen to edit analyses or schedules.
CommonResources:
- Added: WO types now control the default analysis used for new samples
- Added: WO types now control whether the sampling and testing detail fields are visible and whether they can be hidden/unhidden.
- Added: the testing comments and sampling comments now show/hide with the "Testing Detail" and "Sampling Detail", respectively.
Configuration:
- Added: support for the new WO types page.
- Added: the directory page now has buttons for configuring WO types, analyses, schedules, and products. The user will be taken to the appropriate area when they click these buttons.
- Removed: the set-up wizard and Help buttons have been removed from the directory page for now, as they are just placeholders.
Database:
- Fixed: all historical samples with unnecessary precision (6.100000 instead of 6.1) have been corrected. This leads to cleaner graphing and reporting.
- Fixed: all numerical thresholds with unnecessary precision (6.100000 instead of 6.1) have been corrected.
- Added: a permission that was missing on some databases controls whether the user can edit locations on configuration.
- Added: p_refresh_all_sample_acceptability now accepts new input parameters for narrowing down the plant, location, date range, etc to be recomputed.
- Added: new permission controlling whether a user can perform mass recalculation of sample values at a plant.
- Changed: (case 12761) the format acceptability function now renames 'Out of Bounds' to 'Invalid', like the software does.
- Added: when a WO gets cloned, if due date is filled out, the existing due date will be moved forward.
- Added: (case 12763) a new table (printquantityoverride) which keeps track of the number of copies to print for various reports at various plants.
- Added: f_get_next_data_clone_occurance, which calculates the next date/time a dataclone will be performed on.
- Added: v_dataclone, which is a view that shows the contents of the dataclone table, but also selects the next date the dataclone will be triggered on.
- Added: new permission for whether the user can open the locations screen.
- Added: (case 12245) a new table for storing WO types.
- Added: (case 12245) new permission for configuring WO types.
Sample Graphing:
- Added: (case 6478) the 'color shifting' between analyses of the same acceptability (multiple green series for example) has been tweaked to not repeat a specific hue. Differences between colors are more pronounced if fewer series are graphed. The color 'ranges' have been tweaked to look better and be more distinguishable.
- Added: (case 10504) if the user filters analysis options by value range or acceptability, the graphed points will now only be the matching results.
- Removed: thresholds no longer show in the legend, as they often make it hard to read.
- Changed: data points are now slightly smaller by default for better differentiation.
- Added: the threshold lines now use triangles as their endpoints to differentiate them from data points.
- Added: the user can now click on a data series in the legend, and that data series will be hidden/shown on the graph in real-time.
- Changed; (case 12761) references to Out of Bounds have been changed to Invalid.
List Graphing:
- Fixed: an issue where right-click list graphing would display fractional numbers as 'rounded' numbers.
- Fixed: an issue where right-click list graphing would open the graph website twice if the default browser was google chrome.
- Fixed: (case 13273) an issue where grouping the x axis by value was incompatible with some graph types, like stacked column chart.
- Changed: if the user is grouping by x axis value, the column headers are interpreted as strings, causing them to be discrete values, instead of continuous variables.
- Changed: renamed some poorly named variables and added some comments.
- Added: the graphing template now properly rounds all aggregated values to a similar precision as the input data (this solves issues where $1.50 would display as 1.49999999).
- Fixed: several issues where aggregation wasn't working correctly, this was breaking stacked bar charts.
- Added: support for grouping values into date/time ranges like "By Day/Week/Month/Quarter/Year".
- Tweaked: the layout of the graph to reserve more space for the graph itself.
- Added: column and stacked column charts now adjust the window's Y axis to better fit the data. This solves an issue where a single negative value could lead to a large amount of wasted space below the 0 line.
- Fixed: an issue where pie charts wouldn't render because column 0 has to be a string
- Added: support for the google ChartWrapper class, which enables more real-time chart modifications
- Added: the user can now click a series in the legend to show/hide it.
- Fixed: an issue where stacked column charts might draw 'off the top' of the graph.
- Fixed: grouping results by date range wasn't working for pie charts.
- Fixed: an issue where pie charts would fail to render because they had negative values.
- Added: the list graphing dialog now has an option for grouping date values on the X axis. The user can group them by day, week, month, quarter, or year. This option is only available if a date field is selected for the X axis and a graph type is selected that supports aggregation.
- Added: pie charts can now have any *numeric* column added up in the results.
Sampling:
- Added: (case 10504) if the user filters results by a particular option's values or acceptability, that information will now be passed to the graph.
- Removed: in order to make URLs shorter, unused search options will no longer be added to the URL.
- Added: (case 12606) if the user fills out a filter value, the option's 'use' checkbox will be checked automatically. If the use checkbox is unchecked, the filter values are cleared out automatically.
- Fixed: an issue where searching by plant could (in some rare cases) find samples at other plants.
- Added: support for getting the WO type of all returned samples so that the screen can show/hide columns appropriately.
Home:
- Added: due date to the work order history list. WOs that have a due date within one day will be blue. Those that are past due are red.
- Added: (case 12245) both the WO history and the sampling pages have a WO type dropdown for filtering by the WO type. This dropdown remembers the user's last choice. Also, there is now a sortable WO type column in the list so that the results can be tracked by this new attribute.
Investigation:
- Fixed: an issue where new investigations were saving a date but no time.
- Fixed: an issue where hitting apply on the investigations screen could possibly throw a database error regarding the work order # of some of the investigations on the screen.
Locations:
- Added: support for the "Open Screen" permission. Also, the Configuration->Can Configure Locations now controls what plants' locations the user can edit on this screen (if any).
- Added: button icons and other minor UI improvements.
Login:
- Fixed: an issue where which plants the user had access to could become incorrect when some of the user's permissions were changed.
WorkOrders:
- Added: the notification emails now support showing the user who collected the samples.
- Changed: removed a reference to a deprecated database function and replaced it with the correct one.
- Changed: the default 'maximum # of items to load into auto-complete dropdowns' has been changed from 100 to 300 to avoid issues where long location lists couldn't be browsed.
- Added: (case 12245) a new configuration page for adding/editing/managing work order types.
- Added: the work orders screen now has a dropdown for work order type. To fit this in, the date controls were moved to their own area.
- Added: the configure->Work Order Types page now no longer lets the user change work order type fields if the user doesn't have global permission. A user with plant level permission can still control which types are available at their plant.
- Added: (case 12245) support for choosing a work order type for each work order.
- Added: (case 12245) the presence (and default value) of the due date field is now controlled by the current WO type.
Hotfixes:
Database:
- Added: (Case 10792) products can now be marked as ingredients or products, which controls what WO type(s) they show up on.
Product:
- Added: (case 10792) there is now a set of radio buttons where the user can switch between viewing/editing products and ingredients.
- Changed: wording of several fields to better fit the fact the screen can involve both products and ingredients.
Sampling:
- Added: (case 10792) the product dropdown for a particular sample is now limited to either all products or all ingredients, depending on the WO type of the selected sample.
WorkOrders:
- Added: (case 10792) the product dropdown will now contain all products or all ingredients, depending on the selected WO type.
Version 1.3
General:
- Fixed: an issue where combo sorting was case insensitive, but the auto-suggest list was case sensitive.
- Changed: auto-suggest dropdown lists are no longer sorted, even if the primary combo list is. This makes it so that auto-suggested strings are always in 'fitness' order (how well they match the input.
- Added: advanced combo boxes now default to 'find input anywhere' when auto-suggest/auto-complete is turned on. This means results are matched no matter where the input is found in the string.
- Fixed: sometimes icon cells in an ITListCtrl would not automatically redraw when the screen changed what icons were being displayed in the cell.
- Fixed: dead whitespace in the list controls is finally fixed. The previous fix didn't account for situations in which the scrollbars were currently visible but were about to disappear (due to client space increasing).
- Fixed: a drawing issue where clicking in a field (causing a Scroll in the list) might not redraw the 'close buttons' on the items, leaving what looked like 2 sets.
- Fixed: (case 12012) Items half-way on the screen did not redraw correctly. This fixes an issue where items that were only partially visible were not being properly redrawn, causing checkboxes to not toggle their state if they were halfway on the screen.
- Fixed: (case 12012) This should fix an issue where the list allowed items to be only partially visible vertically.
- Fixed: an issue where, if a list had a footer control and hidden columns, some of the columns might not redraw correctly, and there were more columns than necessary.
- Added: if the user resizes a column by dragging a column header, the footer columns are now resized in real-time. This makes matching things up simpler.
- Removed: pretty much completely eliminated flickering that would happen in list footers when they were resizing.
- Fixed: an issue where hiding/showing/deleting/adding columns while the user had scrolled horizontally would cause the header tooltips to be misaligned.
- Fixed: if a list control is hidden when it is initialized, the footer will also start out hidden.
Graphing website:
- Fixed: the severity class retrieved for a particular result now considers the plant when getting the default severity class.
- Fixed: renamed f_format_acceptibility to f_format_acceptability (misspelled)
- Fixed: an issue where thresholds might show .000000 at the end of a whole number value in the legend.
- Added: (case 6478) all graphed series (both thresholds and data series) have their colors set based on the acceptability of the result. Green for acceptable, orange for marginal, red for unacceptable, and blue for out of bounds. If multiple analyses are being graphed at the same time, the colors are shifted slightly for each series of data to make them easier to tell apart.
- Fixed: an issue where selecting "ALL" from the analysis dropdown might not show all analyses.
- Added: (case 6478) the 'color shifting' between analyses of the same acceptability (multiple green series for example) has been tweaked to not repeat a specific hue. Differences between colors are more pronounced if fewer series are graphed. The color 'ranges' have been tweaked to look better and be more distinguishable.
Analysis:
- Fixed: an issue where the analysis option ordering wasn't saving if the user switched analyses and then switched back.
- Fixed (case 12371) an issue where renaming an analysis wouldn't move over the print quantities at the same time, causing the values to fall off the analysis.
- Added: (case 10130) there is now a permission for each of the 4 tabs on the analysis screen. If the user is set to permission level "None", the corresponding page will not appear. A user with level "Plant" will be limited to editing information just at their plant(s). The schedules tab requires global permission because those objects are shared between plants.
CommonResources:
- Added: (Case 10263) there is now a permission that controls what plant(s) the user can edit sample tag #'s at (if any).
- Fixed: an issue where numeric analysis option values might save with unnecessary precision (6.100000 instead of 6.1). This was making some reports look messy. This will only correct data moving forward.
Configuration:
- Added: (case 11879) user account names can now be edited in user configuration. New (unsaved) users can now be deleted as well (saved users are just de-activated).
- Added: (case 11879) when the user hits apply in user configuration, they will now be presented with a more user friendly error if there are duplicate user account names.
- Changed: minor UX tweaks to make user configuration easier and more consistent with other screens.
- Added: (case 11614) the configure users page now limits which users can be edited based on the current user's permissions. Essentially, users will only be able to administrate their own plant(s) now.
- Added: new user accounts will automatically inherit the current plant that the administrator user is logged into.
- Fixed: an issue where a user who didn't have permission to edit plants, users, groups, or locations might still be able to edit them on the configuration screen. Now, if the user doesn't have permission, those pages are missing and the button on the Directory page is greyed out.
- Changed: a user now needs global permission to edit groups, since they are shared across all plants.
- Fixed: the icon was missing on the Configuration menu option.
Database:
- Fixed: another misspelled function name in the database.
- Added: (case 10263) a new permission for editing tag #'s on WO samples. This new permission defaults to on for anyone who can edit WOs.
- Added: (case 12276) workorder.due (due date), which defaults to NULL (no due date).
- Added: ( case 10130) 4 new permissions for the analysis management screen.
- Fixed: all historical samples with unnecessary precision (6.100000 instead of 6.1) have been corrected. This leads to cleaner graphing and reporting.
- Fixed: all numerical thresholds with unnecessary precision (6.100000 instead of 6.1) have been corrected.
Investigations:
- Fixed: an issue where sending a sample to be investigated from the WO screen (before doing any searches) might cause a crash or bad samples to be loaded.
- Changed: clicking search when unsaved investigations are present will now prompt the user to save. All other save prompts have been standardized.
- Fixed: an issue where a user with "None" for the permission "Configuration"->"Can configure investigations" was still allowing the user to edit global defaults.
- Changed: several settings in the alerts page have had their scope changed to "Hidden" since they contain sensitive data.
- Fixed: a crash when starting a new investigation.
ITMySQLConnection:
- Performance: removed a bit of unnecessary meta-data that was being stored with every query result set.
Locations:
- Fixed: (Case 12299) an issue where the locations screen might crash if the user sent locations to be visualized.
- Added: (case 12451) there is now an "Animate" button on location visualization, which plays through the samples in the currently displayed order.
Login:
- Fixed: a possible crash/error that could happen if the application was launched without database access.
Master:
- Changed: (case 11921) it was possible that ITrack didn't have any valid database connection, but it tried to get the local versionlist anyway, which would stop the update process. Now, if that happens, the system acts the same as if no database connection is present and attempts to continue. This should help prevent a state where an installation cannot be used and cannot get updates.
- Added: when the user hits "reset updates", they will now be put into a mode where we force the download of updates. This ignores some things that would normally stop update downloading, including lack of access to the local database or lack of database extension.
Products:
- Added: support for a new permission that controls whether the user can mark products as in use at their plant(s).
SettingsFramework:
- Fixed: an issue where, if the database could not be reached, or there was no database extension loaded, updates would not be applied when Presage was closed.
- Added: (case 12371) support for a new 'rename setting' operation used by the analysis screen.
WorkOrders:
- Fixed: a minor issue where, during printing, a dropdown might reappear in the list after a message box popped up.
- Fixed: (case 12026) an issue where the user could print a tag or testing tag for an item by right clicking on it before it was saved. Now, the user will be prompted to save the item if it has been modified.
- Fixed: some performance issues that could cause loading, clearing, or saving a WO to take slightly longer than necessary. Another side effect is that the list of samples might flicker and the user's selection would be cleared.
- Fixed: (case 12011) an issue where changing the plant of a WO might not correctly remove all samples at other plants.
- Removed: (case 12164) clicking on a sample option no longer automatically puts the option's default into the sample.
- Added: (case 12164) marking a sample as sampled now automatically fills out all default values into the sample.
- Added: (case 12276) there is now a due date at the top of the screen next to the scheduled date.
Update 7/2/2014
Locations:
- Fixed: an issue that was keeping the search for samples button from working.
- Fixed: (case 10855) an issue where locations might show the wrong plant's default severity class (display issue only).
- Fixed: (case 11273) an issue where configuring locations at a plant with no default severity class might cause a crash.
Database:
- Fixed: an issue where p_clone_data might create a clone with a 'date scheduled' other than the user expected.
- Added: (case 11549) a new permission controlling when someone can edit samples on the sample history screen. This permission defaults to everyone with the permission to edit work orders.
- Added: (case 11550) a new permission controlling what plants a user can search on the sample history screen. This permission defaults to the open screen permission level.
- Changed: p_get_subtree now accepts a string instead of an integer for its primary value. This allows the user to pass in a comma separated list instead of a single value. All previous queries will keep working as per usual.
- Fixed: p_get_subtree will no longer return ids that were passed in that are invalid or duplicate.
- Added: (case 11270) new stored procedure, p_get_subtree_by_lookup, which is like p_get_subtree, but it will find all results in the table that match a wild-card enabled string on a specified column, and then get the subtree that fits all matches. This is a lot faster than running a query to get all matches, then running p_get_subtree for each result separately and then merging the results.
Commonresources:
- Added: (case 11404) analysis option value columns will now size themselves automatically to fit the data type contained in that column.
Login:
- Fixed: (case 11581) an issue where the data management screen wasn't respecting the "Can open screen" permission for that screen.
- Added: support for adding the transaction list to Presage.
Sampling:
- Added: (case 11270) there is now a product dropdown the user can use to search samples by product.
- Changed: the user can no longer perform a search with no plants selected.
- Added: various UI elements are greyed out if the user doesn't have permission to them at all.
- Added: the location auto-complete field now allows the user to type from the middle by default. All previous users will not be affected, but can change this preference in settings under "Auto-Complete".
Graphing:
- Fixed: an issue where handleWildcards was only replacing the first instance of a wildcard.
- Added: server-side support for product_id and product_name parameters. product_name supports wildcards. In either case, all child products will also be searched.
- Added: client-side support for product_id and product_name URL parameters.
ReportViewer:
- Added: date, time, and datetime fields now have the 'none' checkbox on the left, allowing the user to pass blank dates to reports, for situations were optional dates are desired.
Settings:
- Fixed: an issue where report parameter choices were not being loaded correctly.
Update 4/15/2014
Analysis:
- Changed: the layout and text of the columns in the analysis option values list have been adjusted to be more human readable.
- Fixed: an issue where extra empty thresholds were being inserted.
- Added: a new column in the choice/threhold list, 'Global'. Global thresholds apply to all plants. Non-global thresholds apply to only the current plant. The global column now defaults to checked.
- Added: switching whether a threshold has a product or severity class now switches whether a threshold can be global.
- Added: the product column is now populated with the products that apply to the current plant.
CommonResources:
- Fixed: an issue where the WO screen might show the wrong analysis options if more than one analysis shared the same name.
- Added: (case 10513) support for showing only checked options in the search results.
- Added: the sample detail list now has a column for product, which is populated with all valid products for the sample's plant.
- Fixed: (case 10750) the choice dropdowns for samples now limit the options based on the plant of the sample, the severity class of the location (or the default severity class if there is no location), the product of the sample (if any), and all parent products of that product.
Product:
- Fixed: crash that would happen if you opened the screen with an empty product list.
- Added: (case 10778) saving a product with an empty name field will now result in an error popup.
- Fixed: (case 10778) a crash error that could occur when adding a product underneath a product that was not 'in use' at the current plant.
- Added: (case 10775) hitting the add button will now add a sibling instead of a child product.
Sampling:
- Changed: (Case 10466) when searching analyses, all options are now unchecked by default.
- Added: (case 10513) only analysis options that are checked will show in the search results.
INI updates:
- Fixed: the urls that control the manual, credits, and changelog are now presage specific.
- Changed: (case 5938) the homepage for ITrack Online is now http://www.presageanalytics.com/.
Database:
- Updated: the plantid of existing analysisoptionchoice entries should now be filled out.
- Added: sample.plantid. This tracks the plant a sample was taken at. This was required because location is now optional on samples, which was the only gauranteed way to find plantid before. The initial value of this field has been set based on location or workorder.
- Added: new function, f_find_applicable_thresholds. This function will create a TEMPORARY TABLE TEMP_applicable_thresholds and fills it with all entries from analysisoptionchoice, remarking on each whether it applies to the specified parameters and otherwise, why not. This will be very useful for showing what constraints are applicable to an analysis value.
- Added: new function, f_check_applicable_thresholds. This function calls f_find_applicable_thresholds to get all thresholds that apply to the parameters, then does type specific casting in order to check to see which (if any) of the applicable constraints are violated by the value specified. This will be very useful for showing 'why' a value is coming up "Unacceptible" or "Marginal", etc.
- Changed: f_get_value_acceptability no longer calculates directly, but instead calls f_check_applicable_thresholds and returns the 'worst' violation.
- Added: f_get_value_acceptability now accepts a productid and plantid as arguments. This is required because the threholds now have more restrictions (global/plant specific, and per product or global).
WorkOrders:
- Added: support for products in the sample list.
Update 4/3/2014
- Added: (case 10778) saving a product with an empty name field will now result in an error popup.
- Fixed: (case 10778) a crash error that could occur when adding a product underneath a product that was not 'in use' at the current plant.
Update 3/31/2014
CrystalReportsExtension:
- Changed: (Case 10612) if the user prints a report with 'advanced options', the printer dialog that pops up now has a quantity field on it, which will be used to override the number of copies to print.
Database:
- Added: the sample table now has an optional reference to the product table for when samples begin to be collected for products.
- Added: the analysisoptionchoice can now have a reference to a product, allowing thresholds to be product specific.
- Changed: products are now global, except there is the ability to specify which plants each product is "In Use" at.
- Changed: p_get_location_subtree has been generalized into p_get_subtree, which can return a group_concat of primary keys of any simple hierarchical table.
- Added: support for product attachments.
- Added: permission for modifying products.
Products:
- Added: "Show inactive products" checkbox, which filters the product tree to just active products.
- Added: add/delete buttons to the bottom of the screen similar to the add/delete buttons on the location interface.
- Added: Similar to deleting analyses and locations, the system now checks to see if deleting a product is 'safe' (IE if its currently in use on saved samples or analyses). 'Unsafe' deletes require a permission to complete.
- Added: the product detail page now fills data out as the user selects products, and changing values is updated in the tree immediately.
- Added: there is now a "Show this product at the current plant" checkbox, which is a per-plant setting controlling whether a specific plant wishes to see the specified product in its product list.
- Added: saving products now properly updates, creates, and deletes products.
- Fixed: hitting the refresh/reset button now correctly reloads data from the database, discarding changes.
- Added: there is now a column for whether each product is in use at the current plant. This will switch automatically as the user switches plants.
- Added: The "show inactive products" now remembers the user's last choice.
- Added: permission for whether user can modify products. The user must have global permission to add/edit/delete products.
- Added: product attachments are now functional. The attachments tab now displays the number of attachments loaded for the currently selected product.
- Added: adding and removing products now works as expected.
- Added: new products inherit many options from the parent Product.
- Added: the category dropdown now shows all previously entered product categories.
- Fixed: an issue where deleting a product would delete all child products, no matter what the user chose.
CommonResources:
- Fixed: an issue where the WO screen might show the wrong analysis options if more than one analysis shared the same name.
Update 3/19/2014
Analysis:
- Fixed: (case 10522) an issue where changing plant in the analysis screen wouldn't refresh the options in the severity class dropdown for thresholds.
- Added: there are 2 new columns in the analysis list which allow the user to control how many copies of the sample tag and testing tag get printed out when printing WOs. These settings are plant-specific so each plant can have different quantities for the same analysis.
- Changed: the apply and reset buttons have been re-arranged to match the apply and cancel button order in most windows applications.
- Changed: the pop-ups that happen when the user is going to delete an analysis are now more consistent and show the number of samples and scheduled locations that will be deleted always.
CommonResources:
- Added: (case 10609) the user can now print a quantity of tags other than 1. The last reprint quantity is remembered, so reprinting the same number of tags in the future is easy.
Database:
- Removed: some (now) unused fields from the analysis table.
- Fixed: the version of f_get_next_day_of_week that was released previously was out of date.
- Added: a new permission for allowing access to the product management screen.
- Added: (case 10551) table for storing product information.
Product:
- Added: (case 10551) a new 'product management' screen, wherein the user can manage products, ingredients, and recipes.
- Changed: the attachments button has been removed and replaced with an attachments page.
- Added: the plant dropdown is now filled with plants.
- Added: opening the screen now properly loads all products into the product tree, but the user cannot edit them yet.
Sampling:
- Added: (case 10187) the plant auto-complete dropdown now only shows the user options for the set of plants that are selected.
- Changed: this screen is now called "Sampling History" in the main menu.
WorkOrders:
- Fixed: an issue where new work orders were saving the date, but not the time they were created.