A göngyszer értékesítésekor ugyanúgy kell eltárolni a vevőknél lévő göngyölegek készletadatait, mint vásárláskor a saját készlet adatait. Ez a modul ugyanúgy működik, mint az áru értékesítési modul, eltérés mindössze annyi, hogy még egy további táblába kell adatot bejegyezni.

A tételes göngyszer készlet táblába annyi új tételt kell beszúrni, ahány tételes készlet sorból lett kiadva az értékesített mennyiség, azaz ahány új tételes mozgás sor lett beszúrva. A tételes göngyszer készlet táblába az új sorok bejegyzését a tételes mozgás táblába való bejegyzés után kell egyenként elvégezni.
KTeKeGo – Tételes göngyszer készlet
Az vevőknél lévő göngyölegek készletadatinak elkülönített nyilvántartására szolgáló tábla
Insert
Alap adatok:
A1. TeKeID Tételes készlet ID <KTetMoz.TeMoId>
A2. AruKod Árukód <KRakMoz.AruKod>
A3. ParKod Partner kód <KMozFej.ParKod>
A4. BizAzo Bizonylatazonosító <KMozFej.BizAzo>
A5. BevDat Bevételezés dátuma <KMozFej.MozDat>
A6. TeKeSo Tételes készlet sor. <0>
A7. BevEar Bevételezési egységár <KTetKes.AktEar>
A8. NyiKes Nyitókészlet <0>
A9. Bevete Bevételezés <KTetMoz.Kiadas>
A10. Kiadas Kiadás <0>
A11. EloKod Élőkód <I> - Bevételzéskor mindig.
If (NyiKes+Bevete-Kiadas)>0 Then EloKod:='I' Else EloKod:='N'
A12. ErtEar Értékesítési egységár
If AAruTor.ErtNel='I' Then 0 Else KRakMoz.ErEgAr
Napló adatok:
N1. Opekod Rögzítés napló adatok generált
N2. Terkod Terminál kód generált
N3. Rogdat Rögzítés dátuma generált
KTeMoGo – Tételes göngyszer mozgás tábla
Az vevőknél lévő göngyölegek készletadatinak korrekciós mozgásait tartalmazó tábla.
Insert
Alap adatok:
A1. TeMoID Tételes mozgás ID <KTetMoz.TeMoId>
A2. TeKeID Tételes készlet ID <KTeKeGo.TeKeId>
A3. RaMoID Raktári mozgás ID <KRakMoz.RaMoId>
A4. Bevete Bevét mennyiség <KTetMoz.Kiadas>
A5. Kiadas Kiadás mennyiség <0>
Napló adatok:
N1. Opekod Rögzítés napló adatok generált
N2. Terkod Terminál kód generált
N3. Rogdat Rögzítés dátuma generált
Göngyszer értékesítés stornózása
A raktári adatok (KRakMoz,KTetKes,KtetMoz,AAruTor) stornózása ugyanúgy történik, mint a többi termék kiadása esetén, de a stornózási folyamat kiegészül a göngyszer mozgások (KTeMoGo) és készlet (KTeKeGo) stornózásával. Ez utóbbi bevételezés típusú stornó.
A stornózás alapja a stornózandó mozgás raktári azonosítója: RaMoIdX:=KRakMoz.RaMoId
MozElj:=-1
A, A stornózandó mozgáshoz tartozó tételes mozgások felolvasása
Query_G
SELECT K.* , M.*
FROM KTeMoGo M, KTeKeGo K
WHERE M.TeKeID=K.TeKeID
AND M.RaMoID=:RaMoIdX
ORDER BY M.RaMoID
(A Query_G tételeinek száma bevételezési mozgások stornózásakor mindig 1 db !)
B, A stornózás elvégzése
StartTransaction
Tételes mozgás és készlet
While Not EOF(Query_G) Do
Begin
B.1. Tételes készlet <KTeKeGo>
Tételes készlet sor beolvasása M.TeKeID
Tételes készlet sor módosítása
K.Bevete:= K.Bevete + MozElj * M.Bevete
If Abs(K.Bevete - K.Kiadas)>1E-4 Then K.Elokod:='I' Else K.Elokod:='N'
A többi mező nem változik
Update K(M.TeKeID)
B.2. Tételes mozgás <KTeMoGo>
Tételes mozgás sor beolvasása M.TeMoID
Új tételes mozgás sor előállítása
MBevete:=MozElj * M.Bevete
M.RaMoID:=RaMoIDY (KRakMoz.RaMoID stornó tétel)
A többi mező megegyezik az eredeti sor mezőjével
Insert M
M.TeMoID generálás <KTetMoz.TeMoId>
Next
End
CommitTransaction