New Features

This branch has the following features implemented: 
11839516 - Customer Type in Service Pro Overwritten to Default
This adds support for syncing customer types to Service Pro. Because this didn't exist before, existing customers will have customer types on ServicePro that do not exist locally. NOTE: This will require a minor data conversion on the Service Pro for existing users, which requires coordination with MSI.
11848775 - Update Enterprise Print Acknowledgement To Use The Crystal Report
Previously, we used email templates which are not as sophisticated as Crystal Reports.
11853189 - Combo Picker UDF Not Uploading to Service Pro Correctly
This adds support for "Combo Picker" custom fields in Service Pro. In BirdDog, we don't have a special field type for this as we support a values list on any of the field types. Since Service Pro considers the "Combo Picker" to be a string field, we added our support to our String field type. With this enhancement, if a String field type has no values, we upload it as a Text Input/String field type on ServicePro like we always have. However, if it has 1 or more values then we:
  • Create a matching field on ServicePro with a "Combo Picker" field type
  • Create a Custom Field List on ServicePro naming it with the format "{Field Name} List"
  • Add all of the field values to the previously created list
NOTE: Once a custom field has been updated from BirdDog to Service Pro, we won't change it so if you create a String field in BirdDog with no values, it will be uploaded as a Text Input/String to Service Pro. If you then add values to this field in BirdDog, it will NOT be changed to a "Combo Picker" on Service Pro. You will instead need to delete the field on Service Pro and it will then be re-created as a "Combo Picker" on the next connector run. This behavior is intentional to prevent accidental data loss on the Service Pro side.
11853788 - Add AR_Customer_bus to Sage Query System
Added AR_Customer_bus to the Sage 100 query. Additionally, added improvements to error reporting.
11855371 - Add Support For Available To Promise To GraphQL
Added availableToPromise property to the ItemLocation type in our GraphQL API. Also updated the GraphQL Item.defaultLocation property to support anonymous queries and fixed an issue where the anonymous customer wasn't being used for price calculations when not logged in.
11857096 - Add TaskId and ContactId Properties to GraphQl TimeSlipSearch Query
Enhancements to our GraphQL API. Added the following:
  • timeSlipSearch: added taskId and contactId arguments
  • TimeSlip type: added user, status, and durationHours properties
  • Added taskCategorySearch
  • Task type: added userId/user, startTimeSlip, estimatedHoursRemaining, taskCategoryId, dueDate, actualDurationHours/actualDurationText, lastUpdate/lastUpdateBy, and updated creation properties to standard names
  • Project type: added path and updated projectId/projectReferenceNo to be consistent
11858094 - Add Better Handling of Invalid Paths to the Sage 100 Connector
Add checks for the path being valid and for the pvxwin32.exe file being available for the Sage 100 connector. Before the connector will even run, it now validates that the path is valid and that it contains the pvxwin32.exe file that Sage 100 uses to execute. If the path is not valid, it will be more explicit about what the nature of the error actually is.