A funkció az egyes áruféleségek minimum és maximum készlet mennyiségének meghatározására szolgál. A számításához meg kell adni a vizsgálandó áruféleségek halmazát (az árukatalógus szűrésével), a vizsgálat időintervallumát, valamint azt, hogy egy kiválasztott raktárra, vagy a vállalkozás egészére akarjuk-e elvégezni a mennyiségek meghatározását. A számítás az áruk adott időszaki értékesítési és felhasználási mozgásainak figyelembevétele alapján zajlik.
Jogosultságkód: 232190 Help context: 232190
Forrás: Frm_MinMaxKes
Tárolt eljárás: Sp_MinMaxKes_Gen.sql
Temporary tábla: Tmp_MinMaxKes_Gen

1. Szűrési feltételek:
1.1. Áru katalógus adatok AAktTor
A12. AktBesKod Áru katalógus besorolás kód fk: AAktBes.AktBesKod
A5. KerAkt Kereskedelmi árukatalógus (I/N)
A13. AktFaj Áru katalógus fajta
1.2. Partner törzs adatok AParTor
K3. PbeKod Partner besorolás fk: APBeTor.PbeKod
1.3. Mozgás időintervallum KMozFej
I5. MozDat Mozgás dátuma
1.4. Raktár kód KMozFej
I4. RakKod Raktár kód Egy adat
2. Számítási mód SzamModX
Amennyiben szűrési feltételként megadtunk egy raktárt, akkor raktári szintű, ha nem szűrtünk raktárra, akkor vállalati szintű lesz a minimum és maximum készlet meghatározása.
1 – Vállalati
A minimum és maximum készlet mennyiség meghatározása a vállalati szintű adatok felhasználásával történik. A kiszámított minimum és maximum készlet vállalati szintű lesz és az áru törzsben lesz eltárolva.
2 – Raktári RakKodX
A minimum és maximum készlet mennyiség egyetlen megadott raktárra kerül meghatározása, az adott raktár forgalmi adatai alapján. A kiszámított minimum és maximum készlet raktári szintű lesz és az áru törzshöz csatolt áru-raktár törzsben lesz eltárolva.
3. A számítás menete
3.1. Adatgyűjtés
A program a szűrési feltételeknek megfelelő áruféleségekre (AruKodX), a megadott időintervallum alapján kiszámítja az alábbi adatokat:
1. AtlagMen A megadott időszak értékesített mennyiségeinek átlaga
2. MaxMen A megadott időszak értékesített mennyiségeinek maximuma
3.2. A minimum és maximum készlet mennyiségének kiszámítása
1. MinKesMen := AtlagMen * C1(AbcKod)
A minimum készlet mennyisége az átlagos értékesítési mennyiség és egy konstans (C1) szorzataként áll elő. A konstans értéke az adott áru ABC kódjától függ. Az egyes ABC kódokhoz tartozó konstans értékeket az ABC_Szorzo nevű tábla tartalmazza.
2. MaxKesMen := MinKes + MaxMen * C2(AbcKod)
A maximum készlet mennyisége a maximális értékesítési mennyiség és egy konstans (C1) szorzataként előálló mennyiség és az előzőekben kiszámított minimum készlet mennyiség összege. A konstans értéke az adott áru ABC kódjától függ. Az egyes ABC kódokhoz tartozó konstans értékeket az ABC_Szorzo nevű tábla tartalmazza.
3.3. A kiszámított minimum és maximum készlet mennyiségének limitálása
1. Eladási ár figyelés
If EladArHuf > EladarMax Then
Begin
MinKesMenX := 0;
MaxKesMenX := 0;
Ha az árutörzsben megadott devizás eladási egységár (a záró dátum árfolyamán) forintra átszámított értéke meghaladja a rendszerparaméterek között megadott maximális árat, akkor az adott árufélség minimum és maximum készlet mennyisége nulla.
End
Else
2. Minimális készletérték figyelése
Begin
If MinKesErt > MinMaxErt
Then MinKesMenX := Round(MinKesMen * MinMaxErt / MinKesErt,0)
Else MinKesMenX := MinKesMen
Amennyiben a kiszámított minimális készletmennyiség eladási áron számított értéke (MinKesErt) meghaladja a rendszerparaméterek között megadott egy árura vonatkozó minimális készletérték maximumát (határértékét), akkor a program a korábban számított minimális készlet mennyiséget úgy korrigálja, hogy a minimális készlet értéke ne haladja meg a határértéket.
3. Maximális készletérték figyelése
If MaxKesErt > MaxMaxErt
Then MaxKesMenX := Round(MaxKesMen * MaxMaxErt / MaxKesErt,0)
Else MaxKesMenX := MaxKesMen
Amennyiben a kiszámított maximális készletmennyiség eladási áron számított értéke (MaxKesErt) meghaladja a rendszerparaméterek között megadott egy árura vonatkozó maximális készletérték maximumát (határértékét), akkor a program a korábban számított maximális készlet mennyiséget úgy korrigálja, hogy a maximális készlet értéke ne haladja meg a határértéket.
End;
4. A számított adatok eltárolása
A számítási mód (SzamModX) függvényében a kiszámított adatok eltárolás máshol történik.
1 – Vállalati
A vállalati szinten számított adatok az áru törzsben kerülnek eltárolásra.
If AAruTor.Rogzit(AruKodX) <> ’I’ Then
Update AAruTor Set MinKes := MinKesX; MaxKes := MaxKesX
Where AruKod = AruKodX
2 – Raktári RakKodX
A raktári szinten számított adatok az áru-raktár törzsben kerülnek eltárolásra.
If AAruRak.Rogzit(AruKodX,RakKodX) <> ’I’ Then
Update AAruRak Set MinKes := MinKesX; MaxKes := MaxKesX
Where AruKod = AruKodX and RakKod = RakKodX
Az ABC kódtól függő konstansokat tartalmazó tábla:
Tábla: Abc_Szorzo

Adatok:
A0. AbcKod varchar (3) NOT NULL , – ABC kód PK
A1. C1 float NOT NULL , – Szorzó – 1 Minimum készlet <A:0>
A2. C2 float NOT NULL , – Szorzó – 2 Maximum készlet <A:0>