A Dokumentum modulban a Dokumentum módosításának engedélyezését értékeli az eljárás.
IktatóSzám |
A dokumentum iktatószáma |
Operator |
Operátor |
Engedély |
|
1 |
Változó definiálás:Proc_DKModEng.Gyűjtő Az IktatóSzám értékét a DKDokFej.IktatóSzám-ban meg kell keresni. A talált rekordból a DKDokFej.GyKód a Gyűjtő értéke. A kapott Gyűjtő kódot a DKGyűjtFej.GyKód között kell megtalálni. A talált rekordból a következő mezők értékétől függ az eredmény: MEngedély : ENUM 'Bárki|Senki|MegadottRészleg|MegadottSzemély|FelelősRészleg|FelelősSzemély' MEngRészleg : CWI 60 MEngSzemély : %SzemélyKódIg%BCD 8 <foreignkey:SzemélyTörzs.Kód> MEngSzemBes : CWI 60 RészlegBevitel : ENUM 'Nincs|Normál|Kötelező|Nem módosítható' |
||||||||||||
2 |
Változó definiálás: Proc_DKModEng.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 DKGyűjtFej.MEngedély=MegadottRészleg|MegadottSzemély|FelelősRészleg|FelelősSzemé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 dokumentumhoz. |
||||||||||||
|
SENKI |
||||||||||||
4 |
Ha MEngedély=Senki, akkor Engedély=Fals, vagyis nem módosítható a dokumentum. Vége az eljárásnak. |
||||||||||||
|
BÁRKI |
||||||||||||
5 |
Ha DKGyűjtFej.MEngedély=Bárki és MEngSzemBes nincs kitöltve akkor az Engedély=TRUE, vagyis engedélyezve van. |
||||||||||||
6 |
Ha DKGyűjtFej.MEngedély=Bárki és MEngSzemBes 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 hozzáférhet a dokumentumhoz. Proc_SzemelyBesorTag hívása: Bemenő paraméterek:
|
||||||||||||
|
AZ ALÁBBI SZEMÉLY (MegadottSzemély) |
||||||||||||
7 |
Ha a Személy értéket kapott és DKGyűjtFej.MEngedély=MegadottSzemély és DKGyűjtFej.MEngSzemély = Proc_DKModEng.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 módosíthatja. |
||||||||||||
8 |
Ha a Személy értéket kapott és DKGyűjtFej.MEngedély=MegadottSzemély és DKGyűjtFej.MEngSzemély # Proc_DKModEng.Személy, akkor meg kell hívni a Proc_HelyettesSzemely eljárást Ha a Proc_HelyettesSzemely.Helyettes = Proc_DKModEng.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 DKGyűjtFej.MEngedély=MegadottRészleg és DKGyűjtFej.MEngSzemBes=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 DKGyűjtFej.MEngedély=MegadottRészleg és DKGyűjtFej.MEngSzemBes 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
|
||||||||||||
|
A FELELŐS SZEMÉLY |
||||||||||||
11 |
Ha a Személy értéket kap és DKGyűjtFej.MEngedély=FelelősSzemély és DKGyűjtFej.MEngSzemBes nincs kitöltve. akkor kapott Proc_DKModEng.Iktatószám-ot a DKDokFej.IktatóSzám-ban kell megkeresni. DKDokFej.Személy értékével meg kell hívni a Proc_HelyettesSzemely eljárást. Ha a Proc_HelyettesSzemely.Helyettes = Proc_DKModEng.Személy, akkor TRUE. (Vagyis, ha a dokumentumban megadott felelős személy vagy a rendszerdátumnál megadott helyettese lépett be, akkor ők módosíthatják a dokumentumot.)
Proc_HelyettesSzemely hívása: Bemenő paraméterek
|
||||||||||||
12 |
Ha a Személy értéket kap és DKGyűjtFej.MEngedély=FelelősSzemély és DKGyűjtFej.MEngSzemBes ki van töltve és DKGyűjtFej.RészlegBevitel#Nincs akkor kapott Proc_DKModEng.Iktatószám-ot a DKDokFej.IktatóSzám-ban kell megkeresni. DKDokFej.Személy értékével meg kell hívni a Proc_HelyettesSzemely eljárást. Ha a Proc_HelyettesSzemely.Helyettes = Proc_DKModEng.Személy akkor TRUE az eredmény. Ha a Proc_HelyettesSzemely.Helyettes # Proc_DKModEng.Személy, akkor le kell futtatni a Proc_SzemelyBesorTag és a Proc_ReszlegTag eljárásokat Ha Proc_SzemelyBesorTag = TRUE és Proc_ReszlegTag = FALS, akkor FALS az eredmény Ha Proc_SzemelyBesorTag = FALS és Proc_ReszlegTag = FALS, akkor FALS az eredmény Ha Proc_SzemelyBesorTag = FALS és Proc_ReszlegTag = TRUE, akkor FALS az eredmény Ha Proc_SzemelyBesorTag = TRUE és Proc_ReszlegTag = TRUE, akkor TRUE az eredmény
Vagyis, ha a dokumentumban megadott felelős személy vagy a rendszerdátumnál megadott helyettese lépett be, vagy egy olyan személy, aki a dokumentumban megadott részlegbe tartozik és a besorolása megfelel a személy besorolás szűkítésnek, akkor ő is módosíthatja a dokumentumot.
Proc_SzemelyBesorTag hívása: Bemenő paraméterek:
Proc_ReszlegTag hívása: Bejövő paraméterek
Proc_HelyettesSzemely hívása: Bemenő paraméterek
|
||||||||||||
13 |
Ha a Személy értéket kap és DKGyűjtFej.MEngedély=FelelősSzemély és DKGyűjtFej.MEngSzemBes ki van töltve és DKGyűjtFej.RészlegBevitel=Nincs akkor kapott Proc_DKModEng.Iktatószám-ot a DKDokFej.IktatóSzám-ban kell megkeresni. DKDokFej.Személy értékével meg kell hívni a Proc_HelyettesSzemely eljárást. Ha a Proc_HelyettesSzemely.Helyettes = Proc_DKModEng.Személy akkor TRUE az eredmény. Ha a Proc_HelyettesSzemely.Helyettes # Proc_DKModEng.Személy, akkor le kell futtatni a Proc_SzemelyBesorTag eljárást. Ha Proc_SzemelyBesorTag = TRUE, akkor TRUE az eredmény, Ha Proc_SzemelyBesorTag = FALS, akkor FALS az eredmény
Vagyis, ha a dokumentumban megadott felelős személy vagy a rendszerdátumnál megadott helyettese lépett be, vagy egy olyan személy, akinek a besorolása megfelel a személybesorolás szűkítésnek, akkor ő is módosíthatja a dokumentumot.
Proc_SzemelyBesorTag hívása: Bemenő paraméterek:
Proc_HelyettesSzemely hívása: Bemenő paraméterek
|
||||||||||||
|
A FELELŐS RÉSZLEG |
||||||||||||
14 |
Ha a Személy értéket kap és DKGyűjtFej.MEngedély=FelelősRészleg és DKGyűjtFej.MEngSzemBes nincs kitöltve.
akkor kapott Proc_DKModEng.Iktatószám-ot a DKDokFej.IktatóSzám-ban kell megkeresni. A megtalált rekordból a Részleg mező értékével kell meghívni a Proc_ReszlegTag eljárást (lásd alább), és az eljárás eredményét kell átvenni eredménynek. Bemenő paraméterek
|
||||||||||||
15 |
Ha a Személy értéket kap és DKGyűjtFej.MEngedély=FelelősRészleg és DKGyűjtFej.MEngSzemBes ki van töltve.
akkor kapott Proc_DKModEng.Iktatószám-ot a DKDokFej.IktatóSzám-ban kell megkeresni. A megtalált rekordból a Részleg mező értékével kell meghívni a Proc_ReszlegTag eljárást (lásd alább), és ha annak eredmény FALS, akkor vége az eljárásnak. 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 felelős részlegbe, de ott nincs megfelelő besorolása, akkor nem férhet hozzá a dokumentumhoz.
Bejövő paraméterek
Proc_ReszlegTag hívása: Bejövő paraméterek
|
||||||||||||
|
Átiktatás vizsgálat |
||||||||||||
16 |
Ha a DKDokFej Típus=2, akkor a Dokumentumot nem lehet módosítani. Ki kell írni a következőt: A Dokumetumot nem lehet módosítani, mert át lett iktatva a követketkező dokumetumra: ÁtiktDokszám
|