Changelog
All notable changes to the Service Order Lockout extension are documented in this file. For detailed change documents, see the linked files below.
[1.1.0.0] - 2026-02-27
Change Document: CHANGE-v1.1.0.0.md
Fixed
- Inverted permission check blocked all CS users with the BW-CS-SERVICE role (CRITICAL)
- BW-CS-SERVICE permission set referenced but never defined in the extension (CRITICAL)
- Open By User ID field truncated usernames longer than 30 characters, causing permanent lock-ups
CurrPage.Update(false)inOnAfterGetRecordon Service Orders list created an infinite render loop- Internal control fields (Check Status, Open By User ID) visible on the Service Order card
- Permission check silently bypassed when user not found in User table
- Dead code in event subscriber codeunit —
RunTriggerassignment had no effect - Unnecessary
OnModifyRecordtrigger causing page refresh flicker - Data classification fields changed from
ToBeClassifiedto appropriate values - Live Status field missing
Captionproperty - Upgrade codeunit ran on every upgrade — added version guard for v1.0 → v1.1 only
- Record navigation (Next/Previous) left previous record locked and didn't lock the new record
- SUPER users without explicit BW-CS-SERVICE assignment were blocked from opening Service Orders
GetSetup()could throw a primary key violation on concurrent initialization- Live Status bound to persistent table field — rebound to page variable to prevent stale values
- Permission error message now names the specific permission set for self-diagnosis
Added
- Stale lock auto-release after configurable timeout (default: 4 hours)
- Release Lock action for SUPER users to manually clear stuck locks
- Service Order Lockout Setup page (enable/disable toggle, timeout configuration)
- BW-CS-SERVICE permission set (permissionset 52401)
- Upgrade codeunit to clear all active locks during v1.0 → v1.1 migration
Changed
- Live Status column now computed from a page variable instead of a persistent table field
idRangestightened from 52400–999999 to 52400–52499
Removed
- Event subscriber codeunit (
event2/ codeunit 52400) — dead code with no functional effect - Old v1.0.0.0 source subfolder (
Sataware_Tech_Serviceorder_Status/)
Migration Notes
- Assign BW-CS-SERVICE permission set to all CS users before upgrading
- Upgrade codeunit will clear all active locks during v1.0 → v1.1 migration — coordinate timing
[1.0.0.56] - 2026-01-15
Initial release by Sataware Technologies. Adds record-level locking to Service Orders so only one CS representative can edit a given order at a time.