( Attr : Word)
Procedura SetRights nastavuje skupiny přístupových práv u zaměstnance, který je nahrán v paměti. Skupiny jsou ukládány pro aktuálně nastavený čas do tabulky RIGHTS. Podle těchto skupin je prováděno filtrování zaměstnanců vzhledem k právům uživatele , pro zvolené období. Jednotlivé bity určují, do které skupiny zaměstnanec patří. Bitů je 32 (0 .. 31) a některé z nich používá systém:
$8000 0000 | atRecDel | Věta je připravena ke smazání údržbou |
$2000 0000 | atAlways | Tento attribut věta bude vždy mít nastaven |
$1000 0000 | Neaktivní zaměstnanci | |
$0800 0000 | Připravení zaměstnanci |
Skupiny přístupových práv nejsou časem nikterak omezeny.
Kterou větu z tabulky RIGHTS systém použije, definuje aktuální období nastavitelné například procedurou SetActEnv.
Při přechodu na nový měsíc je nutno upravit přístupové atributy v novém měsíci. Jinak budou zaměstnanci nepřístupní!
Opakem SetRights je _GetRights.
Podívejte se na: Procedury a funkce pro pololožky
Příklad:
Naplňte do budoucnosti přístupový atribut podle obsahu historické položky O0810 pro aktuálního zaměstnance od aktuálního měsíce zpracování mezd do měsíce zadaného:
procedure AddRights ( VznikPP : Date) dim AM : Byte; dim SM : Word; dim SY : Word dim D,DC : Date; dim MyAttr : LongInt; dim SepMonth : Byte; dim SepYear : Word DC := VznikPP; DC[Day] := 1; D := _IncMonth(_Date(1, _LastMonth, _LastYear), 1); GetActEnv(AM, SM, SY); HstGetSep(SepMonth, SepYear); while DC > = D do SetActEnv(D[Month], D[Month], D[Year]); HstSetSep(D[Month], D[Year]); MyAttr := O[0810]; SetRights(MyAttr); D := _IncMonth(D,1); endwhile HstSetSep(SepMonth, SepYear); SetActEnv(AM, SM, SY); endproc