Kiadás - Stornó

Navigation:  Tartalom > Készlet modul > Készletmozgások rögzítése > Kiadás >

Kiadás - Stornó

Previous pageReturn to chapter overviewNext page

 

A stornó funkció segítségével, a [Stornózás clip1716] gomb megnyomása után egy kiadás (értékesítés, felhasználás, egyéb készletnövekedés) bizonylatfejhez tartozó mozgástételek stornózása végezhető el.

 

Jogosultságkód:A stornózás ugyanazzal a jogosultsággal végezhető el, mint a stornózandó mozgás rögzítése.

 

A stornózás elvégzésének lépései:

 

A, Bizonylat fej kiválasztása

Ki kell választanunk azt a bizonylatfejet, amelyen a stornózandó mozgás található.

 

B, A stornózandó mozgástétel kiválasztása

A bizonylatfejen rá kell állnunk arra a mozgásra, amelyet stornózni szeretnénk és meg kell nyomnunk a [Stornózás] gombot.

 

Csak olyan mozgás tételek stornózhatók, ahol a tétel adataira igazak az alábbi feltételek:        AND

 

1.Kiadás tárgyi eszköz aktiválásra mozgás stornózás előtt külön ellenőrizendő:

KRakMoz.MozKod -> KonTip='365'

Select BttoErt From FTaeFej Where KRakMoz.RaMoId=FTaeFej.RaMoId

Feltétel Sum(AktBtt)<1E-4

A kiadási mozgásból keletkezett tárgyi eszköznek nem lehet az aktuális bruttó értéke nullánál nagyobb. Azaz, ha a mozgásból tárgyi eszköz keletkezett, és annak az aktiválása le van könyvelve, akkor az aktiválást stornózni kell.

AND

Select StoKod From FTaeMoz Where KRakMoz.RaMoId=FTaeMoz.RaMoId

Feltétel All(StoKod)='1'        {Stornózott}

A raktári mozgásból keletkezett tárgyi eszköz mozgásoknak (ráaktiválás) stornózottnak kell lenni.

 

2. Egyéb stornózási feltételek:

KRakMoz.PSzaBiz=0        Csak Jogcim='4' – Értékesítés esetén!

A raktári mozgáshoz nem tartozhat számla áru tétel. Ha a mozgás számla áru tételhez van kapcsolva, akkor előbb le kell bontani az összerendelést.

KRakMoz.FokAll=0        Főkönyvi kontírozatlan állapot

A mozgás még nincs kontírozva. Kontírozott mozgás kontírozását előbb vissza kell stornózni.

KRakMoz.StornB=0        Még nincs stornírozva

Stornózott tétel már nem stornózható még egyszer, a stornó mozgást pedig nem lehet visszastornózni.

 

Kulcs paraméterek:

Mozgás azonosító        RaMoIdX:= KRakMoz.RaMoID
Eredeti mozgáskód        MozKodX:= KRakMoz.MozKod

MozIraX:=Copy(MozKodX,4,1)

Stornó mozgáskód        MozKodY: előállítandó a MozKodX alapján

If MozIraX=1 Then MozIraY:=2 Else MozIraY:=1

A MozKodY többi eleme megegyezik a MoKodX-el.

Ellenőrizni kell, hogy az új kód létezik-e!

Mozgás előjel                If MozIraY=1 Then MozEljY:=1 Else MozEljY:=-1
Árukód                        AruKodX:= KRakMoz.AruKod
Tárolóhely                TarHelX:=KRakMoz.TarHel
Mennyiség                MennyiX:=KRakMoz.Kiadas
Tétel sorszám                TetSorX:= KRakMoz.Tetsor

 

C, A stornózandó mozgáshoz tartozó tételes mozgások felolvasása

Query_A

SELECT        M.TeMoID, M.TeKeID M_TeKeID, M.RaMoID, M.Bevete, M.Kiadas,

         K.TeKeID K_TeKeID, K.AruKod, K.ParKod, K.BizAzo, K.BevDat, K.TeKeSo,

         K.BevEar, K.NyiKes, K.Bevete K_Bevete, K.Kiadas, K.AktEar, K_Kiadas

FROM                KTetMoz M, KTetKes K

WHERE        M.TeKeID=K.TeKeID

AND        M.RaMoID=:RaMoIdX

ORDER BY        M.RaMoID

 (A Query_A tételeinek száma kiadási mozgások stornózásakor egy vagy több !)

 

D, Query_A kiértékelése

(Felhasználás stornózásakor nem szükséges)

 

E, A felolvasott tételek megjelenítése adatrácsban (Query_A)

A stornózás folyamata a [Stornó végrehajtása] gomb megnyomásával indul.

 

clip1717

 

F, Stornózás elvégezhetőségének vizsgálata

Felhasználás stornózásakor, amely tétel a B pontban ismertetett feltételeknek megfelel, az stornózható.

 

G, A stornózás elvégzése

StartTransaction

 

G.1. Raktári készlet

Készlet sor beolvasása                        (AruKodX,TarHelX)

Készlet sor módosítása

KRakKes.Kiadas:= KRakKes.Kiadas + MozElj * MennyiX

Update KRakKes(AruKodX,TarHelX)

 

G.2. Raktári mozgás tétel

 

G.2.a. Stornó tétel

Adatai megegyeznek a stornózandó tételével, kivéve:

KRakMoz.RaMoID        generált        RaMoIDY

KRakMoz.Tetsor        generált

TetSorY:= KRakMoz.Tetsor

KRakMoz.Kiadas:= MozEljY * MennyiX

KRakMoz.Erteke:= MozEljY * ErtekeX

KRakMoz.Besert:= MozEljY * BesertX

KRakMoz.Aktert:= MozEljY * AktertX

KRakMoz.Stokod:=2

KRakMoz.StornA:=TetSorX

KRakMoz.StornB:=0

Insert        KRakMoz

 

G.2.b. Stornózandó/stornózott tétel        (RaMoIDX)

KRakMoz.Stokod:=1

KRakMoz.StornA:=0

KRakMoz.StornB:=TetSorY

Update        KRakMoz

 

G.3. Árutörzs módosítása

Az árutörzsbe készletkönyveléskor már nem történik visszaírás! A korábban visszaírt adatokat a program az adatok megjelenítésekor számolja ki.

 

G.4. Rendelés módosítás

Ha a mozgáshoz rendelési tétel kapcsolódik, akkor át kell számolni a rendelési tétel kiadott mennyiségét.

 

If KRakMoz.RenSza>0 Then

Begin

RenSza -> KRenTet.TetAzo beolvasás

KRenTet.FeMeGy:= KRenTet.FeMeGy + MennyiX

UpDate

End Else

 

G.5. Tételes mozgás és készlet

While Not EOF(Query_A) Do

Begin

 

G.5.a Tételes készlet

Tételes készlet sor beolvasása                M.TeKeID

Tételes készlet sor módosítása

KTetKes.Kiadas:= KTetKes.Kiadas + MozElj * M.Kiadas

If Abs(K.Bevete - K.Kiadas) > 1E-4 Then K.Elokod:='I' Else K.Elokod:='N

A többi mező nem változik

Update KTetKes(M.TeKeID)

 

G.5.b Tételes mozgás

Tételes mozgás sor beolvasása                M.TeMoID

Új tételes mozgás sor előállítása

KTetMoz.Kiadas:=MozElj * M.Kiadas

KTetMoz.RaMoID:=RaMoIDY                (KRakMoz.RaMoID)

'

A többi mező megegyezik az eredeti sor mezőjével

Insert KTetMoz

Next

End

CommitTransaction