FYI,
I've just gone through a new upgrade to v2021.1 on the weekend with strange errors opening Invoice/Shipping entry, and again after choosing an SO. Sage support pointed me at *ESC to isolate the issue to scripting, and I found the problems to be a Column Post-Validate script (SalesOrderNo) triggering earlier than it used to.
- Error @12: File does not exist (or already exists) File: BM_Options
- Note, customer doesn't have BM, but it was pre-installed on SPC so that was a big waste of time chasing the false error text to nowhere.
- IM_ItemWarehouse does not have correct permissions.
- Click Info>> Error #13: File access mode invalid... SY_Maint.pvc Line 729
- Click Retry and it scrolls through different Last File Name values (other than IM_IW) with the same error #13.
The error 12 was when opening the panel before the batch selection (so obviously there is no invoice / SO#...) and the error 13 came after setting an SO#, but before the CustomerNo was actually loaded in memory. The script itself does a GetChildHandle on CustomerNo (and UDT lookup too), and I think trying to open the objects too early is the issue. Adding script filters to stop the script trying to run without the required values in memory seems to have fixed the errors.
The exact script functioned just fine on their v2019 prior to the upgrade, so there must have been some kind of recent change in the Sage programming related to script event triggers.
Posting here to help everyone else chasing down the misleading error messages.