A számla áruk alap adatait tartalmazó képernyőfül.

Input adatok:
Input adatok:
I1. AruTip varchar (1) NOT NULL , – Áru típus ART
A számla adatait rögzítő operátor az áru adatok rögzítése során (szakismeret hiányában) nem tudja beírni az árukódot (lásd következő mező). Azonban az áru további kezelését segítendő meg kell adnia az áru típusát. Az áru típus fogja meghatározni, hogy az árut készletre kell-e venni (termék) vagy sem (szolgáltatás), illetve mely szervezetnek (raktár, fenntartás, utalványozó) lesz a feladata, hogy kitöltse az árukód mezőt.
I2. AruKod varchar (15) NOT NULL , – Áru kód fk: AAruTor.AruKod
A számla adatainak rögzítésekor lehet hogy üresen (0) marad, és csak később, más programfunkciókban kerül kitöltésre. Más esetekben (pl: bankköltség) a számlanyilvántartó operátor is kitöltheti az árukód mezőt.
Hatás:
I1. AruTip Áru típus <AAktTor.AruTip>
A program az áru árukatalógusának áru típusával felülírja a számla áru árutípusát. Amennyiben a felülírással megváltozik a korábban megadott áru típus, akkor arra a program figyelmeztet.
I3. AruLei Áru leírás <A:AAruTor.AruLei>
I5. AfaKod Áfa kód <A:AAruTor.AfaKod>
I8. MeeKod Mennyiség egység <A:AAruTor.MeeKod>
X1. Számla áru számviteli adatok
X2. Különleges áfa adatok
X3. Kiegészítő adatok
Áru adatok megjelenítése
Az áru kiválasztása után (AruKod<>0 Change) a program az alábbi áruhoz kapcsolódó adatokat jeleníti meg:
Általános adatok:
Y1. Leírás, (méret) AAruTor.AruLei
Y2. Áru típus (minőség) AArutor.AruTip
Y3. Áru besorolás kód AAktTor.ABeKod / AAruTor.ABeKod
Y4. Áru besorolás szám AAktTor.ABeSza / AAruTor.ABeSza
Amennyiben az áruhoz tartozó áru katalógus (AAruTor.AktKod) úgy van definiálva, hogy az árubesorolás kezelés az árukatalógusban történik (AAktTor.AbeKez = ’I’) akkor a program az áru besorolás számot az árukatalógusból, ellenkező esetben az árutörzsből jeleníti meg.
Y5. Vásárlási egységár AAruTor.FelvAr
Y6. Devizanem – Szállítói AAruTor.DevKod
Y7. Utolsó beszerzés egységára UtBesArX
Y8. Utolsó beszerzés devizaneme UtBesDevX
Y9. Utolsó beszerzés dátuma UtBesDatX
Cég függő adatok:
[Rumed]
R1. Eladási ár képzési mód AAktTor.ElArKep AKM
R2 Eladási ár árrése AAktTor.ArResEla [%]
R3. Értékesítési egységár AAruTor.EladAr
R4. Devizanem – Vevői AAruTor.DevKodV
R5. Számított eladási ár SzamElArX KAzoAda.AlaDev
A számított eladási ár csak szállítói számla (PSzaAla.TipusK = ’1’) és felszorzós árképzési mód (AAktTor.ElArKep = ’1’) jelenik meg. Az egységár a számla input egységár és az árrés szorzataként jelenik meg.
SzamElArX := Round(PSzaAru.EgysAr * PSzaAla.DevArf * (1 + AAktTor.ArResEla / 100, 2)
| R6. | Eladási ár változása Round(100 * (SzamElArX - AAruTor.EladAr) / |
AAruTor.EladAr,2)
[HMA]
H1 Anyaggazda AAktTor(AAruTor.AktKod).DolKodG / ADolTor.DolNev
H2. Utalványozási MenyEgység AAruTor.UtaMee
H3. Szorzó AAruTor.Szorzo
H4. Rajzszám AAruTor.RajSzam
I3. AruLei varchar (40) NULL , – Áru leírás
<A: AAruTor.AruLei> A program az árutörzs leírás mezőjének tartalmát ajánlja be.
I4. AruMeg varchar (40) NULL , – Áru megjegyzés
Az áru leírás és az áru megjegyzés mezők a számlában szereplő áruk szöveges információinak tárolására szolgál.
I5. AfaKod varchar (1) NOT NULL , – Áfa kód fk: AAfaTor.AfaKod
A program a számla típus (szállító, vevő, belső) és a reláció függvényében ajánlja az áfa kódot az áru (PSzaAru.AruKod -> AAruTor) vagy az árukatalógus (PSzaAru.AruKod -> AAruTor -> AAktTor) törzsből.
If PSzaAla.TipusK = ’1’ Then
Begin {Szállító}
Case PSzaAla.Relaci When ’2’ {Külöldi} Then <AAktTor.SAfaKodImp> Else
Case PSzaAla.Relaci When ’3’ {EU} Then <AAktTor.SAfaKodEu>
{Belföldi} Else If AAktTor.SFordAdo = ’I’ Then AAktTor.SAfaKodFord
Else AAruTor.AfaKod>
End
Else
Begin {Vevő, Belső}
Case PSzaAla.Relaci When ’2’ {Külöldi} Then <AAktTor.VAfaKodExp> Else
Case PSzaAla.Relaci When ’3’ {EU} Then <AAktTor.VAfaKodEu>
{Belföldi} Else If AAktTor.SFordAdo = ’I’ Then AAktTor.SAfaKodFord
Else AAruTor.AfaKod>
End
I7. Mennyi float NOT NULL, – Mennyiség
A mennyiség mezőbe beírt értéknek mind szállító, mind vevő (és egyéb) számlák esetén hatása van más mezők értékére.
Hatás – Szállító:
I10. Egysar Egységár
A mennyiség beírására a program a tételérték alapján kiszámítja az egységárat.
Hatás – Vevő:
A mennyiség beírására a program átszámítja az értékadatokat.
I11. TetErt Tétel érték, devizában, ÁFA nélkül
I12. AfaErt Tétel áfa érték, devizában
X1. TetOszX Számított mező - Tétel érték összesen
I8. MeeKod varchar (5) NOT NULL , – Mennyiség egység fk: AMeeTor.MeeKod
A mennyiség egység kódra a program az árutörzsből ajánlatot tesz, ez azonban az operátor által módosítható. <A:AAruTor.MeeKod>
I9. AtpKod varchar (1) NOT NULL , – Ártípus kód ATP
Az ártípus az egységár mező (EgysAr) értékének változását váltja ki vevő és egyéb számla esetén (Szállítónál nincs hatása más mezőre!), amely további mezők változására is hatást gyakorol.
Hatás:
Szállító: -
Vevő és egyéb: AtpKod -> EgysAr -> TetErt -> AfaErt -> TetOszX
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
EgysAr := AAruTor.ListAr
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.
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.
5 – Partner-áru ár
Select EladAr
From AParAru
Where AParAru.ParKod = KMozFej.ParKod
And AParAru.AruKod = KRakMoz.AruKod
And AParAru.DevKod = KRakMoz.DevKod
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, a kiválasztott áruhoz és az értékesítés devizaneméhez a partner-áru törzsben definiált eladási egységárat ajánlja fel.
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.
ParKod -> AParTor.EngCso -> CErtEngAla.EngKod
AruKod -> AAruTor.AktKod -> CErtEngTet.AktKod
Normál engedmény: KedvezN := CErtEngTet.EngNor
Akciós engedmény: KedvezA := CErtEngTet.EngAkc Or 0
Feltétel: Az értékesítés dátuma az áru akciós időintervallumába esik:
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
EgysAr := AAruTor.EladAr*(1 – KedvezX / 100)
7 – Input ár
Az operátor írja az eladási egységárat.
R – Összetett – R (Rumed)
If AAruTor(PSzaAru.AruKod).ArAfaMod =’1’ Then
EgysAr := Round(EgysAr / (1 + PSzaAru.AfaKul / 100),5)
{Bruttó áron történő nyilvántartás}
I10. Egysar float NOT NULL, – Egységár
Hatás:
I11. TetErt Tétel érték, devizában, ÁFA nélkül
I12. AfaErt Tétel áfa érték, devizában
X1. TetOszX Számított mező - Tétel érték összesen
I11. TetErt float NOT NULL, – Tétel érték, devizában, ÁFA nélkül
Csak szállító számla esetén input.
Vevő és egyéb: TetErt := Round(Mennyi*Egysar)
Hatás:
I12. AfaErt Tétel áfa érték, devizában
X1. TetOszX Számított mező - Tétel érték összesen
A mező szerkesztésének hatására (szállító számla) az egységár (EgysAr), a tétel áfa érték (AfaErt) és a tétel érték összesen (TetOszX) mező értéke változik.
Szállító: TetErt -> EgysAr, AfaErt -> TetOszX
Vevő és egyéb: TetErt -> AfaErt -> TetOszX
I12. AfaErt float NOT NULL, – Tétel áfa érték, devizában
A tételérték és az áfa-kulcs szorzata. Szállítói számla esetén előfordulhat, hogy a számított érték egy definiált határon belül (pl: 1%) eltér a számlában szereplő értéktől (pl: kerekítés miatt), ezért szükséges az adat beírása. Vevő számla esetén nem kell beírni, ekkor a számított érték kerül ide.
Csak szállító számla esetén input (a megadott eltérésen belül).
Vevő és egyéb: AfaErt := Round(TetErt*AfaKul/100)> Disp Kum(AfaErtOsz)
Hatás:
X1. TetOszX Számított mező - Tétel érték összesen
A mező értékének változása kiváltja a tétel összérték (TetOszX) változását is.
TetOszX := TetErt + AfaErt
X1. TetOszX float Számított mező Tétel érték összesen
= TetErt + AfaErt Input (Csak szállítói bizonylat esetén!) és számított mező is egyben. A tétel érték (TetErt) és a tétel áfa érték (AfaErt) mező változásakor (On Change) is frissül. A mező szerkesztésének hatására a tétel érték (TetErt), az egységér (EgysAr) és a tétel áfa érték (AfaErt) mező értéke változik.
Szállító: TetOszX -> AfaErt -> TetErt -> EgysAr
AfaErt := Round(TetOszX * (1 – 1 / (1 + PSzaAru.AfaKul / 100)),5)
TetErt := TetOszX – AfaErt
EgysAr := Round(TetErt/Mennyi,5)
Vevő és egyéb: -
I13. TarSul float NOT NULL , – Tára súly <Default: 0>
A dohány export számlához szükséges adat.
I14. Mennyi2 float NOT NULL , – Másodlagos mennyiség <Default: 0>
A számlázott mennyiség mellett, az árura vonatkozó másodlagos mennyiségi adat. Pl: A számlázott mennyiség súlyban van megadva, a másodlagos mennyiség pedig lehet darab.
I15. AfaErtEU float NOT NULL, – EU áfa érték, devizában <Default: 0>
A számlához közvetetten kapcsolódó áfa értéke, melyet a számla összege nem tartalmaz.
A számla áru értékadatok szerkesztésének áttekintő táblázata:
Szállító: 

Vevő: 

Az input mezők funkció – entitás kapcsolata számla típus, számla forma és áru típus függvényében:
Számla formánként mely adatmezők módosíthatóak, és melyek számítottak.
A. Szállító számla: TipusK=1
(Ha megfelel a módosíthatóság egyéb követelményeinek)
TipusK=1 - Szállító
I4. AfaKod Áfa kód -> AfaKul,AfaErt - Módosítja az áfa kulcsot és az áfa értéket
I8. AtpKod Ártípus kód
I11 AfaErt Áfa érték A számított érték +-1%-án belül
Számított érték: Round(AfaKul * TetErt / 100,0)
Csak az összerendelés során kapnak értéket!
TipusK=1 - Szállító AND FormaK=1 – Gépi AND RaMoId<>0
I2. AruKod Árukód átvett
I6. Mennyi Mennyiség átvett
I7. MeeKod Mennyiség egység átvett
I10. TetErt Tétel érték az összerendelés során input
(Gépi számla szolgáltatása is!)
TipusK=1 - Szállító AND FormaK=* – Mindegy AND RaMoId=0
I2. AruKod Árukód
I6. Mennyi Mennyiség
I7. MeeKod Mennyiség egység
I10. TetErt Tétel érték
B. Vevő számla: TipusK=2
(Ha megfelel a módosíthatóság egyéb követelményeinek)
TipusK=2 - Vevő
I4. AfaKod Áfa kód -> AfaKul,AfaErt - Módosítja az áfa kulcsot és az áfa értéket
I8. AtpKod Ártípus kód
Csak az összerendelés során kapnak értéket!
TipusK=2 - Vevő AND FormaK=1 – Gépi AND RaMoId<>0
I2. AruKod Árukód átvett
I6. Mennyi Mennyiség átvett
I7. MeeKod Mennyiség egység átvett
(Gépi számla szolgáltatása is!)
TipusK=2 - Vevő AND FormaK=* – Mindegy AND RaMoId=0
I2. AruKod Árukód
I6. Mennyi Mennyiség
I7. MeeKod Mennyiség egység
I9. EgysAr Egységár
A készlet modulba értékesítési mozgások rögzítése során megadhatjuk az értékesítendő termék eladási (nettó) egységárát. Az értékesítési bizonylat alapján két féle módon állíthatjuk elő a vevőszámlát:
A. Az értékesítés funkcióban a Bizonylat fülön megnyomjuk a [Számlakészítés] gombot. Ekkor a program egy menetben előállítja a vevő számla fej és áru adatait. A számla áru tételek értékesítési egységára az lesz, amit a készlet mozgások rögzítésekor beírtunk.
B. A Pénzügyi modulban a Vevő gépi számla funkcióban állítjuk elő a számlát. Itt külön lépésekben történik a számla fej és az egyes áru tételek előállítása. A számla áru adatok generálása során a program bekéri az értékesítési egységárat. A mezőbe a program a raktári mozgásban megadott egységárat ajánlja fel a program, melyet a számla készítő operátor felülírhat.
Amennyiben valamelyik számla áru tétel egységár mezőjében a számla generálása után rossz egységár szerepel, akkor az csak úgy javítható, hogy lebontjuk a számla áru – raktári mozgás összerendelést a Készlet modul Szállítólevél – számla összerendelés funkciójával, majd a Gépi számla készítés funkcióval újra előállítjuk a számla áru tételt a helyes egységár megadásával.
A mostani verzióban annyiban változott a program, hogy a gépi számla előállítása után a program abban az esetben engedi a számla áru tétel értékesítési egységárának megváltoztatását, ha mezőben 0 érték szerepel. Azaz, ha a készlet modulban elfelejtettük megadni az értékesítési egységárat (vagy a rögzítéskor még nem tudtuk az értékét), akkor azt a számla generálása után még megadhatjuk. De, ha rossz (nem 0) egységárat írtunk be, akkor csak a tétel lebontásával, és újbóli előállításával orvosolható.
C. Belső számla TipusK=3
Ugyanaz, mint a vevő számla.
Program által előállított adatok:
Alap adatok: Csak Insert módban
A1. SzArID Számla áru ID SzAlID+’/’+EloNull(TetSor,4)
A2. SzAlID Számla alap ID fk: PSzaAla.SzAlID
Master – detail hozzárendelés kulcsa. PSzaAla.SzAlId
A3. BizAzo Számla bizonylatszám PSzaAla.Bizony
A4. TetSor Tétel sorszám
Inkrementális, számlánként 1-től indul.
A5. RaMoID Raktári mozgás ID Sw:KRakMoz.RaMoID
A számla áru tétel és raktári mozgás tétel összekapcsolására szolgáló adatmező. A kapcsolat akkor teremtődik meg, amikor a raktári bevételezés során kiválasztják a könyvelendő számla áru tételt. Az összerendelésig a mező tartalma: 0.
Input adatok:
I6. AfaKul Áfa kulcs AAfaTor.AfaKul
A program az áfa kulcs értékét az áfa törzsből veszi.
PSzaAla – Számla alap tábla
Modify
A számla áru adatok módosításakor a program aktualizálja a számla értékadatait.
Lásd: Számla alap adatok!
KRakMoz – Raktári mozgás tábla
Modify
Raktári mozgáshoz (értékesítés) kapcsolódó vevői számla áru tétel egységárának megváltozásakor a kapcsolódó raktári mozgásba visszaírjuk a módosított egységárat, és az ármódosítás hatásaként megváltozó mozgás értéket.
If PSzaAla.TipusK = ’2’ And PSzaAru.RaMoId <> ’0’ And PSzaAru.EgysAr.Changed Then
Begin
EgysAr Egységár PSzaAru.EgysAr
ErEgAr Értékesítési egységár PSzaAru.EgysAr
Erteke Mozgás értéke Round(PSzaAru.EgysAr * PSzaAru.Mennyi *
PSzaAla.DevArf,2)
End