Forgalom és készlet tabló

Navigation:  Tartalom > Készlet modul > Készlet adatok listázása > Készlet listák >

Forgalom és készlet tabló

Previous pageReturn to chapter overviewNext page

 

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: DOCUMENT Általános riport - rugalmas lista

 

clip1633

 

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

 

clip1632

 

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