Ezt a programfunkciót csak akkor kell használni, ha a bevételezés nem számla, hanem szállítólevél alapján történt.
Amikor számla alapján történik a bevételezés, akkor a raktári operátor csak úgy tud bevételezést rögzíteni, hogy kiválasztja a szállító számla adatbázisból azt, amelyik alapján a bevételezés történik. Így a kiválasztással a szállítói számla és a bevételezés összekapcsolása az adatbázisban megtörténik.
Amikor szállítólevél alapján vételezünk be, akkor a bevételezés rögzítése időben (napokkal) megelőzi a szállítói számla adatainak rögzítését.
A számla beérkezésekor a számlanyilvántartó operátor ugyanúgy rögzíti a számla adatait, mint amikor a bevételezés a számla alapján történik.
Mivel ekkora a bevételezés rögzítése már megtörtént, a számla és bevételezés között nincs meg az adatbázis kapcsolat, így az adatbázisban a beszerzési tétel még nulla értéken szerepel (,mert a raktári bevételezéskor az operátor nem rögzített értékadatokat). Ahhoz, hogy a beszerzett tételeknek meglegyen a beszerzési egységára, az anyagkönyvelésért felelős raktári dolgozónak a beszerzési tételeket és a szállítói számla tételeit párosítania kell. A tételek párosítása úgy történik, hogy az operátor számítógépének képernyőjén megjelennek a még páratlan bevételezési tételek, amelyekhez a páratlan szállítói számlák tételei közül választhat párt.
Az összerendelés adatait a program letárolja az adatbázisban, a beszerzési tétel megkapja a számlatétel egységárát, a bevételezési és szállítói páratlan tételek közül, pedig a két összerendelt tétel eltűnik.
Egy szállítólevél csak egy számlához tartozhat, de egy számlának több szállítólevele lehet. Az összerendelés típusa 1:N, az összerendelés adatait a PSzaBiz tábla tartalmazza. Ha a szállítólevél tételeinek száma ugyanannyi, mint a számláé, akkor a párosítás 1:1 típusú hozzárendeléssel egyszerűen megoldható.
Amennyiben a számlában több szállítólevél, azonos tartalmú sora össze van vonva, akkor szállítói számlanyilvántartásban a számla tételeket olyan részletezettségig
szét kell bontani, ahogy azok a szállítólevélben szerelnek, hogy az 1:1 típusú hozzárendelés elvégezhető legyen.
Az összerendelési funkcióval a számla állományt négy féle készletállománnyal kapcsolhatjuk össze:
| ♦ | Raktári készlet |
| ♦ | Tételes dohány késztermék készlet |
| ♦ | Tételes dohány alapanyag készlet |
| ♦ | Egyedi készlet |
Az utóbbi három összerendelés ezzel a funkcióval nem végezhető el. Azt a gépi számla készítés tudja megvalósítani. Ugyanakkor a gépi számla készítés során összerendelt minden féle (dohány és dohányon kívüli anyag) tétel itt bontható le.

Az összerendelés menete:
A szállítói kézi számlák és raktári készlet beszerzési tételek (dohányon kívüli anyagok) összekapcsolását elvégző funkció.
A. Szállítólevél-fej – számla-fej összerendelése
0. Bevételezés szállítólevél alapján – Szállítói kézi számla rögzítése
A készlet modulba szállítólevél alapján bevételezésre kerültek az áru, a pénzügyi modulban pedig ettől függetlenül rögzítésre került ugyanennek a beszerzésnek a szállítói (kézi) számlája.
1. Partner kiválasztása
A képernyőn egyszerre egy kiválasztott partner összerendelt és összerendelésre váró tételei jeleníthetőek meg.
2. Bizonylatok kiválasztása (szállítólevél, számla)
| • | Összerendelt tételek |
| • | Össze nem rendelt tételek |
Mind összerendelt, mind össze nem rendelt tételeket szűrhetjük szállítólevél számra és számlaszámra.
3. Szűrés végrehajtása
A [Szűrés végrehajtása] gomb megnyomása után a képernyő felső részén megjelennek a már összerendelt szállítólevelek és számlák. Az összerendelt tételek egyrészt azért jelennek meg a képernyőn, mert egy számlához több szállítólevél kapcsolható, másrészt pedig ezen a képernyőn lehet elvégezni a már összerendelt tételek lebontását is. A képernyő a bal alsó részében a még összerendelésre váró szállítólevelek, a jobb alsó részben pedig a még párba nem állított számlák láthatóak.
Az összerendelésre váró tételeknek – a beállított rugalmas szűrési paraméterek mellett – az alábbi feltételeknek is meg kell felelniük:
KMozFej – Raktári mozgás fej
1. JogCim = '1' Bevételezés vásárlásból
2. BesTip = '2' Beszerzés szállítólevéllel
3. PenAll = '0' A raktári mozgásfej még nincs számlához rendelve
4. StoKod = '0' Nem stornózott illetve stornó fej
PSzaAla – Pénzügyi bizonylat (számla) fej
1. TipusK = '1' Szállító számla
2. FormaK = In ('1','2') Kézi vagy gépi számla
3. Status = '1' Elfogadott státusz
4. StoKod = '0' Nem stornózott illetve stornó számla
5. PenAll = '0' A számla még nincs raktári mozgásfejhez rendelve
4. Összerendelendő bizonylatok (mozgás fej, számla) kijelölése
A képernyő bal oldalán található, még össze nem rendelet szállítólevél fejek közül kijelöljük (rákattintunk) az a tételt amelyiket össze akarjuk kapcsolni a jobb oldalon szereplő valamelyik, még össze nem rendelt számlával, amely utóbbit szintén rákattintással jelölünk ki.
5. A fej adatok összerendelésének rögzítése
Egy számla és egy bizonylatfej kiválasztása után a program további input adatok bekérése nélkül, az összerendelés gomb
megnyomásával, a két tábla között létrehozza kapcsolatot. A különálló bizonylatok eltűnnek az összerendeletlenek közül, és az összekapcsolt tételek pedig szürke színnel megjelennek az összerendeltek között. A szürke szín azt jelenti, hogy a fej adatok összerendelése megtörtént, de a fejösszerendeléshez tétel összerendelés még nem tartozik.
Funkció – Adat entitás kapcsolat:
KMozFej – Mozgás fej
Az összerendelés megtörtént bejegyezzük a mozgás fej egyes adatmezőibe.
Modify
Program által előállított adatok:
Alapadatok:
A2. BizAzoP Pénzügyi bizonylat azonosító <PSzaAla.SzAlId>
Kapcsolódási kulcs a számlanyilvántartáshoz. A kapcsolt számla azonosítója kerül a mozgás fej pénzügyi bizonylat azonosító mezőjébe.
Állapot adatok:
Á3. PenAll Pénzügyi állapot <1> – Feldolgozott
A bizonylat fej pénzügyi állapota feldolgozottra vált.
Napló adatok: A napló adatok is aktualizálódnak az összerendelés során.
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
PSzaAla – Számla alap tábla
Az összerendelés megtörtént bejegyezzük a számla fej egyes adatmezőibe.
Modify
Program által előállított adatok:
Általános input adatok:
I3. Bizony Bizonylatszám <KMozFej.BizAzo>
A kapcsolt mozgás fej azonosítója kerül a számla bizonylatszám mezőjébe.
Állapot adatok:
Á6. BizaDb Csatolt bizonylatok száma <BizaDb + 1>
A számlához kapcsolt bizonylatok száma megnő eggyel. Egy számlához több mozgás bizonylat tartozhat.
Á7. PenAll Pénzügyi állapot PPA <1> – Feldolgozott
A számla fej pénzügyi állapota feldolgozottra vált.
Napló adatok: - Nem módosulnak
PSzaBiz – Számla – bizonylat tábla
A fej adatok összerendelését bejegyezzük az összerendelt bizonylatfejek adatait tartalmazó táblába.
Insert / Delete
Program által előállított adatok:
1. SzBiID Számla bizonylat ID generált
A program minden összerendelésnek egy egyedi azonosítót (egy folyamatos sorszámot) generál.
2. SzAlID Számla alap ID <PSzaAla.SzAlID>
3. SBizAzo Számla bizonylat azonosító <PSzaAla.BizAzo>
4. MBizAzo Mozgás bizonylat azonosító <KMozFej.BizAzo>
5. Opekod Rögzítés napló adatok – Operátor kód generált
6. Terkod Terminál kód generált
7. Rogdat Rögzítés időpontja generált
Amíg a számla és a szállítólevél tételek nincsenek összekapcsolva, addig a fejek közötti összerendelés megszüntethető.
A. Szállítólevél-tételek – számla-tételek összerendelése
Az összekapcsolt fej tételen állva, a módosítás gomb
megnyomása után lehetőségünk nyílik a számla és a bevételezési bizonylat tételeinek összerendelésére.

A képernyő felső részén az összekapcsolt bizonylat már összerendelt tételei láthatóak. A bal alsó részen az összerendeletlen raktári mozgások, a jobb alsó részen pedig az összerendeletlen számla áruk láthatóak.
1. Számla és raktári mozgás tételek összerendelése
Egy számla és egy bizonylat tétel kiválasztása után a program további input adatok bekérése nélkül, az összerendelés gomb megnyomásával
,a két tábla között létrehozza kapcsolatot. A különálló tételek eltűnnek az összerendeletlenek közül, és az összekapcsolt tételek megjelennek az összerendeltek között.
A számla és a mozgás tétel párba állítása után a program az adatbázisban megteremti a kapcsolatot a tételek között. A program csak a termék típusú tételek (AAktTor.AruTip='1') összerendelését engedi.
Feltételek: Raktári mozgás Kapcsolat: AND
PenAll=0 Összerendeletlen
KesAll=2 Feldolgozott
StoKod=0 Alap
Feltételek: Számla áru Kapcsolat: AND
PenAll=0 Összerendeletlen
StoKod=0 Alap
2. Az összerendelés hatásának könyvelése az adatbázisban
KRakMoz – Mozgástétel adatok:
Az összerendelés hatását átvezetjük a raktári mozgás tábla egyes mezőin.
Modify
Program által előállított adatok:
Alap adatok:
A2. BizAzoP Pénzügyi bizonylat azonosító <PSzaAru.SzArId>
Kapcsolódási kulcs a számlanyilvántartáshoz. A mező a számla áru azonosítóját kapja meg.
Állapot adatok:
Á2. PenAll Pénzügyi állapot PPA <1> Feldolgozott
A mozgás pénzügyileg feldolgozottá válik.
Á6. EgysAr Egységár – Mozgás HUF
If AAfaTor(PSzaAru.AfaKod).KtsAfa = 'N' Then PSzaAru.EgysAr * PSzaAla.DevArf
Else Round((PSzaAru.TetErt + PSzaAru.AfaErt ) * PSzaAla.DevArf / PSzaAru.Mennyi,5)
A mozgás egységára (az alapértelmezett devizanemben [HUF]) a számla áru egységárának és a számla devizaárfolyamának (alapértelmezett [HUF] devizanemben rögzített számla esetén az árolyam = 1) a szorzata lesz.
If KMozDef.KonTip(KRakMoz.MozKod) <> '311' Then {Nem göngyöleg visszavásárlás}
Begin
Á7. AruTAr Egységár – Árutörzsben – Elszámoló ár <AAruTor.NyilAr>
Á8. Erteke Nettóérték HUF
If AAfaTor(PSzaAru.AfaKod).KtsAfa = 'N' Then PSzaAru.TetErt*PSzaAla.DevArf
Else (PSzaAru.TetErt + PSzaAru.AfaErt ) * PSzaAla.DevArf
A mozgás értéke a számla áru nettó értékének, vagy költség áfa esetén az áfával növelt értéknek és a számla devizaárfolyamának szorzata lesz.
Á9. BesErt Beszerzési áras érték HUF
Bevételezés: <:=Erteke>
Bevételezéskor a bekerülési érték megegyezik a mozgás értékkel, ami a számla áru nettó értéke az alap devizanemben [HUF].
Á10. AktErt Aktuális áras érték HUF
Bevételezés: <:=Erteke>
Bevételezéskor az aktuális érték is (a beszerzési értékhez hasonlóan) a mozgás érték lesz, ami a számla áru nettó értéke az alap devizanemben [HUF]. Ekkor még nincs elszámolt értékvesztés.
End
Else {Göngyöleg visszavásárlás};
Göngyöleg visszavásárlás során a bekerülési érték nem a visszavásárlási érték lesz, hanem az a bekerülési érték, amellyel a göngyöleg értékesítve lett. Ezeket az adatokat a már a göngyöleg visszavásárlási funkció kitöltötte.
Napló adatok: Az összerendeléssel a napló adatok is aktualizálódnak.
N1. Opekod Operátor kód generált
N2. Terkod Terminál kód generált
N3. Rogdat Rögzítés dátuma generált
PSzaAru – Számla áru tábla:
Az összerendelés hatását átvezetjük a számla áru tábla egyes mezőin
Modify
Alap adatok:
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ő.
Input adatok:
I1. AruKod Áru kód <KRakMoz.AruKod>
A számla áru törzsbe vissza kell írni a raktári mozgás áru kódját, függetlenül attól, hogy a pénzügyi modulban kapott-e értéket, vagy sem, mert a raktári bevételezés során dől el véglegesen a beérkező áru kódja.
Állapot adatok:
Á1. PenAll Pénzügyi állapot PAL <1> – Feldolgozott
Az áru pénzügyileg feldolgozottá válik.
PSzaAla – Számla alap tábla
Vevő számla első (és csakis az első) számla tételének rögzítésekor a számla hitelkamat adatait is ki kell tölteni (Update). Ezt csak az első áru ismeretében lehet elvégezni, mert a számla hitelkamat adatai az elsőként rögzített áru árukatalógusából származnak. Második és további áruként csak olyan rögzíthető, amely árukatalógusának hitelkamat adatai megegyeznek a számlafejben megadott hitelkamata adatokkal (amelyek az első áruból származnak). Ha az első áru árukatalógusának nincsenek hitelkamat adatai, akkor további áruként bármilyen rögzíthető (ami az egyéb feltételeknek megfelel). Vevő számla összekapcsolása ebben a funkcióban nem lehetséges. A leírás azért szerepel itt, mert az összekapcsolásra vonatkozó programlogika egyéb elemi ezen a helyen teljes körűen megtalálhatóak.
Modify
Program által előállított adatok:
Hitelkamat adminisztrációs adatok:
H1. HitKam Hitelkamat számítás szükséges (I/N)
PSzaAla.Insert <N>
If (PSzaAru.Insert.First) And (PSzaAla.TipusK='2' {Vevő} And
AAktTor.HitKam(PSzaAru.AruKod)='I' Then <I>
H2. KamElo Kamatszámítási szempontból élő (I/N)
PSzaAla.Insert <N>
If (PSzaAru.Insert.First) And (PSzaAla.TipusK='2' {Vevő} And
AAktTor.HitKam(PSzaAru.AruKod)='I' Then <I>
H3. HiKaKu Hitelkamat kulcs [%] <A:0> !
PSzaAla.Insert <0>
If (PSzaAru.Insert.First) And (PSzaAla.HitKam='I') Then AAktTor.HiKaKu Else 0
PSArBTe – Számla áru – bizonylat tétel tábla
Az összerendelés adatai bejegyzésre kerülnek a raktári mozgás tételek és a számla áruk összerendelését tartalmazó táblába.
Insert
Program által előállított adatok:
1. ArTeID Áru – tétel ID pk generált
2. SzArID Számla áru ID <PSzaAru.SzArID>
3. RaMoID Raktári mozgás azon. <KRakMoz.RaMoID>
4. AruKod Áru kód <KRakMoz.AruKod>
5. Opekod Rögzítés napló adatok – Operátor kód generált
6. Terkod Terminál kód generált
7. Rogdat Rögzítés időpontja generált
Az összerendelés hatásának könyvelése az adatbázisban
Az adatok rögzítése az előző lépéssel egy tranzakcióban történik. A szállítólevél tétel rögzítésekor egyes mezők nem kaptak értéket. Ezeket a mezőket most utólag kell értékkel ellátni.
If KMozDef.KonTip(KRakMoz.MozKod) <> '311' Then {Nem göngyöleg visszavásárlás}
Begin
KTetKes - Tételes készlet
Modify - Egy tétel
A módosítandó tétel <WHERE KRakMoz.RaMoID=KTetKes.TeKeId> reláció alapján keresendő ki.
Alap adatok:
A7. BevEar Bevételezési egységár <KRakMoz.EgysAr> Eddig 0 volt !
A12. AktEar Aktuális egységár <KRakMoz.EgysAr>
A13. EloEar Előző egységár <0>
A14. ErHeDt Értékhelyesbítés dát. <BevDat>
A15. PenAll Pénzügyi állapot PPA <0>
A16. FokAll Főkönyvi állapot FAL <0>
End Else;
Napló adatok: Nem módosulnak.
Amennyiben ebből a készlettételből már volt kiadás (Kiadas>0), akkor a kiadások értékadatait (a KRakMoz táblában) is módosítani kell. A kiadások raktári mozgás tételei a tételes mozgáson keresztül érhetők el.
A tételes mozgás tételek kikeresése a tételes készlet alapján:
<WHERE KTetKes.TeKeId =KTetMoz.TeKeId> Több tétel lehet.
A halmaz azokat a mozgásokat tartalmazza, amelyek a tételes készlet tételhez kapcsolódnak. Benne van a bevételezési tétel is, ezért azt ki kell szűrni. A kiszűrés feltétele: Kiadas>0.
A kiadási raktári mozgás tételek kikeresése a tételes mozgás alapján:
<WHERE KTetMoz.RaMoId =KRakMoz.RaMoId>
Amikor a kiadás rögzítése történt, egy raktári mozgáshoz több tételes mozgás is lehetett rögzítve, ha a kiadás több készlettételből történt. Ezért most, amikor a tételes mozgáshoz keressük a raktári mozgást, több tételes mozgás ugyanazt a raktári mozgást hozhatja fel. Ebben az esetben, több tételes mozgás hatását kell átvezetni ugyanazon a raktári mozgáson.
A könyvelt beszerzési tételből történt felhasználás mennyiségét a tételes készlet mozgásokból össze kell gyűjteni: FelOszX.
KRakMoz.RaMoId=KtetMoz.TeKeId Sum(Kiadas)
If KMozDef.KonTip(KRakMoz.MozKod) <> '311' Then {Nem göngyöleg visszavásárlás}
Begin
KRakMoz – Raktári mozgás adatok:
Modify
Program által előállított adatok:
Állapot adatok:
Á9. BesErt Beszerzési áras érték
BesErt:=BesErt+KTetMoz.Kiadas*KTetKes.BevEar>
Á10. AktErt Beszerzési áras érték
AktErt:=AktErt+KTetMoz.Kiadas*KTetKes.AktEar>
Á6. EgysAr:=0
Á8. Erteke Értéke
Erteke:=AktErt
End Else;
Az összerendelés megszüntetése:
Lásd:
Számla összerendelés megszüntetése