Skip to main content

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) in OnAfterGetRecord on 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 — RunTrigger assignment had no effect
  • Unnecessary OnModifyRecord trigger causing page refresh flicker
  • Data classification fields changed from ToBeClassified to appropriate values
  • Live Status field missing Caption property
  • 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
  • idRanges tightened 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.