A program által felajánlott eladási egységárat az ártípus kód dönti el. Az ártípus kódját alapvetően a partner törzsben, a kereskedelmi adatfülön beírt ártípus kód határozza meg.
AtpKod Ártípus kód ATP
Csak értékesítés esetén értelmezett, egyébként értéke 0.
A programban az alábbi módokon lehet az értékesítési egységárat megadni:
0 – Teljes ár
A program értékesítési árként az árutörzsben megadott eladási árat ajánlja fel.
EgysAr := AAruTor.EladAr
1 – Vevő kedvezmény
EgysAr := AAruTor.EladAr*(1 – AParTor.Kedvez / 100)
A program értékesítési egységárnak az árutörzs eladási árát a partner törzsben megadott vevő kedvezménnyel csökkentve ajánlja fel.
2 – Termék kedvezmény
If SA.TerKedvAkcIdoFigy=’N’ or KMozFej.MozDat In [AAruTor.AkcArKez;AkcArBef]
Then EgysAr := AAruTor.ListAr Else EgysAr := 0
Amennyiben rendszerparaméterként azt adtuk meg, hogy a kedvezményes ár igénybevételének nem feltétele az, hogy az értékesítés dátuma az áru akciós időintervallumába essen (SA.TerKedvAkcIdoFigy=’N’), vagy ha előírtuk az intervallum figyelést (SA.TerKedvAkcIdoFigy=’I’), és az teljesül is, akkor a program értékesítési árként az árutörzsben megadott lista (kedvezményes) árat ajánlja fel.
3 – Rendelési egységár
KRakMoz.RenSza -> KRenTet.TetAzo
If KRenTet.VigEar> 0 Then EgysAr := KRenTet.VigEar
Else EgysAr := KRenTet.IgeEar
A program a kiválasztott rendelési tétel visszaigazolási egységárát, vagy ha nincs visszaigazolás, akkor az igénylési (ajánlati) egységárát ajánlja fel.
A rendelési egységáras ártípus tulajdonképpen csak egy pillanatig létezik. Amikor kiválasztjuk a rendelést, akkor lesz az ártípus rendelési egységáras. Azonban a rendelés kiválasztása után a program azonnal átveszi a rendelés egységárát (visszaigazolt vagy igénylési) és a rendelésben megadott ártípust is.
4 – Egyedi kedvezmény
EgysAr := AAruTor.EladAr*(1 – KedvezX / 100)
Az operátor által input adatként megadott százalékos kedvezmény mértékével csökkenti a program az eladási egységárat. A kedvezmény mértéke 0 és 100 % között lehet.
Az egyedi kedvezményes ár úgy is előállítható, hogy az operátor nem a kedvezmény százalékos mértékét, hanem az egyedi eladási árat írja be az ár input mezőbe.
Amennyiben az adatrögzítés során az ártípus mezőben nem az egyedi kedvezmény kódja (4) van, de az operátor módosítja a program által felajánlott egységárat, akkor a program az ártípus kódját egyedi kedvezményre változtatja (4).
Amennyiben az értékesítési engedmény csoport törzsben a partnerhez rendelt engedmény csoport kódhoz, és az értékesített áru árukatalógus kódjához megadtunk maximális engedményt (CErtEngTet(AParTor.EngKod,AAruTor.AktKod).MaxEng is not null), akkor a program nem engedi meg, hogy a megadott eladási árból és a teljes eladási árból számított engedmény mértéke meghaladja a maximális engedményt.
If KedVezX > CErtEngTet.MaxEng Then KedVezX := CErtEngTet.MaxEng
Amennyiben az operátornak jogosultága van arra, hogy átlépje a maximális kedvezményt, akkor a program figyelmeztet a határ átlépésre. Ha nincs joga a program kezelőjének túllépni a határt, akkor a program a maximális engedménnyel számított egységárat ajánlja fel.
5 – Partner-áru ár (fix ár)
Select Top 1 EladAr, DevKod
From AParAru
Where AParAru.ParKod = KMozFej.ParKod
And AParAru.AruKod = KRakMoz.AruKod
And AParAru.EloKod = ’I’ - Csak az élő tételek vehetők figyelembe!
And AParAru.EladAr > 0 - Csak az olyan tétel számít, amelynek van eladási ára!
If Not Eof Then EgysAr := AParAru.EladAr Else EgysAr := 0
A program a vevő partnerhez és a kiválasztott áruhoz a partner-áru törzsben definiált eladási egységárat ajánlja fel. Az egységár mellett a funkció visszaadja a fix-ár devizanemét is. Amennyiben egy partner számára egy áruféleségből több devizanemben definiálunk árat, akkor a program a devizanemek kódsorrendjében az elsőt adja vissza.
6 – Partner-csoport ár
A program a partner kedvezmény csoport kódja és az áru árukatalógus kódja alapján meghatározott engedményekkel csökkentett eladási árat ajánlja fel. Az összes engedmény három engedmény típus engedményeinek összegeként állhat elő: normál, akciós, csökkentett értékű.
A vevő partner kódja a partner törzsből meghatározza az engedmény csoport kódját. Az engedmény csoportokhoz, mint fej adatokhoz vannak rögzítve az árukatalógusonként meghatározott engedmény tétel adatok.
ParKod -> AParTor.EngCso -> CErtEngAla.EngKod
Az értékesített áru árukatalógus kódja alapján kiválasztható az engedmény csoport fejhez tartozó megfelelő engedmény tétel.
AruKod -> AAruTor.AktKod -> CErtEngTet.AktKod
Az engedmény tétel négy adatmezője lesz fontos számunkra: normál, akciós, csökkentett értékű, és maximális engedmény százalékos mértéke.
Normál engedmény: KedvezN := CErtEngTet.EngNor
A normál engedmény minden idesorolt partner minden ide tartozó árukódjára jár.
Akciós engedmény: KedvezA := CErtEngTet.EngAkc Or 0
A százalékos akciós engedmény igénybevételének az a feltétele, hogy az értékesítés dátuma az áru akciós időintervallumába essék:
KMozFej.MozDat In [AAruTor.AkcArKez;AkcArBef]
Csökkentett engedmény: KedvezC := CErtEngTet.EngCso Or 0
Feltétel: Az áru csökkentett értékűnek van definiálva.
AAruTor.ErtCso = ’I’
Összes engedmény: KedvezX := KedvezN + KedvezA + KedvezC
Amennyiben az értékesítési engedmény csoport törzsben a partnerhez rendelt engedmény csoport kódhoz, és az értékesített áru árukatalógus kódjához megadtunk maximális engedményt (CErtEngTet(AParTor.EngKod,AAruTor.AktKod).MaxEng is not null), akkor a program nem engedi meg, hogy az összesített engedmény mértéke meghaladja a maximális engedményt.
If KedVezX > CErtEngTet.MaxEng Then KedVezX := CErtEngTet.MaxEng
EgysAr := AAruTor.EladAr*(1 – KedvezX / 100)
7 – Ár nélkül
Alapvetően a rendelés modulban használt ártípus. Akkor alkalmazzuk, amikor nem tudjuk, vagy nem akarjuk megadni a visszaigazolási / értékesítési egységárat.
Ennél az ártípusnál a program egységárként nullát ajánl fej, melyen az operátor nem tud változtatni. Itt nincs százalékos kedvezményszámítás sem.
EgysAr := 0
A rendelésben megadott ár nélküli ártípus esetén a partner törzsben megadott ártípus lép érvénybe.
8 – Árrés – Beszerzés {2021.11.05}
A program a partner kedvezmény csoport kódja és az áru árukatalógus kódja alapján meghatározott árrésel növeli meg a beszerzési egységárat az eladási ár kiszámítása során.
R – Összetett – R (Rumed)
Összetett árképzési mód esetén a program egy árképzési logika szerint állítja elő az árképzési módot, amely valamelyik elemi árképzés lesz.
R – Összetett – R (Rumed) árképzési mód
Az eladási ár meghatározását befolyásoló tényezők:
1. A felhasználó által megadott ártípus
Amennyiben a felhasználó megváltoztatja a program által felajánlott árképzési módot (amennyiben van hozzá joga), akkor az az árképzési mód lép érvénybe, amit kiválasztott.
AtpKodX := Input (1 – 6)
2. Rendelési egységár
A legerősebb eladási ár a visszaigazolt rendelési egységár, vagy ha nem volt visszaigazolás, akkor az ajánlati egységár.
A rendelési egységárat akkor alkalmazhatjuk, ha az értékesítési tételt rendeléshez kötöttük. Új tétel felvitelekor a rendelésnek nincs kezdő értéke, illetve az is előfordulhat, hogy az értékesítés nem kapcsolódik rendeléshez. Ekkor a rendelési egységárat nem lehet alkalmazni.
Az árukód megadásakor, vagy a rendelési tétel kiválasztásakor a program az egységárat újra kiszámítja.
If KRakMoz.RenSza <> ’0’ Then
Begin
If KRenTet.VigEar> 0 Then EgysAr := KRenTet.VigEar
Else EgysAr := KRenTet.IgeEar
End
(AtpKodX := 3 – Rendelési egységár)
A rendelési egységáras ártípus tulajdonképpen csak egy pillanatig létezik. Amikor kiválasztjuk a rendelést, akkor lesz az ártípus rendelési egységáras. Azonban a rendelés kiválasztása után a program azonnal átveszi a rendelés egységárát (visszaigazolt vagy igénylési) és a rendelésben megadott ártípust is.
AtpKodX := KRenTet.AtpKod
3. Partner-áru ár (fix ár)
Rendelési egységár hiányában (KRakMoz.RenSza = ’0’) a partnerrel kötött megállapodás szerinti egységár lép érvénybe. Megállapodás szerinti (fix) eladási árról akkor beszélhetünk, ha a partner-áru törzsben a vevő partner, a kiválasztott áru, és a devizanem kód hármashoz tartozik érvényes eladási ár.
Select Top 1 EladAr, DevKod
From AParAru
Where AParAru.ParKod = KMozFej.ParKod
And AParAru.AruKod = KRakMoz.AruKod
And AParAru.EloKod = ’I’ - Csak az élő tételek vehetők figyelembe!
And AParAru.EladAr > 0 - Csak az olyan tétel számít, amelynek van eladási ára!
Lehet, hogy a bejegyzés nem az eladási ár, hanem a beszerzési egységár miatt keletkezett.
If Not Eof Then EgysAr := AParAru.EladAr
AtpKodX := 5 – Partner-áru ár
A program a vevő partnerhez és a kiválasztott áruhoz a partner-áru törzsben definiált eladási egységárat ajánlja fel. Az egységár mellett a funkció visszaadja a fix-ár devizanemét is. Amennyiben egy partner számára egy áruféleségből több devizanemben definiálunk árat, akkor a program a devizanemek kódsorrendjében az elsőt adja vissza.
A számítást az árukód megadása aktivizálja.
4. Kedvezményes ár / Árréssel növelt beszerzési egységár
Amennyiben az értékesítési tételt nem kapcsoltuk vevői rendeléshez, valamint a tételhez nem rendelhető partner-áru (fix) ár, akkor a program a kedvezményes vagy az árréssel növelt eladási árat próbálja kiszámítani.
Az eladási ár három ár alapján állhat elő.
A – Termék kedvezmény
Ha az értékesítés dátuma az adott áru akciós időintervallumába esik, vagy ha nem kell figyelni a értékesítés dátumát, akkor alkalmazható a termék kedvezmény.
If KMozFej.Datuma In [AAruTor(KRakMoz.AruKod).AkcArKez,AkcArBef]
Or SA.TerKedvAkcIdoFigy = ’N’
Then EgysArA := AAruTor.ListAr Else EgysArA := 0
B – Partner-csoport ár
A program a partner kedvezmény csoport kódja és az áru árukatalógus kódja alapján meghatározott engedményekkel csökkentett eladási árat ajánlja fel.
Összes engedmény: KedvezX := KedvezN + KedvezA + KedvezC
If KedVezX > CErtEngTet.MaxEng Then KedVezX := CErtEngTet.MaxEng
EgysArB := AAruTor.EladAr*(1 – KedvezX / 100)
C – Árréssel növelt beszerzési egységár
A program a partner kedvezmény csoport kódja és az áru árukatalógus kódja alapján meghatározott árréssel növelve a beszerzési egységárból számítja ki az eladási árat.
EgysArC := AAruTor.FelvAr*(1 + ArResX / 100)
4.1. Első lépésben azt dönti el a program, hogy az árréssel növelt, vagy a kedvezményekkel csökkentett eladási ár számítási mód lép érvénybe.
Ha van megadva nullánál nagyobb árrés, akkor az árrés alapján számol a program, egyébként a kedvezményeken alapuló számítási mód lép érvénybe.
If ArResX > 0 Then
Begin
EgysArBC = EgysArC
AtpKodX := 8 – Árrés - Beszerzés
End
Else
Begin
Amennyiben az előállított ár nem tartalmaz kedvezményt, akkor az értékesítés teljes áron történik, egyébként partner csoport kedvezmény lép érvénybe.
If Abs(EgysArB – AAruTor.EladAr) < Nulla Then
Begin
EgysArBC := AAruTor.EladAr
AtpKodX := 0 – Teljes ár
End
Else
Begin
EgysArBC := EgysArB
AtpKodX := 6 – Partner-csoport ár
End
End
4.2. A második lépésben megvizsgáljuk az első lépésben meghatározott egységár (EgysArBC) és az akciós ár (Termék kedvezmény EgysArA) relációját.
A két ár közül a vevő számára kedvezőbb (a kisebb) veendő figyelembe:
If (EgysArA > 0) And (EgysArA < EgysArBC Then
Begin
EgysAr := EgysArA
AtpKodX := 2 – Termék kedvezmény
End
A számítást az árukód megadása aktivizálja.