Szállítólevél-számla összerendelés

Navigation:  Tartalom > Készlet modul > Készletmozgások rögzítése > Bevételezés > Vásárlás >

Szállítólevél-számla összerendelés

Previous pageReturn to chapter overviewNext page

 

Ezt a programfunkciót csak akkor kell használni, ha a bevételezés nem számla, hanem szállítólevél alapján történt.

Amikor számla alapján történik a bevételezés, akkor a raktári operátor csak úgy tud bevételezést rögzíteni, hogy kiválasztja a szállító számla adatbázisból azt, amelyik alapján a bevételezés történik. Így a kiválasztással a szállítói számla és a bevételezés összekapcsolása az adatbázisban megtörténik.

 

Amikor szállítólevél alapján vételezünk be, akkor a bevételezés rögzítése időben (napokkal) megelőzi a szállítói számla adatainak rögzítését.

A számla beérkezésekor a számlanyilvántartó operátor ugyanúgy rögzíti a számla adatait, mint amikor a bevételezés a számla alapján történik.

Mivel ekkora a bevételezés rögzítése már megtörtént, a számla és bevételezés között nincs meg az adatbázis kapcsolat, így az adatbázisban a beszerzési tétel még nulla értéken szerepel (,mert a raktári bevételezéskor az operátor nem rögzített értékadatokat). Ahhoz, hogy a beszerzett tételeknek meglegyen a beszerzési egységára, az anyagkönyvelésért felelős raktári dolgozónak a beszerzési tételeket és a szállítói számla tételeit párosítania kell. A tételek párosítása úgy történik, hogy az operátor számítógépének képernyőjén megjelennek a még páratlan bevételezési tételek, amelyekhez a páratlan szállítói számlák tételei közül választhat párt.

Az összerendelés adatait a program letárolja az adatbázisban, a beszerzési tétel megkapja a számlatétel egységárát, a bevételezési és szállítói páratlan tételek közül, pedig a két összerendelt tétel eltűnik.

 

Egy szállítólevél csak egy számlához tartozhat, de egy számlának több szállítólevele lehet. Az összerendelés típusa 1:N, az összerendelés adatait  a PSzaBiz tábla tartalmazza. Ha a szállítólevél tételeinek száma ugyanannyi, mint a számláé, akkor a párosítás 1:1 típusú hozzárendeléssel egyszerűen megoldható.

Amennyiben a számlában több szállítólevél, azonos tartalmú sora össze van vonva, akkor szállítói számlanyilvántartásban a számla tételeket olyan részletezettségig

szét kell bontani, ahogy azok a szállítólevélben szerelnek, hogy az 1:1 típusú hozzárendelés elvégezhető legyen.

 

Az összerendelési funkcióval a számla állományt négy féle készletállománnyal kapcsolhatjuk össze:

Raktári készlet
Tételes dohány késztermék készlet
Tételes dohány alapanyag készlet
Egyedi készlet

 

Az utóbbi három összerendelés ezzel a funkcióval nem végezhető el. Azt a gépi számla készítés tudja megvalósítani. Ugyanakkor a gépi számla készítés során összerendelt minden féle (dohány és dohányon kívüli anyag) tétel itt bontható le.

 

clip2566

 

Az összerendelés menete:

A szállítói kézi számlák és raktári készlet beszerzési tételek (dohányon kívüli anyagok) összekapcsolását elvégző funkció.

 

A. Szállítólevél-fej – számla-fej összerendelése

 

0. Bevételezés szállítólevél alapján – Szállítói kézi számla rögzítése

A készlet modulba szállítólevél alapján bevételezésre kerültek az áru, a pénzügyi modulban pedig ettől függetlenül rögzítésre került ugyanennek a beszerzésnek a szállítói (kézi) számlája.

 

1. Partner kiválasztása

A képernyőn egyszerre egy kiválasztott partner összerendelt és összerendelésre váró tételei jeleníthetőek meg.

 

2. Bizonylatok kiválasztása (szállítólevél, számla)

Összerendelt tételek
Össze nem rendelt tételek

Mind összerendelt, mind össze nem rendelt tételeket szűrhetjük szállítólevél számra és számlaszámra.

 

3. Szűrés végrehajtása

A [Szűrés végrehajtása] gomb megnyomása után a képernyő felső részén megjelennek a már összerendelt szállítólevelek és számlák. Az összerendelt tételek egyrészt azért jelennek meg a képernyőn, mert egy számlához több szállítólevél kapcsolható, másrészt pedig ezen a képernyőn lehet elvégezni a már összerendelt tételek lebontását is. A képernyő a bal alsó részében a még összerendelésre váró szállítólevelek, a jobb alsó részben pedig a még párba nem állított számlák láthatóak.

 

Az összerendelésre váró tételeknek – a beállított rugalmas szűrési paraméterek mellett – az alábbi feltételeknek is meg kell felelniük:

KMozFej – Raktári mozgás fej

1.        JogCim = '1'        Bevételezés vásárlásból

2.        BesTip = '2'        Beszerzés szállítólevéllel

3.        PenAll = '0'        A raktári mozgásfej még nincs számlához rendelve

4.        StoKod = '0'        Nem stornózott illetve stornó fej

 

PSzaAla – Pénzügyi bizonylat (számla) fej

1.        TipusK = '1'        Szállító számla

2.        FormaK = In ('1','2')        Kézi vagy gépi számla

3.        Status = '1'        Elfogadott státusz

4.        StoKod = '0'        Nem stornózott illetve stornó számla

5.        PenAll = '0'        A számla még nincs raktári mozgásfejhez rendelve

 

4. Összerendelendő bizonylatok (mozgás fej, számla) kijelölése

A képernyő bal oldalán található, még össze nem rendelet szállítólevél fejek közül kijelöljük (rákattintunk) az a tételt amelyiket össze akarjuk kapcsolni a jobb oldalon szereplő valamelyik, még össze nem rendelt számlával, amely utóbbit szintén rákattintással jelölünk ki.

 

5. A fej adatok összerendelésének rögzítése

 

Egy számla és egy bizonylatfej kiválasztása után a program további input adatok bekérése nélkül, az összerendelés gomb clip1602 megnyomásával, a két tábla között létrehozza kapcsolatot. A különálló bizonylatok eltűnnek az összerendeletlenek közül, és az összekapcsolt tételek pedig szürke színnel megjelennek az összerendeltek között. A szürke szín azt jelenti, hogy a fej adatok összerendelése megtörtént, de a fejösszerendeléshez tétel összerendelés még nem tartozik.

 

Funkció – Adat entitás kapcsolat:

 

KMozFej – Mozgás fej

Az összerendelés megtörtént bejegyezzük a mozgás fej egyes adatmezőibe.

 

Modify

Program által előállított adatok:

Alapadatok:

A2.        BizAzoP        Pénzügyi bizonylat azonosító                                <PSzaAla.SzAlId>

Kapcsolódási kulcs a számlanyilvántartáshoz. A kapcsolt számla azonosítója kerül a mozgás fej pénzügyi bizonylat azonosító mezőjébe.

 

Állapot adatok:

Á3.        PenAll                Pénzügyi állapot        <1> – Feldolgozott

A bizonylat fej pénzügyi állapota feldolgozottra vált.

 

Napló adatok:                A napló adatok is aktualizálódnak az összerendelés során.

N1.        OpeKod                Operátor kód                generált

N2.        TerKod                Terminál kód                generált

N3.        RogDat                Rögzítés időpontja        generált

 

PSzaAla – Számla alap tábla

Az összerendelés megtörtént bejegyezzük a számla fej egyes adatmezőibe.

 

Modify

Program által előállított adatok:

Általános input adatok:

I3.        Bizony                Bizonylatszám                <KMozFej.BizAzo>

A kapcsolt mozgás fej azonosítója kerül a számla bizonylatszám mezőjébe.

 

Állapot adatok:

Á6.        BizaDb                Csatolt bizonylatok száma        <BizaDb + 1>

A számlához kapcsolt bizonylatok száma megnő eggyel. Egy számlához több mozgás bizonylat tartozhat.

Á7.        PenAll                Pénzügyi állapot        PPA        <1> – Feldolgozott

A számla fej pénzügyi állapota feldolgozottra vált.

 

Napló adatok: - Nem módosulnak

 

PSzaBiz – Számla – bizonylat tábla

A fej adatok összerendelését bejegyezzük az összerendelt bizonylatfejek adatait tartalmazó táblába.

 

Insert / Delete

Program által előállított adatok:

1.        SzBiID                Számla bizonylat ID                generált

A program minden összerendelésnek egy egyedi azonosítót (egy folyamatos sorszámot) generál.

2.        SzAlID                Számla alap ID                        <PSzaAla.SzAlID>

3.        SBizAzo        Számla bizonylat azonosító        <PSzaAla.BizAzo>

4.        MBizAzo        Mozgás bizonylat azonosító        <KMozFej.BizAzo>

5.        Opekod        Rögzítés napló adatok – Operátor kód        generált

6.        Terkod                Terminál kód                        generált

7.        Rogdat                Rögzítés időpontja                generált

 

Amíg a számla és a szállítólevél tételek nincsenek összekapcsolva, addig a fejek közötti összerendelés megszüntethető.

 

A. Szállítólevél-tételek – számla-tételek összerendelése

 

Az összekapcsolt fej tételen állva, a módosítás gomb clip1603 megnyomása után lehetőségünk nyílik a számla és a bevételezési bizonylat tételeinek összerendelésére.

 

clip1604

 

A képernyő felső részén az összekapcsolt bizonylat már összerendelt tételei láthatóak. A bal alsó részen az összerendeletlen raktári mozgások, a jobb alsó részen pedig az összerendeletlen számla áruk láthatóak.

 

1. Számla és raktári mozgás tételek összerendelése

 

Egy számla és egy bizonylat tétel kiválasztása után a program további input adatok bekérése nélkül, az összerendelés gomb megnyomásával clip1605,a két tábla között létrehozza kapcsolatot. A különálló tételek eltűnnek az összerendeletlenek közül, és az összekapcsolt tételek megjelennek az összerendeltek között.

 

 

A számla és a mozgás tétel párba állítása után a program az adatbázisban megteremti a kapcsolatot a tételek között. A program csak a termék típusú tételek (AAktTor.AruTip='1') összerendelését engedi.

 

Feltételek:        Raktári mozgás        Kapcsolat:        AND

PenAll=0        Összerendeletlen

KesAll=2        Feldolgozott

StoKod=0        Alap

 

Feltételek:        Számla áru                Kapcsolat:        AND

PenAll=0        Összerendeletlen

StoKod=0        Alap

 

2. Az összerendelés hatásának könyvelése az adatbázisban

 

KRakMoz – Mozgástétel adatok:

Az összerendelés hatását átvezetjük a raktári mozgás tábla egyes mezőin.

 

Modify

Program által előállított adatok:

Alap adatok:

A2.        BizAzoP        Pénzügyi bizonylat azonosító                <PSzaAru.SzArId>

Kapcsolódási kulcs a számlanyilvántartáshoz. A mező a számla áru azonosítóját kapja meg.

 

Állapot adatok:

Á2.        PenAll                Pénzügyi állapot                        PPA        <1>        Feldolgozott

A mozgás pénzügyileg feldolgozottá válik.

Á6.        EgysAr                Egységár – Mozgás        HUF

If AAfaTor(PSzaAru.AfaKod).KtsAfa = 'N'        Then PSzaAru.EgysAr * PSzaAla.DevArf

Else Round((PSzaAru.TetErt + PSzaAru.AfaErt ) * PSzaAla.DevArf / PSzaAru.Mennyi,5)

A mozgás egységára (az alapértelmezett devizanemben [HUF]) a számla áru egységárának és a számla devizaárfolyamának (alapértelmezett [HUF] devizanemben rögzített számla esetén az árolyam = 1) a szorzata lesz.

If KMozDef.KonTip(KRakMoz.MozKod) <> '311' Then                {Nem göngyöleg visszavásárlás}

Begin

Á7.        AruTAr                Egységár – Árutörzsben – Elszámoló ár        <AAruTor.NyilAr>

Á8.        Erteke                Nettóérték                HUF

If AAfaTor(PSzaAru.AfaKod).KtsAfa = 'N'        Then        PSzaAru.TetErt*PSzaAla.DevArf

 Else        (PSzaAru.TetErt + PSzaAru.AfaErt ) * PSzaAla.DevArf

A mozgás értéke a számla áru nettó értékének, vagy költség áfa esetén az áfával növelt értéknek és a számla devizaárfolyamának szorzata lesz.

Á9.        BesErt                Beszerzési áras érték        HUF

Bevételezés:        <:=Erteke>

Bevételezéskor a bekerülési érték megegyezik a mozgás értékkel, ami a számla áru nettó értéke az alap devizanemben [HUF].

Á10.        AktErt                Aktuális áras érték        HUF

Bevételezés:        <:=Erteke>

Bevételezéskor az aktuális érték is (a beszerzési értékhez hasonlóan) a mozgás érték lesz, ami a számla áru nettó értéke az alap devizanemben [HUF]. Ekkor még nincs elszámolt értékvesztés.

End

Else        {Göngyöleg visszavásárlás};

Göngyöleg visszavásárlás során a bekerülési érték nem a visszavásárlási érték lesz, hanem az a bekerülési érték, amellyel a göngyöleg értékesítve lett. Ezeket az adatokat a már a göngyöleg visszavásárlási funkció kitöltötte.

 

Napló adatok:                Az összerendeléssel a napló adatok is aktualizálódnak.

N1.        Opekod        Operátor kód                generált

N2.        Terkod                Terminál kód                generált

N3.        Rogdat                Rögzítés dátuma        generált

 

 

PSzaAru – Számla áru tábla:

Az összerendelés hatását átvezetjük a számla áru tábla egyes mezőin

 

Modify

Alap adatok:

A5.        RaMoID        Raktári mozgás ID        Sw                <KRakMoz.RaMoID>

A számla áru tétel és raktári mozgás tétel összekapcsolására szolgáló adatmező.

 

Input adatok:

I1.        AruKod                Áru kód                                        <KRakMoz.AruKod>

A számla áru törzsbe vissza kell írni a raktári mozgás áru kódját, függetlenül attól, hogy a pénzügyi modulban kapott-e értéket, vagy sem, mert a raktári bevételezés során dől el véglegesen a beérkező áru kódja.

 

Állapot adatok:

Á1.        PenAll                Pénzügyi állapot        PAL                <1> – Feldolgozott

Az áru pénzügyileg feldolgozottá válik.

 

PSzaAla – Számla alap tábla

Vevő számla első (és csakis az első) számla tételének rögzítésekor a számla hitelkamat adatait is ki kell tölteni (Update). Ezt csak az első áru ismeretében lehet elvégezni, mert a számla hitelkamat adatai az elsőként rögzített áru árukatalógusából származnak. Második és további áruként csak olyan rögzíthető, amely árukatalógusának hitelkamat adatai megegyeznek a számlafejben megadott hitelkamata adatokkal (amelyek az első áruból származnak). Ha az első áru árukatalógusának nincsenek hitelkamat adatai, akkor további áruként bármilyen rögzíthető (ami az egyéb feltételeknek megfelel). Vevő számla összekapcsolása ebben a funkcióban nem lehetséges. A leírás azért szerepel itt, mert az összekapcsolásra vonatkozó programlogika egyéb elemi ezen a helyen teljes körűen megtalálhatóak.

 

Modify

Program által előállított adatok:

Hitelkamat adminisztrációs adatok:

H1.        HitKam        Hitelkamat számítás szükséges        (I/N)

PSzaAla.Insert                                        <N>

If (PSzaAru.Insert.First) And (PSzaAla.TipusK='2' {Vevő} And

AAktTor.HitKam(PSzaAru.AruKod)='I'        Then        <I>

H2.        KamElo        Kamatszámítási szempontból élő        (I/N)

PSzaAla.Insert                                        <N>

If (PSzaAru.Insert.First) And (PSzaAla.TipusK='2' {Vevő} And

AAktTor.HitKam(PSzaAru.AruKod)='I'        Then        <I>

H3.        HiKaKu        Hitelkamat kulcs        [%]        <A:0>        !

PSzaAla.Insert                                        <0>

If (PSzaAru.Insert.First) And (PSzaAla.HitKam='I')        Then        AAktTor.HiKaKu        Else 0

 

PSArBTe – Számla áru – bizonylat tétel tábla

Az összerendelés adatai bejegyzésre kerülnek a raktári mozgás tételek és a számla áruk összerendelését tartalmazó táblába.

 

Insert

Program által előállított adatok:

1.        ArTeID                Áru – tétel ID                pk        generált

2.        SzArID                Számla áru ID                <PSzaAru.SzArID>

3.        RaMoID        Raktári mozgás azon.        <KRakMoz.RaMoID>

4.        AruKod                Áru kód                <KRakMoz.AruKod>

5.        Opekod        Rögzítés napló adatok – Operátor kód        generált

6.        Terkod                Terminál kód                generált

7.        Rogdat                Rögzítés időpontja        generált

 

Az összerendelés hatásának könyvelése az adatbázisban

Az adatok rögzítése az előző lépéssel egy tranzakcióban történik. A szállítólevél tétel rögzítésekor egyes mezők nem kaptak értéket. Ezeket a mezőket most utólag kell értékkel ellátni.

 

If KMozDef.KonTip(KRakMoz.MozKod) <> '311' Then                {Nem göngyöleg visszavásárlás}

Begin

KTetKes - Tételes készlet

Modify        - Egy tétel

A módosítandó tétel <WHERE KRakMoz.RaMoID=KTetKes.TeKeId> reláció alapján keresendő ki.

Alap adatok:

A7.        BevEar                Bevételezési egységár        <KRakMoz.EgysAr>        Eddig 0 volt !

A12.        AktEar                Aktuális egységár        <KRakMoz.EgysAr>

A13.        EloEar                Előző egységár                <0>

A14.        ErHeDt                Értékhelyesbítés dát.        <BevDat>

A15.        PenAll                Pénzügyi állapot        PPA        <0>

A16.        FokAll                Főkönyvi állapot        FAL        <0>

End Else;

Napló adatok:        Nem módosulnak.

 

Amennyiben ebből a készlettételből már volt kiadás (Kiadas>0), akkor a kiadások értékadatait (a KRakMoz táblában) is módosítani kell. A kiadások raktári mozgás tételei a tételes mozgáson keresztül érhetők el.

 

A tételes mozgás tételek kikeresése a tételes készlet alapján:

<WHERE KTetKes.TeKeId =KTetMoz.TeKeId>                Több tétel lehet.

A halmaz azokat a mozgásokat tartalmazza, amelyek a tételes készlet tételhez kapcsolódnak. Benne van a bevételezési tétel is, ezért azt ki kell szűrni. A kiszűrés feltétele: Kiadas>0.

 

A kiadási raktári mozgás tételek kikeresése a tételes mozgás alapján:

<WHERE KTetMoz.RaMoId =KRakMoz.RaMoId>

Amikor a kiadás rögzítése történt, egy raktári mozgáshoz több tételes mozgás is lehetett rögzítve, ha a kiadás több készlettételből történt. Ezért most, amikor a tételes mozgáshoz keressük a raktári mozgást, több tételes mozgás ugyanazt a raktári mozgást hozhatja fel. Ebben az esetben, több tételes mozgás hatását kell átvezetni ugyanazon a raktári mozgáson.

 

A könyvelt beszerzési tételből történt felhasználás mennyiségét a tételes készlet mozgásokból össze kell gyűjteni: FelOszX.

 KRakMoz.RaMoId=KtetMoz.TeKeId        Sum(Kiadas)

 

If KMozDef.KonTip(KRakMoz.MozKod) <> '311' Then                {Nem göngyöleg visszavásárlás}

Begin

KRakMoz – Raktári mozgás adatok:

Modify

Program által előállított adatok:

Állapot adatok:

Á9.        BesErt                Beszerzési áras érték        

BesErt:=BesErt+KTetMoz.Kiadas*KTetKes.BevEar>

Á10.        AktErt                Beszerzési áras érték        

AktErt:=AktErt+KTetMoz.Kiadas*KTetKes.AktEar>

Á6.        EgysAr:=0

Á8.        Erteke                Értéke

Erteke:=AktErt

End Else;

 

Az összerendelés megszüntetése:

 

Lásd: DOCUMENT Számla összerendelés megszüntetése