Zárolások ideiglenes feloldásának lehetősége
Új funcióval bővítettük a rendszerünket:
Egy adott műveletre (un. tranzakcióra) ideiglenesen kikapcsolható a zárolást (blokkolást) ellenőrző funkcionalitás. Ez a feloldás objektum-szinten ellenőrzött keretek között történik, külön jogosultság beállításokkal levédve.
Kikapcsolt állapotban azok a rekordok is használhatóak műveletekben, amelyek zároltak (és a felhasználónak van ehhez jogosultsága).
Példák:
- Banki tranzakcióban (jóváíráskor) egy zárolt partner (vevő) is megadható
- Stornó számla esetén egy zárolt időszak ideiglenesen feloldható.
- Egy zárolt felelőst (személyt) tartalmazó rendelés lezárható utólag, nem kell ehhez a felelős zárolását feloldani.
A feloldáshoz az Adatok menübe raktunk egy új menüpontot: „Zárolás ideiglenes feloldása”
A feloldás bekapcsolásakor a menü szövege átvált „Zárolás visszaállítása”-ra, és a panel fejlécében megjelenik egy figyelmeztető jelzés: „Zárolás ideiglenesen feloldva!”.
Ez a feloldás úgynevezett context-sensitive módon van eltárolva. Azaz csak ahhoz a panelra (ill. az ő „child”-paneljaira) van érvényben, ahol ezt bekapcsolták. Más panelokon a zárolás funkció változatlanul funkcionál.
Fontos, hogy ha a felhasználó bekapcsolja a feloldást, akkor csak az utána következő tranzakcióra (bármit is csinál) lesz csak érvényben a feloldás. A tranzakció lezárásakor a kapcsoló visszamegy alapértelmezett (false) állapotba.
Példa: Egy rendelést le akarunk zárni, de figyelmeztet a rendszer, hogy a felelős zárolt. Ekkor feloldhatjuk a zárolást. Majd lezárjuk a rendelést, és után a a feloldás automatikusan kikapcsolódik, tehát megint az eredeti funkcionalitással működik k a rendszer.
Az Adatok menüben levő „Zárolás ideiglenes feloldása” kapcsolót külön funkció-jogosultság („Zárolás feloldása funkció”) vezérli. Minden felhasználónak egy helyen lehet (Eszközök alatt) erre jogosultságot adni.
Felhasználónként és objektumonként külön vezérelhető, hogy az adott objektum zárolásának feloldására van-e jogosultsága az adott felhasználónak.
Azaz például a fenti példa esetén (rendelés lezárás, felelős zárolt) a Személy (PPL) objektumra kell bekapcsolni az ideiglenes feloldás kapcsolót.
Tranzakció közben ha egy adott rekord (pl. személy) zárolt, akkor a következő szabály rendszer alapján működik a zárolás funkció:
- Ha a Zárolás ideiglenes feloldása ki van kapcsolva, akkor blokkol
- Ha a felhasználónak nincs a Zárolás feloldása funkció-ra jogosultsága, akkor blokkol
- Ha az adott blokkolt rekordhoz (pl. személy) tartozó felhasználói jogosultságban a Zárolás feloldható kapcsoló ki van kapcsolva, akkor blokkol. Ez az aktuális felhasználói jogosultságot nézi.