A Dokumentum modulban a Dokumentum módosítás és lekérdezés üzemmdójában a Szűrésváltozatok engedélyezését értékeli az eljárás.
Az eljárást meghívó funkció az összes szűrésváltozatra kiértékeli, hogy a megadott személy jogosult-e a használatára.
SzűrNév |
A szűrés változat neve. |
Operator |
Operátor |
Engedély |
|
1 |
Változó definiálás:Proc_DKSzurEng. Az SzűrNév értékét a DKDokSzűrFej.SzűrNév-ben meg kell keresni. A talált rekordból a következő mezők értékétől függ az eredmény: SEngedély : ENUM 'Bárki|Senki|MegadottRészleg|MegadottSzemély|FelelősRészleg|FelelősSzemély' SEngRészleg : CWI 60 SEngSzemély : %SzemélyKódIg%BCD 8 <foreignkey:SzemélyTörzs.Kód> SEngSzemBes : CWI 60 |
||||||||
2 |
Változó definiálás: Proc_DKSzurEng.Személy : %SzemélyKódIg%BCD 8 <foreignkey:SzemélyTörzs.Kód> Személy=A kapott Operátor kódot a SzemélyTörzs.Operátor állományban kell megkeresni. |
||||||||
3 |
Ha Személy nem kapott értéket és DKDokSzűrFej.SEngedély=MegadottRészleg|MegadottSzemély akkor az Engedély=FALS, vagyis nincs engedélyezve. Vagyis, ha az Operátor nem lehetett egy személlyel azonosítani, akkor a fenti értékek esetén biztos, hogy nincs joga a szűréshez. |
||||||||
|
SENKI |
||||||||
4 |
Ha SEngedély=Senki, akkor Engedély=Fals, vagyis nincs joga a szűréshez. Vége az eljárásnak. |
||||||||
|
BÁRKI |
||||||||
5 |
Ha DKDokSzűrFej.SEngedély=Bárki és SEngSzemBes nincs kitöltve akkor az Engedély=TRUE, vagyis engedélyezve van. |
||||||||
6 |
Ha DKDokSzűrFej.SEngedély=Bárki és SEngSzemBes ki van töltve akkor le kell futtatni a Proc_SzemelyBesorTag eljárást és annak az eredménye szerint zárul ez az eljárás. Vagyis, ha a Személy beletartozik a besorolásba, akkor . Proc_SzemelyBesorTag hívása: Bemenő paraméterek:
|
||||||||
|
AZ ALÁBBI SZEMÉLY (MegadottSzemély) |
||||||||
7 |
Ha a Személy értéket kapott és DKDokSzűrFej.SEngedély=MegadottSzemély és DKDokSzűrFej.SEngSzemély = Proc_DKSzurEng.Személy, akkor az Engedély=TRUE, vagyis engedélyezve van (Vagyis ha pont az a személy jelentkezett be, akire az engedély szól, akkor használhatja. |
||||||||
8 |
Ha a Személy értéket kapott és DKDokSzűrFej.SEngedély=MegadottSzemély és DKDokSzűrFej.SEngSzemély # Proc_DKSzurEng.Személy, akkor meg kell hívni a Proc_HelyettesSzemely eljárást Ha a Proc_HelyettesSzemely.Helyettes = Proc_DKSzurEng.Személy értékével, akkor akkor az Engedély=TRUE, vagyis engedélyezve van, egyébként FALS (Vagyis ha pont a dokumentumhoz jogosult személy helyettese jelentkezett be, akkor a helyettes is jogosult lesz.) Proc_HelyettesSzemely hívása: Bemenő paraméterek
|
||||||||
|
AZ ALÁBBI RÉSZLEG (MegadottRészleg) |
||||||||
9 |
Ha a Személy értéket kapott és DKDokSzűrFej.SEngedély=MegadottRészleg és SEngSzemBes nincs kitöltve akkor a le kell futtatni a Proc_ReszlegTag eljárást (lásd alább), és az eljárás eredményét kell átvenni eredménynek. Proc_ReszlegTag hívása: Bejövő paraméterek
|
||||||||
10 |
Ha a Személy értéket kapott és DKDokSzűrFej.SEngedély=MegadottRészleg és SEngSzemBes ki van töltve. akkor a le kell futtatni a Proc_ReszlegTag eljárást (lásd alább), ha annak eredménye FALS, akkor vége. Ha a Proc_ReszlegTag.Engedély= TRUE, akkor le kell futtatni a Proc_SzemelyBesorTag eljárást is. és ebben az esetben már Proc_SzemelyBesorTag eljárás eredményét kell átvenni eredménynek. Vagyis, ha a Személy beletartozik ugyan a részlegbe, de ott nincs megfelelő besorolása, akkor nem férhet hozzá a dokumentumhoz.
Proc_SzemelyBesorTag hívása: Bemenő paraméterek:
Proc_ReszlegTag hívása: Bejövő paraméterek
|