Release: December 9th, 2021
NEW FEATURES
MR Status Change Notification - Added an option to disable the notification of a Project MR Status Change to the author of the MR.
Export to Xero
Revised workflow to use OAuth 2.0 PKCE
Modified workflow so that vendors and tax rates that do not have a corresponding match in the Xero company are created during the upload.
Added exports for PO and Project Invoices
Project Cost Change Order Link - Added controls to manually modify the Change Order column on Budget records on the Project Cost form. You can only add new links to Approved Change Orders because Budget records are not displayed for Change Orders that are not Approved. This link is automatically created when the Budget records are created via the Change Order Detail window. This new functionality has only been added for scenarios where the Budget records are created manually and need to be linked to a Change Order afterwards.
Force Portrait for Labels - When printing labels to some printers (i.e. Zebra), a label with a width greater than the height may get rotated by the printer regardless of the report layout. To avoid this behavior you can add an Parameter named ‘ForcePortrait’ to the report definition using Report Builder and the page settings will be revised when the report is loaded. Configure the Parameter with the following settings.
Data type: Boolean
Allow null value: Checked
Visibility: Internal
Manifest Import Parameter - Added functionality to add a popup selection list for a parameter when importing from a non-CSV data source.
Email Group Cc and Bcc - When creating Project Email Groups you can indicate if addresses should be included as a Cc or Bcc.
Stock Check Reports - Added a new parameter SelectedItemIDs to reports ran from the Stock Check tab on the Inventory form so you can filter only highlighted rows.
Timeclock App
Added a new setting on the Timeclock titled 'Clock Default on Task Done'. When this is enabled and a user completes a task that they are currently clocked into they will be clocked into their default department and operation without a task so they are no longer adding hours to the task but are still logging hours.
Added a new barcode option %%DFT to clock the user into their default department and operation without a Project, Phase or Task.
Timeclock Filters - Added filters to the Timeclock form for users who have permission to edit labor hours.
RFI Rich Text - Added rich text to RFIs. The following formatting is available: Bold, Italic, Underline, Bulleted List, Numbered List, Left/Center/Right Text Alignment and Font Color. Two new fields are added to the Project_RFI table, BodyXAML and BodyHTML. BodyXAML stores a binary XAML package and BodyHTML stores HTML formatted text that can be rendered by Report Viewer when the Markup type on a Placeholder is set to HTML.
Inventory
Added a new field to Inventory for Type.
To aid in the process of doing hard counts on inventory, a new Transaction Type has been added for Verification. Right-click an Inventory Item and select Verify Quantity to create a verification transaction. There is a new column in the Inventory list that shows the most recent verification date.
Email Service Retry - The Email Service has been modified to attempt to send messages multiple times before failing. The number of retries before failing can be modified in the Email Service settings.
Phase Status on Complete - Added a setting named ‘PhaseStatusOnComplete’ that can be set to the ID number of a record from the Project_Phase_Status table to automatically change a Phase to that Status when it is marked as Done.
Dashboard App - When the Dashboard app opens it will select the last report that was ran so that you can set up different reports on different workstations and they will load the same report when the workstation is rebooted.
Rename Folders on Change - When some items change (i.e. Project, Phase, etc.) an attempt is made to rename the linked folder. New settings have been added to Settings table to disable this behavior. The settings have a prefix of “FolderRenameOnChange_” followed by the item type (Example: “FolderRenameOnChange_Project”)
Change Order Status - Added a ‘Reviewed’ status to Change Orders between Pricing and Sent as well as a Reviewed Date column. This step is used if there is a Review step between Pricing and Sending the Change Order.
To Do List - The To Do List that was available via the Crows Nest Quickview app has also been added to the main client app as well. It can be opened under View-->To Do List
Task Priority - Added a Priority Column that stores an integer value. You can add this column to Task Filters. Also modified the sort behavior on the Task Overview form so that when sorting by a Priority column blank values will be sorted to the bottom of the list first, then the items with a priority will be sorted. On the Task Overview filter you can highlight multiple rows and right-click and Edit Priority to enter a priority value for the selected Tasks. Enter a blank string to clear the priority.
Project Accounting ID - Added an Accounting ID field to Projects for entering in a corresponding ID from an external Accounting system.
Business Filter by Address - The filters by City, State and Zip on the Business form now will now search the Additional addresses on a Business, not just the Main address.
Pick Tickets - The Pick Ticket table on the Project Form now has a Show/Hide columns right-click option and the column order/width are sticky.
Receiving - On the Receiving tab on the Inventory form, you can select individual cells instead of full rows so you can see a sum total of selected cells on the bottom right of the main client window.
Task Deletion Auditing - Added auditing to the Task table for Deletion only. Copies of deleted tasks will be stored in the audit.Task table.
Project Parts/Colors - Added an Approved On column to both of these tables that pulls from the audit records to display the date the item was approved.
FIXES FOR KNOWN ISSUES
An error was occurring when the employee notification window was attempting to refresh after the user had recently been logged out. The error is: Object reference not set to an instance of an object.
Error Message: Object reference not set to an instance of an object.
Exception Contains: CrowsNest.Form_Employee_Notification.VB$StateMachine_<random number>_LoadNotifications.MoveNext
The employee notification window was reverting the refresh rate to 30 seconds each time a user logged in.
Right-clicking and copying the notes on the Project Notes/Search table when no notes were loaded threw an error: Value cannot be null.
When the system updated file links either from a detected change or from the search and replace on the folders tab in options, an error would occur and prevent the query from running if there was an apostrophe in the folder path
Modified the process for opening Updated file opening for file paths longer than 259 characters. Opening files with apps that don’t honor long file paths will still not work.
Project Invoice Items Copy to Clipboard right-click menu option was throwing an error on some line items
When using a Barcode to clock into a Phase on the Timeclock app it was not populating the Project on the labor record.
If the last view a user had selected on the Phase form was deleted, the next time the user opened the form an error occurred and a new View had to be selected.
The Sort By options on the Task subtrees were not sorting correctly
In some cases, when SOV items are populated with a default % done, the amount done was not populating. Also, when a Unit Value was entered, it was not triggering a recalc of the amount done.
The setting DB_TimeoutPeriod was not being honored in some situations.
In some scenarios, using a Barcode to clock in was not applying the correct rounding settings.
In some scenarios, if a daily and hourly overtime threshold were both exceeded in the same day, then the RT and OT calculations were incorrect.
Selecting an image for an employee on the employee form was allowing selection of any file type and throwing an error if a non-image file type was selected.
The Notification for Completed Tasks was not honoring the setting to disable them
The setting to prevent/warn when receiving a PO Item with a zero price was not being honored on the Receiving tab of the Inventory form when using the Receive… function.
The query that starts the process of updating task dates was optimized to speed up the process.