A funkció segítségével a devizás számlákba befűzött előlegek után számíthatjuk el automatizáltan az árfolyam különbözetet. Az árfolyam különbözet elszámolása a számla adminisztrációs funkció előleg nyilvántartási képernyőjének navigátor sorában található [Árfolyam különbözet automatikus elszámolása
] gomb megnyomásával történik.
Az elszámolás feltételei:
Az előleg befűzések rögzítése során a program azoknál a tételeknél, amelyek árfolyam különbözet elszámolását indukálják a pénzügyi állapotot (PenAll) Előkészített (1) állapotra állítja.
A program az árfolyam különbség elszámolásának adatait a számla alap adatok (PSzaAla) és az elszámolásra kiválasztott előleg befűzés (PSzaElo) alapján állítja elő.
Az adatok számítási módját alapvetően az befolyásolja, hogy szállító (1), vagy vevő (2) számláról van-e szó (PSzaAla.TipusK), illetve hogy a számla és az előleg befűzés deviza árfolyama hogyan viszonyul egymáshoz (PSzaAla.DevArf <, >, = PSzaElo.DevArf).
Funkció – Adat entitás kapcsolat:
PSzaKie – Számla kiegyenlítés tábla
Insert
Input adatok:
If PSzaAla.DevDatF > 0 Then DevArfX := PSzaAla.DevArfF {A mérleg fordulónap után}
Else DevArfX := PSzaAla.DevArf {A mérleg fordulónap előtt}
Általános input adatok:
I1. PeeKod Pénzeszköz kód – Pénzügyi rendezés fk: PPeeTor.PeeKod
Árfolyam nyereség / veszteség pénzügyi eszköze. A számla típusától és az árfolyam különbözet előjelétől függ az ajánlott adat.
If PSzaAla.TipusK = ’1’ Then
Begin {Szállító}
If (DevArfX > PSzaElo.DevArf)
Then KAzoAda.PeeSzArfNy {Szállító árfolyam nyereség}
Else KAzoAda.PeeSzArfVe {Szállító árfolyam veszteség}
End
Else
Begin {Vevő}
If (DevArfX < PSzaElo.DevArf)
Then KAzoAda.PeeVeArfNy {Vevő árfolyam nyereség}
Else KAzoAda.PeeVeArfVe {Vevő árfolyam veszteség}
End
I11. PeuKod Pénzügyi eszköz kód – Alap fk: PPeeTor.PeeKod
<A:PSzaAla.PeuKod>
A program a kiegyenlítés rögzítésekor felajánlja a számla alapadatok között rögzített pénzügyi eszköz kódját (Szállító / Vevő).
I5. FimKod Fizetési mód fk: AFimTor.FimKod
<A:0> Az árfolyam különbözet elszámolásának nincs egzakt fizetési módja.
I2. PeeJog Pénzeszköz mozgáskód fk: PPeJoDf.PeJoKd
Az árfolyam különbözet elszámolásának mozgáskódja. A számla típusától és az árfolyam különbözet előjelétől függ az ajánlott adat.
Árfolyam különbözet rögzítésekor a mozgás jogcíme mindig jóváírás, mert nyereség esetén forrás jellegű számla (9 – bevétel) követel oldalára, veszteség esetén pedig eszköz jellegű számla (8 – ráfordítás) tartozik oldalára könyvelünk, amely mindkét számlaosztály esetén az alapértelmezett növekedés (jóváírás) oldal. A négy lehetséges elszámolási módhoz (Szállító / Vevő – Nyereség / Veszteség) négy különböző mozgáskód tartozik. Ez egyrészt azért van mert egy mozgáskód csak vagy a szállítói, vagy a vevői bizonylaton választható ki, másrészt pedig a nyereség és a vesztéség kontírozásának más a kontírozás típusa.
If PSzaAla.TipusK = ’1’ Then
Begin {Szállító}
If (DevArfX > PSzaElo.DevArf)
Then KAzoAda.PeeSzArfNy {Szállító árfolyam nyereség}
Else KAzoAda.PeeSzArfVe {Szállító árfolyam veszteség}
End
Else
Begin {Vevő}
If (DevArfX < PSzaElo.DevArf)
Then KAzoAda.PeeVeArfNy {Vevő árfolyam nyereség}
Else KAzoAda.PeeVeArfVe {Vevő árfolyam veszteség}
End
I12. BToKod Bizonylat tömb fk: KBToTor.BtoKod
<A: KAzoAda.BtoKodKieEgyeb> A program az egyéb fizetési módokhoz tartozó kiegyenlítési bizonylattömböt ajánlja fel.
I6. DevKod Devizanem kód <PSzaAla.DevKod> fk: ADevTor.DevKod
I10. MegJeg Megjegyzés <>
I13. MellDb Mellékletek száma <0>
I9. Bizony Bizonylatszám <PSzaElo.SzElId>
I3. KonDat Könyvelés dátum <TelDatX>
Az árfolyam különbözet elszámolásának dátuma a számla teljesítés dátuma.
If PSzaAla.TipusK =’2’ And PSzaAla.Relaci <> ’1’
Then TelDatX := PSzaAla.DevTel Else TelDatX := PSzaAla.TelDat;
I4. ErtDat Értéknap dátum <TelDatX>
Deviza input adatok:
D1. DevBan Deviza átszámítási bank fk: PBanAzo.BanAzo
<PSzaKieA.DevBan> Az alap kiegyenlítés deviza bankja.
D2. DevDat Deviza átszámítási dátum <TelDatX>
D3. DevArf Deviza átszámítási árfolyam
Ajánlás: DevArfX
Számított érték adatok:
S1. JovHuf Jóváírás összege HUF
Abs(Round(PSzaElo.ElOssz*(DevArfX-PSzaElo.DevArf),2))
Adat minden esetben csak az alap devizanem (HUF) jóváírás oldalán szerepel. A devizás forgalmi adatok értéke 0.
Program által előállított adatok
Alap adatok:
A1. SzKiID Szla kiegyenlítés ID pk {SzAlID+’/’+EloNull(TetSor,4)} <BizaSo>
A2. SzAlID Számla alap ID fk: PSzaAla.SzAlID
A3. KnyvEv Könyvelés éve <KieDat-ból>
A4. KnyvHo Könyvelés hónapja <KieDat-ból>
A5. TetSor Tétel sorszám
A6. BizAzo Számla bizonylatszám <PSzaAla.BizAzo>
A7. BizaSo Bizonylat sorszám f(BtoKod,KnyvEv)
Értékadatok:
I7. JovDev Jóváírás összege DEV 0
I8. TerDev Terhelés összege DEV 0
S2. TerHuf Terhelés összege HUF 0
S5. EveDev Értékvesztés összege DEV 0
S6. EveHuf Értékvesztés összege HUF 0
S7. EheDev Értékhelyesbítés összege DEV 0
S8. EheHuf Értékhelyesbítés összege HUF 0
S9. EgyDev Egyéb adat DEV 0
S10. EgyHuf Egyéb adat HUF 0
Számított adatok:
If PpeJoDf(PSzaKie.PeeJog).Jelleg=’1’ Or Jelleg=’2’ Then
Begin
If PSzaAla.TipusK=1 Then {Szállító}
Begin
If PPeJoDf(PSzaKie.PeeJog}.KonTip=’451’ Then {Árfolyam nyereség}
Begin
S3. KieDev Kiegyenlítés összege DEV =JovDev – TerDev
S4. KieHuf Kiegyenlítés összege HUF =JovHuf – TerHuf
End
Else {Árfolyam veszteség és egyéb kiegyenlítés}
Begin
S3. KieDev Kiegyenlítés összege DEV =TerDev – JovDev
S4. KieHuf Kiegyenlítés összege HUF =TerHuf – JovHuf
End
End
Else {Vevő}
Begin
If PPeJoDf(PSzaKie.PeeJog}.KonTip=’451’ Then {Árfolyam nyereség}
Begin
S3. KieDev Kiegyenlítés összege DEV =TerDev – JovDev
S4. KieHuf Kiegyenlítés összege HUF =TerHuf – JovHuf
End
Else {Árfolyam nyereség és egyéb kiegyenlítés}
Begin
S3. KieDev Kiegyenlítés összege DEV =JovDev – TerDev
S4. KieHuf Kiegyenlítés összege HUF =JovHuf – TerHuf
End
End
End
Else
Begin
S3. KieDev Kiegyenlítés összege DEV = 0
S4. KieHuf Kiegyenlítés összege HUF = 0
End
Állapot adatok:
Á1. PenAll Pénzügyi állapot ARK 4 - Árfolyam különbség előleg
Á2. FokAll Főkönyvi állapot FAL 0
Á3. StoKod Stornó állapot: STO 0
Á4. MozElj Mozgás előjel 1
Á5. StornA Stornózott tétel azonosítója – Forrás 0
Á6. StornB Stornó tétel azonosítója – Cél 0
Á7. SzNyDb Nyomtatott bizonylat példányszáma 0
Számviteli adatok:
F1. ProKod Project 0
F2. SzeKod Szervezeti egység 0
F3. DolKod Dolgozó 0
F4. FokKod Főkönyvi számla X
F5. KtgSzl Költség főkszla X
F6. KtgJel Költség jelleg FKT 0
F7. KtgTip Költség típus FTP 0
F8. AktKod Áru katalógus 0
F9. AruKod Áru kód 0
F10. ParKod Partner <PSzaAla.CimPar>
F11. SzlJel Számla jelleg FSJ 0
Napló adatok:
N1. Opekod Rögzítés napló adatok – Operátor kód
N2. Terkod Terminál kód
N3. Rogdat Rögzítés időpontja
A kiegyenlítés hatásának átvezetése a kapcsolódó táblákon:
PArfEloOs – Árfolyam különbözet előleg összerendelő tábla
Insert
A1. SzElId Számla előleg ID PSzaElo.SzElId
A2. ArKuId Árfolyam különbség elszámolás kiegyenlítés ID PSzaKie.SzKiId
PSzaElo – Számla előleg alap – PSzaElo.SzElId
Modify
Á1. PenAll Pénzügyi állapot ARK 2 - Feldolgozott
PSzaAla – Számla alap tábla
Modify
PPeeTor – Pénzeszköz alap tábla – Pénzeszköz: PSzaKie.PeeKod
Modify
PPeeTor – Pénzeszköz alap tábla – Pénzügyi eszköz: PSzaKie.PeUKod
Modify