A Nexon Bér programban előállított bérfeladások kontírozására szolgáló funkció.
Jogosultságkód: 252228 Help context: 252228
Forrás: BerFelKonNex

A kontírozás elvégzésének lépései:
1. Kontírozás elvégzéséhez szükséges input adatok megadása
Meg kell adni azt a hónapot amelynek bérfeladását kontírozzuk.
2. A kontírozási input adatállomány ellenőrzése
A program a kontírozás elvégzése előtt ellenőrzi, hogy az input adatállomány sorainak tartalma eleget tesz-e a kontírozási feltételeknek. Amennyiben adódik egy olyan tétel, amely valamilyen oknál fogva nem kontírozható, akkor a program egy bérfeladási tétel kontírozását sem végzi el. A kontírozási szempontból hibás tételeket a program egy hiba listán jeleníti meg.
3. A kontírozási időszakba eső munkalapok összköltségeinek és felosztási arányainak kiszámítása
Össze kell gyűjteni a kontírozási időszakba eső munkalapokat. Meg kell határozni az egyes munkalapok összköltségét, majd a hónap összes munkalapjának összköltségét. Elő kell állítani minden egyes munkalaphoz egy szorzószámot, amely az egyes munkalapok összköltségének és a havi összes munkalap összesített összköltségének hányadosa.
4. A bérfeladás tábla adattartalmának (sorainak) felosztása
Felosztási szempontból egy bérfeladási két tétel két féle lehet:
| • | Fel nem osztandó: A tétel nem tartalmaz munkalap információt, így további felosztására nincs szükség. |
| • | Felosztandó: A tétel munkalapokra tovább osztandó. A bérfeladási tételt (sort) annyi kontírozási tételre osztjuk, ahány munkalapot rögzítettek a kontírozási időszakban. |
5. A kontírozás elvégzése
A bérfeladás tábla eredeti és az esetlegesen tovább felosztott sorok kontírozásának elvégzése.
| 5.2.2.1.1.1 | Kontírozáshoz szükséges input adatok megadása |
| • | Kontírozási időszak KontEvX.KontHoX |
| • | Kontírozás dátuma KontDtX |
| • | Kontírozási text adatállomány \Export\Felad.Txt |
| 5.2.2.1.1.2 | A kontírozási input adatállomány ellenőrzése |
A kontírozás elvégzése előtt a keresés gombot kell megnyomni. A program ekkor ellenőrzi, hogy van-e a megadott feltételeknek megfelelő bérfeladási tétel. A kontírozás gomb csak akkor válik élővé, ha a program talált legalább egy kontírozható bérfeladási tételt.
A kontírozás gomb megnyomása után a program elvégzi a kijelölt bérfeladási tételek kontírozását. Amennyiben adódik egy olyan tétel, amely valamilyen oknál fogva nem kontírozható, akkor a program egy bérfeladási tétel kontírozását sem végzi el. A kontírozási szempontból hibás tételeket a program egy hiba listán jeleníti meg.
Az input adatállomány (Felad.Txt) szerkezete:
Kezdő Záró Hossz Mező név Tartalom
1 8 8 DatumX Dátum, elválasztó nélkül
9 12 4 SzeKodX Szervezet kód SzeKodX = Substring(Row,9,3) Default: '0'
13 16 4 Space1 Üres
17 26 10 MunSzaX Munkaszám
27 37 11 OsszegX Összeg jobbra igazítva, balról szóközzel feltöltve
38 40 3 Space2 Üres
41 44 4 Space3 0,00
45 52 8 FokKodT Tartozik főkönyvi számla
53 60 8 FokKodK Követel főkönyvi számla
Adatellenőrzési szempontok:
1. A kontírozás dátuma a kontírozási időszakba esik
DatumX.Ev.Ho = KontEvX.KontHoX
2. A szervezet kód létezik a szervezet törzsben
SzeKodX exists in ASzeTor
3. A főkönyvi számlaszámok léteznek a főkönyvi törzsben
FokKodT and FokKodK exists in FFokTor
| 5.2.2.1.1.3 | A munkalapok összköltségeinek és felosztási arányainak kiszámítása |
Össze kell gyűjteni a kontírozási időszakba eső munkalapokat. Meg kell határozni az egyes munkalapok összköltségét, majd a hónap összes munkalapjának összköltségét. Elő kell állítani minden egyes munkalaphoz egy szorzószámot, amely az egyes munkalapok összköltségének és a havi összes munkalap összesített összköltségének hányadosa.
Pl: Egy kontírozási hónapban négy munkalapot rögzítettünk, melyeknek a következő adatai vannak.
Sor[i] Munkalap Felosztandó Összköltség Arányszám
[i] MlpAzoX[i] AraSzaX[i]
1. MLX-00/01001 I 10 000 0,1
2. MLX-00/01002 N 20 000 0,2
3. MLX-00/01003 I 30 000 0,3
4. MLX-00/01004 N 40 000 0,4
TetSzaX = 4 Összesen 100 000 1,0
Figyelembe veendő munkalapok halmaza:
| 1. KMunLap.KezDatE.Ev.Ho = KontEvX.KontHoX | A munkalapok (tervezett) kezdés dátuma a kontírozás hónapjába esik. |
2. KMunLap.EloKod = 'I' Élő munkalap
| 3. ATevTor.TevTip(KMunLap.TevKod) in [1,2] | Csak a termelés és szolgáltatás típusú munkalapokra kell bért osztani. |
| 4. KMunLap.MlpAzo exists in KMunIdo.MlpAzo | Csak olyan munkalapra kell bért osztani, amelyhez kapcsolódik idő elszámolás. |
Munkalaponkénti összköltséget számító tárolt eljárás: sp_TmunLapKar_Lis
| 5.2.2.1.1.4 | A bérfeladás tábla adattartalmának (sorainak) felosztása |
Egy kontírozási adatállomány sort akkor kell felosztani munkalapokra, ha a sor megfelel a felosztási feltételeknek. Amennyiben a feltételek valamelyike nem teljesül, akkor a sor nem kerül felosztásra, hanem egy tételként lesz kontírozva.
Felosztási feltételek:
1. Léteznek az adott kontírozási időszakban felosztandó munkalapok
TetSzaX > 0
2. Csak azokat a sorokat kell felosztani, amelyek eredmény számlát tartalmaznak
FokKodT[1] >= '5' Or FokKodK[1] >= '5'
3. Csak a felosztásra kijelölt sorokat kell felosztani
MunSzaX = KAzoAda.MunSzaFelo
A felosztandó munkaszám kódja rendszer paraméterként van megadva.
A felosztás számossága:
Egy kontírozási alapállomány sort annyi kontírozási tételre kell osztani, ahány figyelembe veendő munkalap volt a kontírozási időszakban: TetSzaX.
A felosztás arányosítása:
Az i-ik munkalapra felosztandó összeget (KonyvelX[i]) a kontírozási tábla alapösszegének (OsszegX) és a felosztási arányszám AraSzaX[i] szorzataként állítjuk elő.
KonyvelX[i] := Round (OsszegX * AraSzaX[i],0)
| 5.2.2.1.1.5 | A felosztott bérfeladás sorok kontírozása |
A program a bérfeladási adatokból, illetve a munkalapok adataiból állítja elő a kontírozási adatokat. A kontírozási adatok előállítása attól függ, hogy a kontírozandó tétel munkalapra felosztott tétel, vagy sem.
| A – Nincs munkalapszám | MlpAzoX = '0' a kontírozási adatok a bérfeladás táblából származnak |
| B – Van munkalapszám | MlpAzoX <> '0 a kontírozási adatok a bérfeladás és a munkalapszám definíciós táblákból származnak |
FKntFej - Kontírozási fejadatok
Insert
A program a bérfeladási adatokból állítja elő a fejadatokat.
Program által előállított adatok:
Azonosító adatok:
A1. KontEv Kontírozás éve KontEvX
A2. KontHo Kontírozás hónapja KontHoX
A3. KontID Kontírozási tételsor f('KOX',KontEv)
A4. KontAz Kontírozási azonosító Program által generált
Input adatok:
I1. KontDt Kontírozás dátuma KontDtX – Mozgás dátuma
I2. NapKod Napló kód KAzoAda.BeFeKoN - Bér feladás kontír napló
7BX
I3. Bizony Bizonylatszám KontEvX +'/'+ KontHoX +'/'+TetSorX+'/'+FelSorX
I4. EloBiz Előző bizonylatszám MlpAzoX
I5. ParKod Partner kód
<A> 0
<B> FProTor.ParKod(KMunLap.ProKod)
I6. SzeKod Szervezeti egység
<A> SzeKodX
<B> KMunLap.SzeKod
I7. DolKod Dolgozó kód 0
I8. Megjeg Megjegyzés: -
Kiegészítő adatok:
K1. BizAzo Bizonylat azonosító KontEvX +'/'+ KontHoX +'/'+TetSorX !
K2. SzaSza Számlaszám: 0
K3. KonAzo Kontírozási azonosító: KontEvX +'/'+ KontHoX +'/'+TetSorX+'/'+FelSorX
Állapot adatok:
Á1. KonMod Kontírozás típusa: 2 – Gépi kontírozás
Á2. FokAll Főkönyvi állapot: 1 – Kontírozott
Á3. StoAzA Stornó azonosító A: 0
Á4. StoAzB Stornó azonosító B: 0
Á5. SzlJel Számla jelleg 1 – Tartozik
Á6. KonTip Kontírozás típusa: 521 – Bér feladás kontírozása
Napló adatok:
N1. KOpeKo Kontírozási napló adatok: Operátor kód generált
N2. KTerko Terminál kód generált
N3. KRogda Rögzítés időpontja generált
N4. ROpeKo Könyvelési napló adatok: Operátor kód Üresen marad
N5. RTerko Terminál kód Üresen marad
N6. RRogda Rögzítés időpontja Üresen marad
FKntTet - Kontírozási tételadatok
Insert
1.tétel : Alap számla 1 – Tartozik
2.tétel : Ellen számla 2 – Követel
Program által előállított adatok:
Azonosító adatok:
A1. KontEv Kontírozás éve KontEvX
A2. KontHo Kontírozás hónapja KontEvX
A3. KontID Kontírozási tételsor f('KOX',KontEv)
A4. KontAz Kontírozási azonosító: Program által generált
A5. KoTeSo Tételsor. – Kontírozás Inkrementális, a kontírozási csoporton belül 1-ről indul
A6. KoTeAz Kontírozási tétel azonosító
KoTeAz=KontAz+'/'+EloNull(KoTeSo,3)
A7. SzlTip Számla típus: 1 – Alap 2 – Ellen
A8. SzlJel Számla jelleg: 1 – Tartozik 2 – Követel
Input adatok:
I1. FokKod Főkönyvi számla FokKodT FokKodK
I2. ParKod Partner kód
If FFokTor.SziKod(FokKod)='I' Then FKntFej.ParKod Else '0'
I3. KtgSzl Költség számla
If FokKod[1]<>'5' Or KAzoAda.KtgHelKon = 'N' Then X Else
<A> X
<B> KMunLap.KtgHel
I4. KtgJel Költség jelleg
If FokKod[1]<>'5' Or KAzoAda.KtgJelKon = 'N' Then 0 Else
<A> 0
<B> KMunLap.KtgJel
I5. KtgTip Költség típus
If (FokKod[1]<>'5') Or KAzoAda.KtgTipKon = 'N' Then 0 Else
FFokTor.KtgTip(FokKod)
I6. AkdKod ÁFA besorolás kód: 0
I7. ProKod Project kód:
If FokKod[1]<'5' Then 0 Else
<A> 0
<B> KMunLap.ProKod
I8. TaenAz Tárgyi eszköz azonosító
If FokKod[1]<'5' Then 0 Else
<A> 0
<B> KMunLap.TaenAz
I9. SzeKod Szervezeti egység FKntFej.SzeKod
I10. DolKod Dolgozó kód 0
I11 Tartoz Tartozik összeg KonyvelX[i] 0
I12 Kovete Követel összeg 0 KonyvelX[i]
I13. MeeKod Mennyiség egység 0
I14. Mennyi Mennyiség 0
I15. MlpAzo Munkalap azonosító
<A> 0
<B> KMunLap.MlpAzo
I16. TevKod Tevékenység kód
<A> 0
<B> KMunLap.TevKod
Kiegészítő adatok:
K1. KttAzo Kontírozási tétel azonosító: FKntFej.Bizony – Mozgás azonosító
Napló adatok:
N1. Opekod Operátor kód generált
N2. Terkod Terminál kód generált
N3. Rogdat Rögzítés időpontja generált