Egy kiválasztott időszak árukódonkéntu forgalmának (jogcímenkénti raktári mozgásainak), valamint nyitó és záró készletének megjelenítésére szolgáló tabló.
Jogosultságkód: 233250 Help context: 233250
Query azonosító: TForgKes
Tárolt eljárást meghívó rugalmas formátumú lista.
Lásd:
Általános riport - rugalmas lista

A. Alap tábla
AAruTor – Áru törzs
Egy táblán alapuló (nem master – detail ) lista, de más táblákból is vesz adatokat. A program az áru törzs alapján végzi el adatok kigyűjtését, az árukódhoz kapcsolva a raktári készlet és mozgás táblákat.
B. Szűrési feltételek
Szűrési feltételként (valamint sorbarendezési és csoportosítási kódként) az árutörzs és árutörzshöz kapcsolódó áru katalóus törzs kód jellegű adatai választhatóak.
AAruTor – Áru törzs
1. AruKod Kód pk
2. EloKod Élő kód (I/N)
3. ABeKod Áru besorolás kód fk: AAbeTor.AbeKod
4. ABeSza Áru besorolás száma
5. AKtKod Áru katalógus kód fk: AAKtTor.AKtKod
6. CikSza Cikkszám
7. EanSza EAN-szám ( vonalkód )
8. MeeKod Mennyiség egység fk: AMeeTor.MeeKod
9. AfaKod ÁFA-kód fk: AAfaTor.AfaKod
10. DevKod Devizanem fk: ADevTor.DevKod
11. ArTipu Ár típus ATP
12. AbcKod ABC analízis kód
AAKtTor – Áru katalógus törzs
1. AruTip Áru típus ART
2. EszKod Eszköz kód ESK
3. GonKod Göngyöleg kód (I/N)
4. SFokKod Anyagszámla fk: FFokTor.FokKod
5. FKtgNem Költségnem főkszla fk: FFokTor.FokKod
6. FKtgHel Költséghely főkszla fk: FFokTor.FokKod
7. FKtgVis Költségviselő főkszla fk: FFokTor.FokKod
8. VKtgJel Költség jelleg FKT
9. VKtgTip Költség típus FTP
10. TBerSzl Beruházási számla fk: FFokTor.FokKod
11. TAktSzl Aktiválási számla fk: FFokTor.FokKod
C. Sorbarendezési kulcsok / Csoportosítási kulcsok
Ugyanaz, mint a szűrési feltételek
D. Lista paraméterek
D.1. Lista időintervallum:
Input adatok: KezDatX Kezdő dátum
BefDatX Befejező dátum
D.2. Lista jelleg LisJelX
1. Összes készletes
2. Raktár intervallum
Input adatok: RakKodK Kezdő raktárkód <ARakTor.RakKod>
RakKodV Befejező raktárkód <ARakTor.RakKod>
D.3. Forgalmi lista LisTipX
I – A listában csak azok áruk szerepelnek, amelyeknen a kijelölt időszakban forgalmuk volt. Ha csak nyitó és / vagy záró adatuk van, akkor a listában nem jelennek meg.
N – A listában minden olyan áru megjelnenik, amelynek az adott időszakban forgalma, vagy nyitó készlete, vagy záró készlete van.
A lista fejrészében minden a lista típusára, definíciójára utaló adatnak szerepelni kell.
E. Adattartalom

E.0. Lista felépítése
F. Forgalmi tételek – Tárgy időszak raktári mozgásai {Alap halmaz}
select distinct moz.arukod
from krakmoz krm
where
…
and moz.stokod = '0'
and moz.kesall = '2' {Csak feldolgozott készletmozgásokat vesszük figyelembe!}
and rak.raktip In ('1','2') {Csak a saját anyag listázható (saját és idegen raktárban}!}
and fej.MozDat between @MozDatTol and @MozDatIg
UNION {Halmazok egyesítése}
K. Készlettel rendelkező forgalom nélküli tételek {Csatolt halmaz gerinc elemei}
select distinct krk.arukod A raktári készlet tábla azon árukódjait
from krakkes krk vesszük figyelembe
where amelyek
krk.AruKod not in nem szerepelnek a tárgy időszaki
select distinct moz2.arukod mozgások között!
from krakmoz moz2
where
…
and moz2.stokod = '0'
and moz2.kesall = '2'
and rak.raktip In ('1','2')
and fej2.MozDat between @MozDatTol and @MozDatIg
and és
exists A leválogatást azon árukódokra szűkítjük,
select distinct krk3.arukod amelyeknek jelen pillanatban
from krakkes krk3 van készletük (having),
where
…
and rak.raktip In ('1','2')
group by krk3.arukod
having sum(krk3.nyikes+krk3.bevete-krk3.kiadas)>0)
or vagy
krk.AruKod in volt a tárgy időszakot követő
select distinct moz4.arukod utólagos forgalma.
from krakmoz moz4
where
…
and moz4.stokod = '0'
and moz4.kesall = '2'
and rak.raktip In ('1','2')
and fej4.MozDat > @MozDatIg {Utólagos forgalom}
E.1. Áru adatok
Minden lista típusban egyformán szerepelnek.
AAruTor
E.1.1. Leíró adatmezők:
0. Sorszám
1. AruKod Kód pk
2. AruNev Megnevezés
3. AruLei Leírás
4. DevKod Devizanem
5. MeeKod Mennyiség egység
E.2. Készlet adatok – Értékmezők Összegezendők
Az aktuális (a lista futtatásának pillanatában az adatbázisban lévő árunkénti készlet mennyiség és érték. Az aktuális készletből lesz visszaszámítva (az utólagos forgalom levonásával) a megadott időintervallum záró dátumának (BefDatX) készlet adatai.
1. KesMenX Készlet mennyiség Számított mező
D.2. Lista jelleg:
1. Összes készletes KesMenX_Osz:=Query_RakKes_Ossz
Az adott áruból a vállalatnál lévő összes készlet.
SELECT
Sum(Kes.Nyikes) + Sum(Kes.Bevete) – Sum(Kes.Kiadas) RakKesX
FROM
KRakKes Kes
AAruTor Aru
KTarHel Tar
WHERE
Aru.AruKod=Kes.AruKod
2. Raktár intervallum KesMenX_Int:=Query_RakKes_Int
Az adott áruból a megadott tárolóhely intervullumban lévő készlet.
Előző lekérdezés más feltétlekkel:
…
WHERE
Aru.AruKod=Kes.AruKod And
Kes.TarHel=Tar.TarHel And
p_RakKodK<=Tar.RakKod And
p_RakKodV>=Tar.RakKod
2. KesErtX Készlet érték Számított mező
D.2. Lista jelleg: 20I.2D
1. Összes készletes KesErtX_Osz
Az adott áruból a vállalatnál lévő összes készlet értéke. A tételes készlet tábla alapján számítható ki.
Select
Sum((tk.bevete-tk.kiadas)*tk.bevear) KesErtTK
Sum(tk.bevete-tk.kiadas) KesMenTK
From
KTetKes tk,
AAruTor aru
Where
Aru.arukod=tk.arukod
2. Raktár intervallum
Tárolóhely intervallumos lista estén a vállalati készlet értéket arányosítani kell az intervallumba eső készlet mennyiségre.
Egységnyi készletre eső egységár:
If KesMenTK > 0 Then EgysArX := Round(KesErtTK / KesMenTK,5)
Else EgysArX := KTetKes.BevEar
Where KTetKes.AruKod = p_AruKod
Order by KTetKes.BevDat Last
Intervallumos készletérték:
KesErtX:=Round(KesMenX_Int * EgysArX,2)
Az érték nélküli raktári mozgások (Pl: Raktárközi forgalom) beárazásához szükség van egy árukódonként számított egységárra: EgysArX
a. Az áruból van készlet: KesMenX > 0
EgysArX := Round(KesErtX / KesMenX, 5)
A készlet érték és készlet mennyiség hányadosa.
b. Az áruból nincs készlet
EgysArX := KTetKes.AktEar (Last BevDat)
Az utolsó beszerzés egységára.
E.3. Forgalmi adatok – Értékmezők Összegezendők
A forgalmi adatokat a raktári mozgásokat feldolgozó query állítja elő.
Query_RakMoz
Bemenő paraméterek:
1. AAruTor.AruKod Árkód
2. KezDatX Kezdő dátum
3. BefDatX Befejező dátum
4. LisJelX Lista jelleg
5. Kezdő raktárkód RakKodK
6. Befejező raktárkód RakKodV
A query működése:
A Query_RakMoz a megadott áru mozgásinak gyűjtését végzi el a KMozFej – Raktári mozgás fej tábla ás a hozzá kapcsolódó KRakMoz – Raktári mozgás tétel tábla egyesített táblájában.
A táblák kapcsolása: KMozFej.BizAzo=KRakMoz.BizAzo
Vizsgálandó mező KMozFej.MozDat Mozgás dátuma
Szűrési feltételek
1. KRakMoz.StoKod=0 Nem stornó, vagy stornózott tétel
2. Csak, ha a lista jelleg 2 – Raktár intervallum
RakKodK<= KRakMoz.RakKod And
RakKodV>= KRakMoz.RakKod
| 3. KMozFej.MozDat>=KezDatX | A mozgás nem korábbi mint az intervallum kezdő napja. |
4. KRakMoz.KesAll=’2’ Véglegesített (könyvelt) mozgás.
Kimenő paraméterek:
UtFoBeM Utóidőszaki forgalom – Bevételezés – Mennyiség
UtFoBeE Utóidőszaki forgalom – Bevételezés – Érték
UtFoKiM Utóidőszaki forgalom – Kiadás – Mennyiség
UtFoKiE Utóidőszaki forgalom – Kiadás – Érték
BesMenX Bevétel – Beszerzés – Mennyiség
BesErtX Bevétel – Beszerzés – Érték
GyaMenX Bevétel – Gyártás – Mennyiség
GyaErtX Bevétel – Gyártás – Érték
EbeMenX Bevétel – Egyéb – Mennyiség
EbeErtX Bevétel – Egyéb – Érték
ErtMenX Kiadás – Értékesítés – Mennyiség
ErtErtX Kiadás – Értékesítés – Érték
FelMenX Kiadás – Felhasználás – Mennyiség
FelErtX Kiadás – Felhasználás – Érték
FkiMenX Kiadás – Egyéb – Mennyiség
EkiErtX Kiadás – Egyéb – Érték
EgyMenX Egyéb – Mennyiség
EgyErtX Egyéb – Érték
ForMenX Összesített forgalom – Mennyiség
ForErtX Összesített forgalom – Érték
A szűrési feltételeknek megfelelő tételek gyűjtési módja:
Mozgás jelleg: MozJelX:=KMozDef(KRakMoz.MozKod).MozJel
Mozgás jogcím: MozJogX:=KMozDef(KRakMoz.MozKod).MozJog
A mozgás jelleg azt mutatja, hogy bevételezésről (1), vagy kiadásról (2) van szó, míg a jogcím az egyes mozgás féleségeket (vásárlás, értékesítés, felhasználás, stb.) azonosítja.
If KMozFej.MozDat>BefDatX Then
Begin
A megadott időintervallum záró napját követő mozgások az utólagos forgalomba számítanak bele.
A megadott időintervallum záró napját követő mozgások az utólagos forgalomba számítanak bele. Az utólagos forgalmat – a raktári közi forgalmon kívül - a tényleges bekerülési értéken vesszük figyelembe. Mivel a raktárközi forgalomnak nincs értéke, ezért azt a számított egységárral számítjuk ki.
If MozJelX=1 Then
Begin
Bevételezési mozgások.
UtFoBeM:=UtFoBeM+KRakMoz.Bevete
If MozJogX < 9 Then UtFoBeE:=UtFoBeE+KRakMoz.BesErt
Else UtFoBeE:=UtFoBeE+KRakMoz.Bevete*EgysArX
End
Else
Begin
UtFoKiM:=UtFoKiM+KRakMoz.Kiadas
If MozJogX < 9 Then UtFoKiE:=UtFoKiE+KRakMoz.BesErt
Else UtFoKiE:=UtFoKiE+KRakMoz.Kiadas*EgysArX
End
End
Else
Begin
A megadott időintervallum (aktuális időszak) mozgásait jogcímenként gyűjtjük ki, és a tényleges bekerülési értéken vesszük figyelembe.
If MozJogX>7 Then MozJogX:=7 Else
A 7-nél nagyobb mozgás jogcímek (így a raktárközi forgalom is) az egyéb jogcím alatt jelennek meg.
Case MozJogX Of
1:Begin {Bevétel - Beszerzés}
BesMenX:=BesMenX+ KRakMoz.Bevete
BesErtX:=BesErtX+ KRakMoz.BesErt
End
2:Begin {Bevétel - Gyártás}
GyaMenX:=GyaMenX+ KRakMoz.Bevete
GyaErtX:=GyaErtX+ KRakMoz.BesErt
End
3:Begin {Bevétel - Egyéb}
EbeMenX:=EbeMenX+ KRakMoz.Bevete
EbeErtX:=EbeErtX+ KRakMoz.BesErt
End
4:Begin {Kiadás - Értékesítés}
ErtMenX:=ErtMenX+ KRakMoz.Kiadas
ErtErtX:=ErtErtX+ KRakMoz.BesErt
End
5:Begin {Kiadás - Felhasználás}
FelMenX:=FelMenX+ KRakMoz.Kiadas
FelErtX:=FelErtX+ KRakMoz.BesErt
End
6:Begin {Kiadás - Egyéb}
EkiMenX:=EkiMenX+ KRakMoz.Kiadas
EkiErtX:=EkiErtX+ KRakMoz.BesErt
End
Else
Begin {Egyéb: 9, A, B, C}
EgyMenX:=EgyMenX+ KRakMoz.Bevete - KRakMoz.Kiadas
If KRakMoz.Bevete > KRakMoz.Kiadas
Then EgyErtX:=EgyErtX+ KRakMoz.Bevete*EgysArX
Else EgyErtX:=EgyErtX- KRakMoz.Kiadas*EgysArX
End
End
Az aktuális időszak forgalmának adatai összesen:
ForMenX:=BesMenX + GyaMenX + EbeMenX
– ErtMenX – FelMenX – EkiMenX + EgyMenX
ForErtX:=BesErtX + GyaErtX + EbeErtX
– ErtErtX – FelErtX – EkiErtX + EgyErtX
Az intervallum záró dátumának adatai a pillanatnyi készlet és az utólagos forgalom különbségéből állnak elő:
ZarMenX := KesMenX – (UtFoBeM – UtFoKiM)
ZarErtX := KesErtX – (UtFoBeE – UtFoKiE)
Az intervallum nyitó dátumának adatai a záró és az időszaki forgalmi adatok különbségéből állnak elő:
NyiMenX := ZarMenX – ForMenX
NyiErtX := ZarErtX – ForErtX
F. Output
1. Képernyő
2. Printer
3. Export