A göngyöleg visszavétel egyrészt úgy működik, mint az áru beszerzés (saját készlet növekedés), másrészt, mint az áru értékesítés (csökkenti a vevőnél lévő készletet).
Jogosultságkód: 2322422 Help context: 2322422
A göngyöleg visszavásárlás két módszerrel történhet:
1. Egy kiválasztott tételből történő készlet visszavásárlás
A visszavásárlás könyvelése a vevőnél nyilvántartott, az operátor által kijelölt tételből történik.

Ezt a módszert a késztermékhez kapcsolódó göngyölegek könyvelésénél alkalmazzuk.
2. FIFO elven történő göngyöleg visszavásárlás
A UNIS rendszerben a göngyöleg visszaváltás nem ezzel a módszerrel történik, azonban szállító alapanyag gépi számla készítéskor (beváltás) a beváltott bálák visszavásárlása során ezt a módszert használja. A göngyöleg visszavásárlási mozgást a szállítói gépi számla készítő funkció előkészített készletállapotban (1) rögzíti. Ekkor a készletmozgás hatása a készletben még nincs érvényesítve. A készlet tényleges könyvelése, a mozgás feldolgozott állapotba (2) való tétele, és mozgás hatásának átvezetése a készleten a [Göngyöleg mozgás] gomb megnyomása után történik meg.

Ha megnézzük a FIFO elven történő könyvelés alábbiakban ismertetett módszerét, akkor látni fogjuk, hogy az egy kiválasztott tételből való könyvelés (1.) ugyanaz, mintha a FIFO elven való könyveléskor csak egy tétel volna, amiből visszavásárolhatunk, azaz mintha a FIFO ciklusa csak egyszer futna meg.
A visszavásárlás során a program a visszavásárolt mennyiséget FIFO elven vezeti ki a vevőnél lévő készletből, és annyi bevételezési készlet (és tételes mozgás) tételt állít elő, ahány vevői készlet tételből vette vissza a visszavásárolt mennyiséget. Tehát a visszavásárlás könyvelési logikája az áru felhasználás logikájához hasonlít.
Az alábbi táblák kezelése ugyanúgy történik, mint az áru vásárlás során:
KMozFej – Mozgás fej
KRakMoz – Raktári mozgás
A beszerzési áras és az aktuális áras érték mezők (BesErt:=BesErtX, AktErt:=AktErtX lásd: később) a tételes mozgásokból számítandók és írandók ide be.
KRakKes – Raktári készlet
A további készlet táblák egyes sorai a FIFO elvű könyvelés során kapnak érétket. A program megkeresi az adott áruból az adott vevőnél lévő legrégebbi készletet, és ebből próbálja visszavételezni a kívánt mennyiséget. Amennyiben az első tétel nem nyújt fedezetet a teljes mennyiség visszavételére, akkor a program mindaddig az időben következő tétellel folytatja a könyvelést, amíg a teljes visszavételezendő mennyiséget le nem könyvelte a tételes göngyszer készletből.
Qry_KTeKeGo A tételes göngyszer készletét felolvasó query
WHERE KTeKeGo.AruKod=p_AruKod And KTeKeGo.ParKod=p_ParKod
TraSor:=0 Tranzakció tételsorszám
Maradek:=KRakMoz.Bevete Visszavásárolt mennyiség
While Maradek>0 Do
Begin
If Not (qry_KTeKeGo.EOF) Then
Begin
qry_KTeKeGo_Kiadhato:=Bevete-Kiadas
If Maradek>qry_KTeKeGo_Kiadhato Then
Begin
Konyvelendo:= KTeKeGo_Kiadhato
Maradek:=Mardek- Konyvelendo
End
Else
Begin
Konyvelendo:= Maradek
Maradek:=Mardek- Konyvelendo
End
If Konyvelendo>0 Then
Begin
TraSor:=TraSor+1
KTeKeGo_Modify
BesErtX:=BesErtX+Konyvelendo*KTeKeGo.BevEar
KRakMoz_Insert
KTetKes_Insert
Ha már van adat ezzel a TeKeId-vel, akkor csak a Bevete módosul (Modify).
KTetMoz_Insert
KTeMoGo_Insert
End Else
KRakMoz – Raktári mozgás
Insert
Csak a normál számla alapú vásárlástól eltérő adatmezők találhatóak az alábbi felsorolásban!
I5. Bevete Bevét mennyisége Konyvelendo
É1. ErEgAr Értékesítési egységár KTeKeGo.ErtEar
Amely áron a göngyöleg értékesítve lett.
Á6. EgysAr Egységár – Beszerzés KTeKeGo.BevEar
Az értékesített göngyöleg bekerülési egységára.
Á8. Erteke Nettó érték Konyvelendo*KTeKeGo.BevEar
Á9. BesErt Beszerzési érték Konyvelendo*KTeKeGo.BevEar
Á10. AktErt Aktuális áras érték Konyvelendo*KTeKeGo.BevEar
A raktári mozgásban csak a bekerülési érték szerepel. Az értékesítés értékét a számla tartalmazza.
KTeKeGo – Tételes készlet – göngyöleg
Modify
A10. Kiadas Kiadás
< Kiadas + Konyvelendo >
A11. EloKod Élőkód
If (NyiKes+Bevete-Kiadas)>0 Then EloKod:='I' Else EloKod:='N'
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
KTetKes – Tételes készlet
Insert
Alap adatok:
A1. TeKeID Tételes készlet ID <KTeKeGo.TeKeId>
A2. AruKod Árukód <KRakMoz.AruKod>
A3. ParKod Partner kód <KRakMoz..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 <KTeKeGo.BevEar>
A8. NyiKes Nyitókészlet <0>
A9. Bevete Bevételezés <Konyvelendo>
A10. Kiadas Kiadás <0>
A11. EloKod Élőkód <I> - Bevételezéskor mindig.
A12. AktEar Aktuális egységár <KTeKeGo.BevEar>
A13. EloEar Előző egységár <0>
A14. ErHeDt Értékhelyesbítés dátum <BevDat>
A15. PenAll Pénzügyi állapot PPA <0>
A16. FokAll Főkönyvi állapot FAL <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
KTetMoz – Tételes mozgás
Insert
Alap adatok:
A1. TeMoID Tételes mozgás ID <KRakMozRaMoId + TraSor>
A2. TeKeID Tételes készlet ID <KTetKes.TeKeId>
A3. RaMoID Raktári mozgás ID <KRakMoz.RaMoId>
A4. Bevete Bevét mennyiség <Konyvelendo>
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 időpontja generált
KTeMoGo – Tételes göngyöleg 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 <0>
A5. Kiadas Kiadás mennyiség <Konyvelendo>
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öngyöleg visszavétel 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 bevétele 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 kiadá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 M.*, K.*
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 kiadási mozgások stornózásakor egy vagy több !)
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
Tételes készlet sor beolvasása M.TeKeID
Tételes készlet sor módosítása
K.Kiadas:= K.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 K(M.TeKeID)
B.2. Tételes mozgás
Tételes mozgás sor beolvasása M.TeMoID
Új tételes mozgás sor előállítása
K.Kiadas:=MozElj * M.Kiadas
K.RaMoID:=RaMoIDY KRakMoz.RaMoID
'
A többi mező megegyezik az eredeti sor mezőjével
Insert M
M.TeMoID generálás KTetMoz.TeMoId
Next
End
CommitTransaction