A raktári felhasználások adatainak rögzítésére szolgáló funkció.
Jogosultságkód: 232222 Help context: 232222
A felhasználás funkcióba is egy előtétszűrés képernyőn keresztül jutunk be.
Lásd:
Előtétszűrés
A szűrés végrehajtása után egy bizonylatfej adatait rögzíthatjük, vagy egy kiválasztott bizonylat adatait módosíthatjuk.
KMozFej - Mozgás fej

Input adatok:
Általános input adatok:
I1. BToKod Bizonylat tömb kód fk: KBToTor.BToKod
I4. RakKod Raktárkód fk: ARakTor.RakKod
I5. MozDat Mozgás dátuma
I6. Bizony Bizonylatszám
I9. SzeKod Szervezeti egység fk: ASzerTor.SzeKod
Az anyagot felhasználó szervezeti egység kódja. A felhasználás kontírozásába is bekerül, így a költségek a főkönyvből szervezeti egységekre is kigyűjthetőek.
I10. DolKod Dolgozó kód fk: ADolTor.DolKod
Az anyagot felhasználó dolgozó kódja. A felhasználás kontírozásába is bekerül, így a költségek a főkönyvből dolgozókra is kigyűjthetőek.
I12. Megjeg Megjegyzés
Program által előállított adatok:
Általános input adatok:
I2. Relaci Reláció PRE <1>
I3. DevKod Deviza kód fk: ADevTor.DevKod <HUF>
I7. SzlSza Szállítólevél szám <0>
I8. ParKod Partner kód fk: AParTor.ParKod <0>
I11. FimKod Fizetési mód fk: AFimTor.FimKod <0>
Alap adatok:
A1. BizAzo Bizonylat azonosító pk
A bizonylat azonosítót a program a kiválasztott bizonylattömb kódja és mozgás dátuma alapján generálja.
A2. BizAzoP Pénzügyi bizonylat azonosító fk:PSzaAla.SzAlId <0>
A3. KnyvEv Könyvelés éve <MozDat-ból>
A4. KnyvHo Könyvelés hónapja <MozDat-ból>
Állapot adatok:
Á1. Jogcim Jogcím - mozgáskódból JOG <5> - Felhasználás
Á2. BesTip Beszerzés típus BES <0>
Á3. PenAll Pénzügyi állapot PPA <0>
Á4. FokAll Főkönyvi állapot FAL <0>
Á5. StoKod Stornó állapot: STO <0>
Á6. SzNyDb Nyomtatott bizonylat példányszáma <0>
Á7. CegKod Cégkód <0>
Á8. GonRog Göngyszer rögzítés <N>
Napló adatok:
N1. Opekod Operátor kód
N2. Terkod Terminál kód
N3. Rogdat Rögzítés időpontja
KRakMoz – Raktári mozgás tétel tábla

Input adatok:
Általános input adatok:
I1. AruKod Árukód fk: AAruTor.AruKod
I2. TarHel Tárolóhely fk: KTarHel.TarHel
A tárolóhelynek a fejben definiált raktárhoz kell tartoznia. A program a fejben megadott raktárkód azon tárolóhelyeit jeleníti meg, amelyekből a kiválasztott áruból készlet van.
I3. MozKod Mozgáskód fk: KMozDef:MozKod
I4. Megjeg Megjegyzés
I6. Kiadas Kiadás mennyiség
I7. RenSza Rendelésszám (+tételsorszám)
Vásárlás és felhasználás esetén értelmezett. Egyébként értéke 0. fk: KRenTet.TetAzo
I8. MlpAzo Munkalap azonosító
I9. ProKod Project kód fk: FProTor.ProKod <>0
Felhasználás esetén mindig kell lenni project kódnak!
Ha van megadva munkalap azonosító, akkor a program onnan tesz ajánlatot a project kódra:
<If MlpAzo<>0 Then A:KMunLap.ProKod Else>
A project törzsben megadott tárgyi eszköz típus eldönti, hogy szükséges-e megadni a mozgáshoz tárgyi eszközt. 1 és 3 típus kód esetén a tárgyi eszköz megadása elkerülhetetlen, egyéb kódok esetén pedig lehetséges.
PteKodX:= FProTor.PteKod – Project – tárgyi eszköz típus
If PteKodX=1 or 3 Then TaenAz<>0 Kell tárgyi eszköz azonosító
Else Lehet megadni TE azonosítót!
Ha a kiválasztott project tartalmaz költségviselőt (7-es számlaosztály), akkor a program a project törzsből veszi a felhasználás költségnemét (5-es számlaosztály) és költségjellegét, egyébként pedig az árukatalógus törzsből.
If FProTor.KtgVis<>'X' Then PrKtVisBo:=True PrKtVisBo:=False
Tartalmaz-e költségviselőt a project?
KtgHelP:= FProTor.KtgHel - A project költséghelye.
KtgJelP:= FProTor.KtgJel - A project költségjellege.
Költségfelmerülési adatok anyagfelhasználás esetén:
K6. TaenAz Tárgyi eszköz Sw: FTaeFej.TaenAz
Ha van megadva munkalapszám, akkor a program a munkalap törzsből ajánlatot tesz a tárgyi eszköz kódra. Munkalapszám hiányában a project törzsből próbál ajánlatot tenni a tárgyi eszközre. Ha a project törzsben sincs tárgyi eszköz megadva, akkor a program a tárgyi eszközre nem tesz ajánlatot.
If MlpAzo<>0 Then A:KMunLap.TaenAz
Else If ProKod<>0 Then A:FProTor.TaenAz Else;
A project törzsben megadott tárgyi eszköz típus eldönti, hogy szükséges-e megadni a mozgáshoz tárgyi eszközt. 1 és 3 típus kód esetén a tárgyi eszköz megadása elkerülhetetlen, egyéb kódok esetén pedig lehetséges.
If PteKodX=1 or 3 Then TaenAz<>0 Kell tárgyi eszköz azonosító
Else Lehet megadni TE azonosítót!
Ha van megadott tárgyi eszköz, akkor a program a tárgyi eszköz törzsből átveszi a könyveléshez a tárgyi eszköz költséghelyét és költségjellegét. Tárgyi eszköz hiányában a program a project törzsből veszi át a költséghelyet és költségjelleget.
TE+: Tárgyi eszköz azonosító van megadva
KtgHelT:= FTaeFej.KthSzl - A tárgyi eszköz költséghelye.
KtgJelT:= FTaeFej.KtgJel - A tárgyi eszköz költségjellege.
TE–: Tárgyi eszköz azonosító nincs megadva
KtgHelP:=0
KtgJelP:=0
Ha nincs tárgyi eszköz megadva, akkor a project költséghelye és költségjellege nullázódik, mert nem kell a két (project és tárgyi eszköz) költséghelyre és költségjellegre ellenőrzést végezni.
Program által előállított adatok:
Alap adatok:
A1. RaMoID Raktári mozgás ID pk
A raktári mozgás azonosító mezője. A program a mozgás fej azonosítójából és a fejhez kapcsolódó mozgás tételsorszámából állítja elő.
A2. BizAzoP Pénzügyi bizonylat azonosító <0>
Kapcsolódási kulcs a számlanyilvántartáshoz <0>
A3. KnyvEv Könyvelés éve <MozDat-ból>
A4. KnyvHo Könyvelés hónapja <MozDat-ból>
A5. BizAzo Bizonylatazonosító fk: KMozFej.BizAzo
Master – Detail kapcsolat
A6. TetSor Tétel sorszám Inkrementális
Általános input adatok:
I5. Bevete Bevét mennyiség <0>
Költségfelmerülési adatok anyagfelhasználás esetén:
A. Költségnem:
| 1. | Alapértelmezés: A felhasznált áru árukatalógusa határozza meg. <AAktTor.FKtgNem> |
| 2. | Olyan project kód lett megadva a felhasználáshoz <KRakMoz.ProKod>, amelyhez költségnem lett megadva <FProTor.KtgNem<>'X'> : A project törzs költségnem mezője lesz a könyvelés költség-neme: <FProTor.KtgNem> |
| 3. | Tárgyi eszköz azonosító kód van megadva a felhasználáshoz <KRakMoz.TaenAz<>0> : A tárgyi eszköz azonosító a költségfelmerülések csoportosítására szolgál, az előbbiekben meghatározott költség-nemet nem változtatja meg. |
B. Költségtípus
Az előbb kiválasztott költségnem <KRakMoz.KtgNem> határozza meg a főkönyvi számla törzsből <FFokTor.KtgNem>
C. Költséghely, költségjelleg
| 1. | A project meghatároz egy költséghelyet és egy költségjelleget <FProTor.KtgHel -> KtgHelP, FProTor.KtgJel -> KtgJelP> |
| 2. | Tárgyi eszköz azonosító kód van megadva a felhasználáshoz <KRakMoz.TaenAz<>0 : A tárgyi eszköz is meghatároz egy költséghelyet és egy költségjelleget <FTaeFej.KthSzl -> KtgHelT, FTaeFej.KtgJel -> KtgJelT>. |
| 3. | Amennyiben a project által meghatározott költséghely és költségjelleg megegyezik a tárgyi eszköz által definiálttal < KtgHelP= KtgHelT AND KtgJelP=KtgJelT>, akkor az egyező adatokkal történik a kontírozás <KtgJHelT, KtgJelT>. |
| 4. | Akár a project által meghatározott költséghely nem egyezik meg a tárgyi eszköz által definiálttal, akár a két költségjelleg nem egyforma, akkor a program nem engedi meg a felhasználási tétel rögzítését. |
| 5. | Amennyiben nincs megadva tárgyi eszköz, akkor az egyeztetés elmarad, és a project által meghatározott költséghely és költségjelleg lesz az érvényes. |
K1. KtgNem Költségnem kód fk: FFokTor.FokKod 5*
<FProTor.KtgNem>
<If PrKtVisBo=True Then FProTor.FktgNem Else>
<Tárgyi eszköz kód megadása, vagy meg nem adása nem változtatja meg a költség-nemet!>
K2. KtgHel Költséghely kód fk: FFokTor.FokKod 6*, 7*
<FProTor.KtgHel>
K3. KtgJel Költségjelleg FKT
<FProTor.KtgJel>
K4. KtgTip Költségtípus FTP
<KRakMoz.KtgNem -> FFokTor.KtgTip>
K5. KonTip Kontírozás típusa SKT <0>
Értékesítési adatok
É1. ErEgAr Egységár – Mozgás <0>
Állapot adatok:
Á1. KesAll Készletkönyvelési állapot MAL <1> – Előkészített
A felhasználás és az értékesítés adminisztrációja során lehetőség van arra, hogy a rögzített készletmozgás hatása ne azonnal vezetődjön át a készleten, hanem a mozgás csak előkészített állapotban legyen. Az előkészített állapotnak megfelelő adatokat nem a raktár rögzíti. A készletváltozás a raktár általi könyveléssel, raktári kiadással történik meg. Ekkor kerül a tétel feldolgozott állapotba.
Á2. PenAll Pénzügyi állapot PPA <0>
Á3. FokAll Főkönyvi állapot FAL <0>
Á4. TaeAll Tárgyi eszköz állapot MAL <0>
<If AAktTor.EszKod(AruKod)=1 Then TaeAll:=1 Else TaeAll:=0>
Á5. DoeAll Dolgozói állapot MAL <0>
Á6. EgysAr Egységár – Mozgás HUF <0>
Á7. AruTAr Egységár – Árutörzsben – Elszámoló ár <AAruTor.NyilAr>
Á8. Erteke Nettóérték HUF <AktErtX>
Á9. BesErt Beszerzési áras érték HUF <BesErtX>
Kiadás: A kiadás könyvelésekor számított, a forrás készlettétel beszerzési egységára alapján.
Á10. AktErt Aktuális áras érték HUF <AktErtX>
Kiadás: A kiadás könyvelésekor számított, a forrás készlettétel aktuális egységára alapján.
Á10. AtpKod Ártípus kód ATP <0>
Á12. StoKod Stornó állapot: STO <0>
Á13. StornA Stornózott tétel sorszáma - Forrás <0>
Á14. StornB Stornó tétel sorszáma - Cél <0>
Napló adatok:
N1. Opekod Operátor kód
N2. Terkod Terminál kód
N3. Rogdat Rögzítés dátuma
AAruTor – Áru törzs
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.
KTetKes - Tételes készlet
Modify
Lásd: Értékesítés
KRakKes – Raktári készlet
Modify
Lásd: Értékesítés
KTetMoz – Tételes mozgás
Insert
Lásd: Értékesítés
Mozgás adatok stornózása:
Kiadás - Stornó
Dolgozói eszköznyilvántartás
Amennyiben a raktári mozgás mozgás kódja dolgozói eszköz mozgás típusú, akkor a kiadás mozgás mellett egy partnerenkénti készlet bevételezési mozgást is rögzítünk.
If KMozDef(KRakMoz.MozKod).DolEsz = ’I’
Begin
TcSp_ParKesAdmin
p_RaMoId KRakMoz.RaMoId Raktári mozgás azonosító
p_OpeKod gc_OpeKod Operátor azonosító
p_TerKod gc_TerKod Terminál azonosító
p_HibaStr varchar (300) Out Hibaüzenet string
p_RaMoIdUj varchar (20) Out Partnerenkénti készletmozgás azonosítója
Amennyiben a partnerenkénti készletmozgás rögzítése sikerült (p_RaMoIdUj Is Not Null), akkor a program az azonosítót megjeleníti a képernyőn. Ellenkező esetben (p_HibaStr <> ’’) a hibaüzenetet láthatjuk.
End
A tárolt eljárás által megvalósított adat adminisztráció
A tárolt eljárás a készlet felhasználás fej és mozgás, valamint rendszer paraméterek alapján állítja elő a partnerenkénti készlet bevételezési adatokat.
1. Mozgás fej – Partnerenkénti készlet bevét
A program megvizsgálja hogy a felhasználás mozgás fejben megadott dolgozónak (KMozFej.DolKod) a kiadás napjával (KMozFej.MozDat) van-e olyan partnerenkénti készlet bevételezési mozgás feje (KMozFej.BtoKod = SAzoAda.BtoKodParKesBev), amelyik még nincs kinyomtatva (KMozFej.SzNyDb < 1). Ha létezik a feltételeknek megfelelő mozgás fej, akkor a program nem hoz létre új bevételezési fejet, hanem a megtalált fejhez csatolja a bevételezési mozgást.
Ha nem talál megfelelő mozgás fejet a program, akkor létrehozza azt:
KMozFej(Bev).Insert
BizAzo := exec sp_BizAzo_Gen @BtoKod, 5, @MozDat, @BizAzo out
BtoKod := SAzoAda.BtoKodParKesBev
RakKod := AdolTor(KMozFej(Felh).DolKod).RakKod
MozDat := KMozFej(Felh).MozDat
Bizony := KMozFej(Felh).Bizony
ParKod := AParTor(DolKod=KMozFej(Felh).DolKod).ParKod.Max
SzeKod := ADolTor(KMozFej(Felh).DolKod).SzeKod
DolKod := KMozFej(Felh).DolKod
Megjeg := KMozFej(Felh).Megjeg
A Felhasználás funkcióban nincs lehetőség partner kód megadására, miközben a dolgozói eszköznyilvántartást a partnerenkénti készlet nyilvántartással valósítjuk meg. Az ellentmondást úgy oldjuk fel, hogy mivel a partnertörzsben a dolgozók is szerepelnek, ezért a program megkeresi dolgozóhoz tartozó legnagyobb (legújabb) élő partner kódot. Ez a kód lesz a nyilvántartás alapja. Ezért ügyelni kell rá, hogy a partner törzsben a dolgozóhoz lehetőleg csak egy élő partner kód tartozzon.
2. Raktári mozgás – Partnerenkénti készlet bevét
A program a létrehozott, vagy megtalált mozgás fejhez kapcsolódóan előállítja a raktári mozgás tételet.
KRakMoz(Bev).Insert
RaMoId := KMozFej(Bev).BizAzo + TetSor
AruKod := KRakMoz(Felh).AruKod
TarHel :=
MozKod :=
Megjeg := KRakMoz(Felh).
Bevete := KRakMoz(Felh).Kiadas
Kiadas := 0
KesAll := ’1’ – Előkészített készlet állapot
EgysArD := KRakMoz(Felh).AktErt / KRakMoz(Felh).Kiadas
BesErt := KRakMoz(Felh).AktErt
AktErt := KRakMoz(Felh).AktErt
3. Az előkészített készlet állapotú raktári mozgás bevételezése
exec TcSp_RakMoz_Bevet 'E', @p_RaMoIdUj, @p_OpeKod, @p_TerKod, @TetSorB out
4. A felhasználás és dolgozói eszköz bevételezési mozgás összekapcsolása
insert into KRakMozOsz(Id, RaMoIdA, RaMoIdK, OsReFa, Opekod, Terkod, Rogdat)
values (@MozOszId, @p_RaMoId, @p_RaMoIdUj, 'DEK', @p_Opekod, @p_Terkod, getdate())
Felhasználási mozgás adatok ellenőrzése mentés előtt
Az adatbázis megszorítások nem engedik meg, hogy egy kötelező kitöltésűnek definiált adatmezőt üresen elmentsünk. További megszorításként azt is megadhatjuk, hogy az adott mezőben csak 0-tól eltérő értéket (kódot) fogadjon el program. Rendszerparaméterek (KAzoAda) segítségével a számla áru tábla alábbi adatmezőinél írhatjuk azt elő, hogy a mező tartalma nem lehet 0:
A. Mozgás fej adatok Rendszer paraméter
B. Mozgás tétel adatmezői Rendszer paraméter