A Dokumentum modulban iktatott dokumentumok leszűrésre szolgáló rekord kiértékelése folyik az eljárásban. A cél azoknak az Iktatószámonak a meghatározása, amelyekláthatók lesznek az index ablakban.
Bemenő paraméterek
összes Kontroll-ja |
|
Iktatószám |
|
Engedély |
|
|
A Rendezettség kontrollban meghatározott indexen kell végig menni a DKDokFej állományon és minden Iktatószámra ki kell értékelni az alábbi eljárást. Minden egyes vizsgálati pont vagy engedélyezi a rekordot (TRUE értéket adva) vagy tiltja a rekordot (FALS). Ha egy FALS értékre fut abba lehet hagyni a kiértékelés: Nincs engedélyezve a dokumentum. |
||||||||||||||||||
|
Változó definiálás: Proc_DKSzur.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. |
||||||||||||||||||
|
A következőkben a DK_DKSZ_Ablak Form egyes Kontrolljanak a vizsgálata történik. |
||||||||||||||||||
|
SZEMÉLY és RÉSZLEG vizsgálat (DK_DKSZ_Ablak.DS1AlapSzur, DS1Szemely, DS1ReszlegK, DS1SzemelyB) |
||||||||||||||||||
1 |
Ha DK_DKSZ_Ablak.DSZ1AlapSz1 = Összes és DK_DKSZ_Ablak.DSZ1SzemeT1= üres, akkor TRUE |
||||||||||||||||||
2 |
Ha DK_DKSZ_Ablak.DSZ1AlapSz1 = Összes és DK_DKSZ_Ablak.DSZ1SzemeT1 ki van töltve és DK_DKSZ_Ablak.DSZ1SzemeT1 = DkDokFej. Személy, akkor TRUE, egyébként FALS |
||||||||||||||||||
3 |
Ha DK_DKSZ_Ablak.DSZ1AlapSz1 = Összes és DK_DKSZ_Ablak.DSZ1ReszlK1 nincs kitöltve, akkor TRUE |
||||||||||||||||||
4 |
Ha DK_DKSZ_Ablak.DS1AlapSzur = Összes és DK_DKSZ_Ablak.DS1ReszlegK ki van töltve, akkor DK_DKSZ_Ablak.DSZ1ReszlK1-ben megadott részlegképltet ki kell értékelni, ha DkDokFej. Részleg tagja a képlet eredményének, akkor TRUE, egyébként FALS |
||||||||||||||||||
5 |
Ha DK_DKSZ_Ablak.DS1AlapSz1 = Összes|Részleg és DK_DKSZ_Ablak.DS1SzemBK nincs kitöltve, akkor TRUE |
||||||||||||||||||
6 |
Ha DK_DKSZ_Ablak.DSZ1AlapSz1 = Összes|Részleg és DK_DKSZ_Ablak.DSZ1SzemBK ki van töltve, akkor DK_DKSZ_Ablak.DSZ1SzemBK-ben megadott Személybesorolásképletet ki kell értékelni, ha DkDokFej. Személy tagja tagja valmelyik besorolásnak, akkor TRUE, egyébként FALS |
||||||||||||||||||
7 |
Ha DK_DKSZ_Ablak.DSZ1AlapSz1 = Személy és Proc_DKSzur.Személy#DKDokFej.Személy , akkor le kell futtatni a Proc_HelyettesSzemely eljárást: Bemenő paraméterek
Ha az Proc_HelyettesSzemely.Helyettes = Proc_DKSzur.Személy, akkor TRUE, egyébként FALS "Azok a dokumentumok láthatók, amelyekben a bejelentkezett felhasználó a felelős személy vagy a bejelentkezett felhasználó a helyettese a dokumentumban megadott felelős személynek." |
||||||||||||||||||
8 |
Ha DK_DKSZ_Ablak.DS1AlapSz1 = Részleg ,akkor le kell futtatni a Proc_ReszlegTag eljárás: Bemenő paraméterek
A Proc_ReszlegTag eljárás eredményétől függően lesz TRUE vagy FALS "Azok a dokumentumok láthatók, amelyben a bejelentkezett felhasználó tagja annak a részlegnek, amelyik a dokumentum felelős részleg mezőjében meg van adva." |
||||||||||||||||||
|
ÁLLAPOT VIZSGÁLAT (DK_DKSZ_Ablak.DSZ1Allapo1) |
||||||||||||||||||
9 |
Ha DK_DKSZ_Ablak.DSZ1Allapo1=Összes, akkor mindegy mi a DKDokFej.Állapot értéke, TRUE az érték |Rögzítve|Folyamatban|Elintézve|Visszautasítva|RögzítveVFolyamatban' Állapot : ENUM 'Összes|Rögzítve|Folyamatban|Elintézve|Visszautasítva|RögzítveVFolyamatban' |
||||||||||||||||||
10 |
Ha DK_DKSZ_Ablak.DSZ1Allapo1=Rögzítve|Folyamatban|Elintézve|Visszautasítva és DKDokFej.Állapot=DK_DKSZ_Ablak.DSZ1Allapo1, akkor TRUE az érték, egyébként FALS |
||||||||||||||||||
11 |
Ha DK_DKSZ_Ablak.DSZ1Allapo1=RögzítveVFolyamatban, és DKDokFej.Állapot=Folyamatban|Rögzítve, akkor TRUE az érték, egyébként FALS |
||||||||||||||||||
|
ELINTÉZÉS VIZSGÁLAT |
||||||||||||||||||
12 |
Ha DK_DKSZ_Ablak.DSZ1ElintV1=NemKell, akkor TRUE az érték |
||||||||||||||||||
13 |
Ha DK_DKSZ_Ablak.DSZ1ElintV1=HatIdőnTúl és DKDokFej.Állapot=Elintézve és DKDokFej.HatáridőD + HatáridőIdő < DKDokFej.ElintézésD + ElintézésIdő, akkor TRUE, egyébként FALS "Csak azokat a dokumentumokat listázza a program, amelyek elintézés időpontja későbbi, mint a dokumentum elintézésre adott határidő." |
||||||||||||||||||
14 |
Ha DK_DKSZ_Ablak.DSZ1ElintV1=HatIdőElőtt és DKDokFej.Állapot=Elintézve és DKDokFej.HatáridőD + HatáridőIdő >= DKDokFej.ElintézésD + ElintézésIdő, akkor TRUE, egyébként FALS Csak azokat a dokumentumokat listázza a program, amelyek elintézés időpontja korábbi, mint a dokumentum elintézésre adott határidő |
||||||||||||||||||
15 |
Ha DK_DKSZ_Ablak.DSZ1ElintV1=MaiNap és DKDokFej.Állapot=Elintézve és DKDokFej.ElintézésD= Rendszerdátum, akkor TRUE, egyébként FALS Csak azokat a dokumentumokat listázza a program, amelyek elintézésének dátuma a rendszerdátummal megegyezik. |
||||||||||||||||||
16 |
Ha DK_DKSZ_Ablak.DSZ1ElintV1=Intervallum és DKDokFej.Állapot=Elintézve és DK_DKSZ_Ablak.DSZ1ElintD1< = DKDokFej.ElintézésD <= DK_DKSZ_Ablak.DSZ1ElintD2, akkor TRUE, egyébként FALS |
||||||||||||||||||
|
HATÁRIDŐ VIZSGÁLAT |
||||||||||||||||||
17 |
Ha DK_DKSZ_Ablak.DSZ1HatIdV1=NemKell, akkor TRUE az érték |
||||||||||||||||||
18 |
Ha DK_DKSZ_Ablak.DS1HatIdV1=HatIdőnTúl és DKDokFej.Állapot#Elintézve és DKDokFej.HatáridőD + HatáridőIdő < Rendszer dátum + rendszeridő, akkor TRUE, egyébként FALS Azok a dokumentumok jelennek meg, amelyekben a megadott határidő a rendszerdátumnál és a rendszeridőnél korábbi. |
||||||||||||||||||
19 |
Ha DK_DKSZ_Ablak.DSZ1HatIdV1=HatIdőnElőtt és DKDokFej.Állapot#Elintézve és DKDokFej.HatáridőD + HatáridőIdő >= Rendszer dátum + rendszeridő, akkor TRUE, egyébként FALS Azok a dokumentumok jelennek meg, amelyekben a megadott határidő a rendszerdátumnál és a rendszeridőnél későbbi.
A következő intervallumba van a dokumentum határideje Szabadon meg lehet adni a dokumentum határidőre vonatkozó intervallumot. |
||||||||||||||||||
20 |
Ha DK_DKSZ_Ablak.DSZ1HatIdV1=MaiNap és DKDokFej.Állapot#Elintézve és DKDokFej.HatáridőD = Rendszer dátum , akkor TRUE, egyébként FALS Csak azok a dokumentumok jelennek meg, amelyekben a megadott határidő megegyezik a rendszerdátummal. |
||||||||||||||||||
21 |
Ha DK_DKSZ_Ablak.DSZ1HatIdV1=KövXNap és DKDokFej.Állapot#Elintézve és Rendszer dátum <= DKDokFej.HatáridőD <= (Rendszer dátum + DK_DKSZ_Ablak.DSZ1HatIdN1), akkor TRUE, egyébként FALS Azok a dokumentumok jelennek meg, amelyekben a megadott határidő vagy megegyezik a rendszerdátummal vagy a megadott napok számával nagyobb mint a rendszerdátum. |
||||||||||||||||||
22 |
Ha DK_DKSZ_Ablak.DSZ1HatIdV1=Intervallum és DKDokFej.Állapot#Elintézve és DK_DKSZ_Ablak.DSZ1HatIdD1< = DKDokFej.HatáridőD <= DK_DKSZ_Ablak.DSZ1HatIdD2, akkor TRUE, egyébként FALS |
||||||||||||||||||
|
BIZONYLATSZÁM VIZSGÁLATOK (DK_DKSZ_Ablak.DSZ1BizTip? + DSZ1BizSza? + DSZ1KerMod?) |
||||||||||||||||||
23 |
A DK_DKSZ_Ablak.DSZ1BizTip? + DSZ1BizSza? + DSZ1KerMod? kontroll csoportból 4 darab van (egyelőre) a kontrollon. Mind a 4 csoportot ki kell értékelni az alábbiak szerint. |
||||||||||||||||||
24 |
Az azonos DSZ1BizTip? értékkel rendelkező biztipusokat egymás után kell kiértékelni. Azonos BizTípuson belül bármelyiknek megfelel a bizonylat, akkor TRUE lesz az érték. Pl.: Ha DSZ1BizTip1=Cikkszám és DSZ1BizTip4=Cikkszám és az egyiknek FALS lenne az eredménye, attól még me kell vizsgálni a másikat is, mert ha az TRUE, akkor maradhat az iktatószám. Természetesen, ha egy BizTípuson belül minden érték FALS, akkor FALS a kiértékelt Iktatószám. |
||||||||||||||||||
25 |
Ha DK_DKSZ_Ablak.DSZ1BizTip?# Dokumentum DK_DKSZ_Ablak.DSZ1BizTip?+DSZ1BizSza? aktuális értékét az aktuális Iktatószámra szükítve meg kell keresni DKDokBiz.BizTípus-ban: Ha talál olyan rekordot ahol DK_DKSZ_Ablak.DSZ1BizSza? = DKDokBiz.Bizszám és DK_DKSZ_Ablak.DSZ1BizTip? = DKDokBiz.BizTípus, akkor TRUE, egyébként FALS
BizTípus-onként külön kiértékelési eljárás történik!!! Azonos BizTípuson belül bármelyiknek megfelel a bizonylat, akkor TRUE lesz az érték. |
||||||||||||||||||
25+1 |
- Ha DK_DKSZ_Ablak.DSZ1BizTip? = Dokumentum és DK_DKSZ_Ablak.DSZ1KerMod?=Önmaga és az aktuálisan vizsgált Iktatószám = DK_DKSZ_Ablak.DSZ1BizSza?, akkor TRUE, egyébként FALS (Vagyis saját magát beleteszi az eredménybe)
Amennyiben arra vagyunk kiváncsiak, hogy melyek azok a dokumentumok, amelyek egy másik dokumentummal össze lettek kapcsolva, meg lehet adni egy dokumentum iktatószámát. Közvetlen keresés ezetén csak azokat a dokumetumokat találja meg a program, amelyek a megadott dokumentumhoz lettek kapcsolva. Közvetet keresés esetén már azokat a dokumentumokat is megtalálja, amelyekhez egy olyan dokumentum tartozik, amelyben a keresett dokumentum volt megadva kapcsolódó dokumentumként. Pl.:
Ha 10-re szűrünk, akkor Közvetlen keresés esetén a 10, 11, 12 lesz az eredmény Közvetett keresés esetén: 10, 11, 12, 14 (14 azért került bele, mert a hozzá kapcsolt 11-hez kapcsolódik a 10, vagyis Közvetetten kapcsolódnak egymáshoz.)
|
||||||||||||||||||
25+2 |
- Ha DK_DKSZ_Ablak.DSZ1BizTip? = Dokumentum és DK_DKSZ_Ablak.DSZ1KerMod?=KözvetlenIs és az aktuálisan vizsgált Iktatószám = DK_DKSZ_Ablak.DSZ1BizSza?,, akkor TRUE, egyébként megy tovább a vizsgálat Ha DK_DKSZ_Ablak.DSZ1BizTip?+DSZ1BizSza? aktuális értékét az aktuális Iktatószámra szükítve meg kell keresni DKDokBiz.BizTípus-ban: Ha talál olyan rekordot ahol DK_DKSZ_Ablak.DSZ1BizSza? = DKDokBiz.Bizszám és DK_DKSZ_Ablak.DSZ1BizTip? = DKDokBiz.BizTípus, akkor TRUE, egyébként FALS |
||||||||||||||||||
25+3 |
- Ha DK_DKSZ_Ablak.DSZ1BizTip? = Dokumentum és DK_DKSZ_Ablak.DSZ1KerMod?=KözvetettIs és az aktuálisan vizsgált Iktatószám = DK_DKSZ_Ablak.DSZ1BizSza?, akkor TRUE, egyébként megy tovább a vizsgálat - (közvetett kiértékelés) DK_DKSZ_Ablak.DSZ1BizTip?+DSZ1BizSza? aktuális értékét az aktuális Iktatószámra szükítve meg kell keresni DKDokBiz.BizSzam-ban: Fel kell jegyezni az összes DKDokBiz.Bizszám értéket egy táblázatba. A táblázat lévő bizonylatszám értékét DKDokFej.Iktatószám-ként kell majd értelmezni (mert az is) Ha talál olyan rekordot ahol DK_DKSZ_Ablak.DSZ1BizSza? = DKDokBiz.Bizszám és DK_DKSZ_Ablak.DSZ1BizTip? = DKDokBiz.BizTípus, akkor TRUE, egyébként megy tovább - (Ez lesz a közvetett kiértékelés) A közvetlen kiértékelés során feltöltött táblázat elemein sorban kell végig menni. A soron következő elemet a közvetett kiértékelésben leírtakkal kell kiértékelni. Ha egy elem már szerepel a táblázatban akkor azt nem kell újra felvenni. A kiértékelés akkor TRUE, ha találunk egy elemeit is, amire TRUE lett a közvetlen kiértékelés. (De a TRUE az eredetileg vizsgált Iktatószám lesz, nem az amire a közvetett kapcsolat irányult!!!!) FALS akkor lesz, ha a táblázat minden elemén végig ment és egyszersem lett TRUE
Példa:
Pl.:
Ha 10-re szűrünk, akkor Önmagára törénő kereséskor az eredmény 10 lesz KözvetlenIs keresés esetén: 10, 11, 12 KözvetettIs esetén: 10, 11, 12, 14, 15, 17 az eredmény 14 azért került bele, mert a hozzá kapcsolt 11-hez kapcsolódik a 10, vagyis Közvetetten kapcsolódnak egymáshoz.) 17 azért került bele, mert kapcsolódik a 15höz, amihez kapcsolódik a 11 és a 11-hez kapcsolódik a 10
17 vizsgálata részletesen: 1. A táblázat elemei 16 - FALS 15 - FALS 2. A 16. kiértékelés során a táblázat nem bővül 3, 15. kiértékelése során a táblázat végére kerül a 11 és 12 4, A 11-bene van a 10 TRUE - Vége az eljárásnak. |
||||||||||||||||||
|
EGYÉB VIZSGÁLATOK |
||||||||||||||||||
26 |
DK_DKSZ_Ablak.DSZ1GyKodK1 értékében Gyűjtő képlet van Ha DK_DKSZ_Ablak.DSZ1GyKodK1 üres, akkor TRUE, ha Ki van töltve és DKDokFej.GyKód megfelel a képletnek, akkor TRUE, egyébként FALS |
||||||||||||||||||
27 |
DK_DKSZ_Ablak.DSZ1Ugyfel1 + DSZ1UgyfTh1 + DSZ1UgyfBK1 szokásos ügyélfél szűkítés, a DKDokFej.Ügyfél+ÜgyfélThely-en kell kiértékelni. - A DK_DKSZ_Ablak.DSZ1Ugyfel1+DSZ1UgyintN1 értékét a DKDokFej. Ügyfél+ÜgyintézőKód mezőkben kell kiértékelni. |
||||||||||||||||||
28 |
DK_DKSZ_Ablak.DSZ1Konyvt1 ha üres, akkor TRUE Ha DK_DKSZ_Ablak.DSZ1Konyvt1 ki van töltve, akkor NévRésze függvényt kell futtatni a DKDokFej. Könyvtár mezőre, Ha a DKDokFej. Könyvtár értékében benne van a DK_DKSZ_Ablak.DSZ1Konyvt1 érték, akkor TRUE, egyébként FALS |
||||||||||||||||||
29 |
Ha DK_DKSZ_Ablak.DSZ1UIktSz1 üres, akkor TRUE, DK_DKSZ_Ablak.DSZ1UIktSz1 = DKDokFej. ÜIktatószám, akkor TRUE, egyébként FALS |
||||||||||||||||||
30 |
DK_DKSZ_Ablak.DSZ1AtadoS1 ha üres, akkor TRUE Ha DK_DKSZ_Ablak.DSZ1AtadoS1 ki van töltve, akkor NévRésze függvényt kell futtatni a DKDokFej. ÁtadóSzem mezőre, Ha a DKDokFej. ÁtadóSzem értékében benne van a DK_DKSZ_Ablak.DSZ1AtadoS1 érték, akkor TRUE, egyébként FALS |
||||||||||||||||||
31 |
DK_DKSZ_Ablak.DSZ1TargyR1 ha üres, akkor TRUE Ha DK_DKSZ_Ablak.DSZ1TargyR1 ki van töltve, akkor NévRésze függvényt kell futtatni a DKDokFej. Tárgy mezőre, Ha a DKDokFej. Tárgy értékében benne van a DK_DKSZ_Ablak.DSZ1TargyR1 érték, akkor TRUE, egyébként FALS |
||||||||||||||||||
32 |
Ha DK_DKSZ_Ablak.DSZ1DokDat1 <= DKDokFej. DokDátum < = DK_DKSZ_Ablak.DSZ1DokDat2, akkor TRUE, egyébként FALS |
||||||||||||||||||
33 |
Ha DK_DKSZ_Ablak.DSZ1FelDat1 < = DKDokFej. FelDátum < = DK_DKSZ_Ablak.DSZ1FelDat2, akkor TRUE, egyébként FALS |
||||||||||||||||||
34 |
DK_DKSZ_Ablak.DSZ1ModDat1 DK_DKSZ_Ablak.DSZ1ModDat2 vizsgálata: Változó definiálás: UtolsóMod (DOSDATE) Az UtolsóMód meghatározása: DKDokFej. ModDátum, a DKDokBiz. ModDátum, a DKDokTétel. ModDátum, a DKDokBesor. ModDátum értékei közül a legnagyobb Ha DK_DKSZ_Ablak.DSZ1ModDat1 < = Proc_DKSzures.UtolsóMod < = DK_DKSZ_Ablak.DSZ1ModDat2, akkor TRUE, egyébként FALS |
||||||||||||||||||
35 |
DK_DKSZ_Ablak.DSZ1DkMegj1 ha üres, akkor TRUE Ha DK_DKSZ_Ablak.DSZ1DkMegj1 ki van töltve, akkor NévRésze függvényt kell futtatni a DKDokMegj. Szöveg mezőkre (az összes rekordra az Iktatószám-on belül) Ha a DKDokMegj. Szöveg értékében benne van a DK_DKSZ_Ablak.DSZ1DkMegj1 érték, akkor TRUE, egyébként FALS |
||||||||||||||||||
36 |
DK_DKSZ_Ablak.DSZ1EredFa1 ha üres, akkor TRUE Ha DK_DKSZ_Ablak.DSZ1EredFa1 ki van töltve, akkor NévRésze függvényt kell futtatni a DKDokTétel. EredetiFájl mezőkre (az összes rekordra az Iktatószám-on belül) Ha a DKDokTétel. EredetiFájl értékében benne van a DK_DKSZ_Ablak.DS1EredFa1 érték, akkor TRUE, egyébként FALS |
||||||||||||||||||
37 |
DK_DKSZ_Ablak.DSZ1DokBeK1 ha üres, akkor TRUE Ha ki van töltve, akkor a DKDokBesor. Besorolás értékeire kell kiértékelni a DK_DKSZ_Ablak.DSZ1DokBeK1 értékében található besorolásképletet. |
||||||||||||||||||
38 |
Ha DK_DKSZ_Ablak.DSZ1HKapcs1 = Mindegy, akkor TRUE |
||||||||||||||||||
39 |
Ha DK_DKSZ_Ablak.DSZ1HKapcs1 = MégLehet, akkor DKGyűjtBiz állományt kell INDEX [ GyKód + BizTípus ]-on megnyitni és keresni kell következő rekordot: ahol a vizsgált iktatószámra DKDokFej rekordban a DKDokFej.GyKód = DKGyűjtBiz.GyKód és DK_DKSZ_Ablak.DSZ1HKaBiz1= DKGyűjtBiz.BizTípus - Ha NEM talál egyező rekordot, akkor FALS - Ha talál egyező rekordot, akkor DKGyűjtBiz.Dokumentum értéke alapján megyünk tovább... - Ha DKGyűjtBiz.Dokumentum = Több is lehet, akkor TRUE - Ha DKGyűjtBiz.Dokumentum = Egyszer lehet, akkor meg kell nyitni a DKDokBiz állományt INDEX [ IktatóSzám + BizTípus + BizSzám ] -on. Ha a Vizsgált Iktatószámra talál olyan rekordot, ahol DK_DKSZ_Ablak.DSZ1HKaBiz1 = DKDokBiz.BizTípus, akkor FALS, egyébként TRUE (Vagyis ha egy dokumentumhoz pl csak egy cikkszám kapcsolható és találunk hozzá egy cikkszámot, akkor ehhez a doksihoz több cikkszám nem kapcsolható...) |
||||||||||||||||||
40 |
Ha DK_DKSZ_Ablak.DSZ1HKapcs1 = Kötelező, akkor DKGyűjtBiz állományt kell INDEX [ GyKód + BizTípus ]-on megnyitni és keresni kell következő rekordot: ahol a vizsgált iktatószámra DKDokFej rekordban a DKDokFej.GyKód = DKGyűjtBiz.GyKód és DK_DKSZ_Ablak.DSZ1HKaBiz1= DKGyűjtBiz.BizTípus és DKGyűjtBiz.BevitelMódja=Kötelező és DKGyűjtBiz.Dokumentum = Egyszer lehet - Ha NEM talál egyező rekordot, akkor FALS - Ha talál egyező rekordot, meg kell nyitni a DKDokBiz állományt INDEX [ IktatóSzám + BizTípus + BizSzám ] -on. Ha a Vizsgált Iktatószámra talál olyan rekordot, ahol DK_DKSZ_Ablak.DSZ1HKaBiz1 = DKDokBiz.BizTípus, akkor FALS, egyébként TRUE (Vagyis ha egy dokumentumhoz utólag kötelező típusúra álltottak egy bizonylattípust, akkor azt kitudjuk listázni.) |
||||||||||||||||||
41 |
Ha DK_DKSZ_Ablak.DS1HKap1cs = ElintKötelező, akkor DKGyűjtBiz állományt kell INDEX [ GyKód + BizTípus ]-on megnyitni és keresni kell következő rekordot: ahol a vizsgált iktatószámra DKDokFej rekordban a DKDokFej.GyKód = DKGyűjtBiz.GyKód és DK_DKSZ_Ablak.DSZ1HKaBiz1= DKGyűjtBiz.BizTípus és DKGyűjtBiz.DokumElintéz = "mindig kötelező" vagy "kötelező, ha be van sorolva az alábbiakba" és DKGyűjtBiz.Dokumentum = Egyszer lehet - Ha NEM talál egyező rekordot, akkor FALS - Ha talál egyező rekordot, meg kell nyitni a DKDokBiz állományt INDEX [ IktatóSzám + BizTípus + BizSzám ] -on. - Ha DKGyűjtBiz.DokumElintéz "mindig kötelező" és a Vizsgált Iktatószámra talál olyan rekordot, ahol DK_DKSZ_Ablak.DSZ1HKaBiz1 = DKDokBiz.BizTípus, akkor FALS, egyébként TRUE - Ha DKGyűjtBiz.DokumElintéz "kötelező, ha be van sorolva az alábbiakba" és a Vizsgált Iktatószámra talál olyan rekordot, ahol DK_DKSZ_Ablak.DSZ1HKaBiz1 = DKDokBiz.BizTípus, akkor FALS, egyébként meg kell vizsgálni , hogy a DKGyűjtBiz.DokumBesor -ban lévő besorolás képletbe tartozik-e a vizsgált Iktatószám (DKDokBesor alapján) Ha megfelel a besorolásnak, akkor TRUE, egyébként FALS |
||||||||||||||||||
|
SPECIÁLIS SZŰRÉSEK |
||||||||||||||||||
42 |
Ha DK_DKSZ_Ablak.DSZ1SBzSzu1 = VevőToGySzám, akkor a az DSZ1SBzSza1 értékében Vevőszámla van (VevőSzTörzs.SzámlaSzám). KÖzvetlenül a szűrés elindításután egy kicsi eljárást kell kiértékelni, ami az adott vevőszámlához kapcsolódó gyártási számokat gyűjti ki: 1, RaktForg rekord keresés VevőSzTétel.SzámlaSzám = RaktForg.SzámlaSzám és VevőSzTétel1.Sorszám = RaktForg.SzlaSorszám 2, Gyártási szám keresés a RaktForg alapján GyártásiSzám.Sorszám = RaktForg.Sorszám 3, A megtalált GyártásiSzám rekordokból a memóriába el kell tárolni a GyártásiSzám.GySzám értékeket.
Az eljárás kiértékelése után kezdődhet a konkrét szűrési feldolgozás: Az aktuális iktatószám értékét meg kell keresni DKDokBiz.BizTípus-ban. Ha talál olyan rekordot ahol DKDokBiz.BizTípus = Gyártási szám és DKDokBiz.BizSzám megegyezik az előző gyártási szám eljárás valamelyik elemével, akkor TRUE, egyébként FALS |
||||||||||||||||||
|
Összeg szűrés |
||||||||||||||||||
43 |
Ha DK_DKSZ_Ablak.Összeg1 = 0 és DK_DKSZ_Ablak.Összeg2 = 0, akkor nem kell foglalkozni a DK_DKSZ_Ablak.Összeg1 és Összeg2 mezőkkel. Ha a DK_DKSZ_Ablak.ÖsszegD ki van töltve DK_DKSZ_Ablak.Összeg1 <= DkDokFej.Összeg <= DK_DKSZ_Ablak.Összeg2 és DK_DKSZ_Ablak.ÖsszegD = DkDokFej.ÖsszegDevnem, akkor TRUE, egyébként FALS |