Az oldal megtekintéséhez kérjük, engedélyezze a JavaScriptet.

Nagy Machinátor súgó

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

DK_DKSZ_Ablak

összes Kontroll-ja

 

Iktatószám

 

Kimenő adatok

Engedély

 

Algoritmus

 

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

Dátum

Rendszer dátum

Személy

DKDokFej.Személy

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

Részleg

DKDokFej.Részleg

Személy

Proc_DKSzur.Személy

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.:

Iktatószám

Kapcsolódó Iktatószám

10


11

10

12

10

13


14

11

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.:

Iktatószám

Kapcsolódó Iktatószám

10


11

10

12

10

13


14

11

15

11,12

16


17

16,15

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