program "AANKOPEN" dcl som,omz$=6 field=m,omz dcl omzkod$=1,filler=5,omzet,totnelux,totmede,totniet,totaal,totbtw #INCLUDE "CRINCLU" #INCLUDE "CRINCLU2" assign=06,bestand(12),wr,si ;leveranciershistoriekbestand assign=07,bestand(10),wr,si ;openstaande fakturenbestand assign=08,bestand(07),wr,si ;aankoopdagboek assign=09,bestand(02),wr,si ;maandhistoriek assign=10,bestand(01),wr,si ;rekeningenbestand assign=11,bestand(03),wr,si ;leveranciersbestand &4000 print=1:clear,paint(kh,ka),naam,paint(kt,0)," OPROEPEN VAN EEN AANKOOPFAKTUUR ",tab(70),ndat print=1:paint(kl,0),tab(01,02),gener(79,hto),paint(kt,0) &4205 print=1:tab(01,05),atb(22) ask=1,i=&1,u=&1,/8a=&4217,/8b=&4219:tab(01,05),"Geef faktuurnummer : "=zoek aankfok=conv(zoek) aanktel=0 search=8,aankkey:&4212,e,aankrec goto &4225 &4212 ask=1,i=&4000,u=&4000,/8a=&4217,/8b=&4219,"n"=&4213,"N"=&4213:tab(01,24),paint(kh,ka),"Faktuur",ng,paint(kt,0)," ",fvoor,voor,fvolg,volg=j goto &4205 &4213 aankrec=" " for i=1 to 5 aankbed(i)=0 next i aankcre=0 aankbtw=0 for i=1 to 10 aanktbe(i)=0 next i aankboek=" " insert=8,aankkey:&4212,e,aankrec goto &4225 &4217 up=8:&4218,e,aankdown goto &4225 &4218 print=1:tab(01,24),atb(21) ask=1,i=&4000,/8a=&4217,/8b=&4219:tab(01,24),paint(kh,ka),berb,paint(kt,0)," ",fvolg,volg=j goto &4000 &4219 down=8:&4220,e,aankdown goto &4225 &4220 ask=1,i=&4000,/8a=&4217,/8b=&4219:tab(01,24),paint(kh,ka),bere,paint(kt,0)," ",fvoor,voor=j goto &4205 &4221 delete=8,aankkey:&4217,e goto &4217 &4225 print=1:tab(01,05),atb(22) print=1:tab(01,05),"Faktuuurkode",tab(20),": ",aankfok,(--),aanktel print=1:tab(01,06),"Datum faktuur",tab(20),": ",aankdat," ",aankboek print=1:tab(01,07),"Leverancier",tab(20),": ",aanklev print=1:tab(01,08),"Faktuurnummer",tab(20),": ",aankfak print=1:tab(01,09),"Kn of faktuur",tab(20),": ",aankcnf print=1:tab(01,10),"Totaal bedrag ",tab(20),": ",(-7z.n2),aankcre print=1:tab(01,11),"Omschrijving",tab(20),": ",aankoms print=1:tab(01,12),"Btw bedrag",tab(20),": ",(-7z.n2),aankbtw print=1:tab(01,13),"Kode btw",tab(20),": ",aankkod(1),tab(30),": ",aankkod(2),tab(40),": ",aankkod(3) print=1:tab(01,14),"Basis btw",tab(20),": ",(-7z.n2),aankbed(1),tab(32),aankbed(2),tab(42),aankbed(3) print=1:tab(01,15),"Tegenb.rek",tab(20),": ",aankteg(1),tab(30),": ",aankteg(2),tab(40),": ",aankteg(3) print=1:tab(01,16),"Bedragen",tab(20),": ",(-7z.n2),aanktbe(1),tab(32),aanktbe(2),tab(42),aanktbe(3) print=1:paint(kl,0),tab(01,18),gener(79,hto),paint(kt,0) &4300 ask=1,i=&4000,u=&4000,/8a=&4217,/8b=&4219:tab(22,06)=aankdat if kodes(04)<>"Y" : goto &4301 ask=1,i=&4000,u=&4300,/8a=&4217,/8b=&4219:tab(32,06)=aankboek &4301 ask=1,i=&5000,u=&4300:tab(22,07)=aanklev aanklev=large(aanklev) search=11,aanklev:&4301,e,levrec print=1:tab(30,07),levnaam &4302 ask=1,i=&5000,u=&4301:tab(22,08)=aankfak aankfak=shr(aankfak) &4303 ask=1,i=&5000,u=&4302:bell,tab(32,08)=aankboek aankboek=large(aankboek) &4304 ask=1,i=&5000,u=&4303:tab(22,09)=aankcnf &4306 ask=1,i=&5000,u=&4304:tab(22,10)=aankcre &4308 ask=1,i=&5000,u=&4306:tab(22,11)=aankoms aankoms=large(aankoms) &4310 ask=1,i=&5000,u=&4308:tab(22,12)=aankbtw &4312 ask=1,i=&5000,u=&4310:tab(22,13)=aankkod(1) &4314 ask=1,i=&5000,u=&4312:tab(32,13)=aankkod(2) &4316 ask=1,i=&5000,u=&4314:tab(42,13)=aankkod(3) &4318 ask=1,i=&5000,u=&4316:tab(22,14)=(-7z.n2),aankbed(1) &4320 ask=1,i=&5000,u=&4318:tab(32,14)=(-7z.n2),aankbed(2) &4322 ask=1,i=&5000,u=&4320:tab(42,14)=(-7z.n2),aankbed(3) &4324 ask=1,i=&5000,u=&4322:tab(22,15)=aankteg(1) &4326 ask=1,i=&5000,u=&4324:tab(32,15)=aankteg(2) &4328 ask=1,i=&5000,u=&4326:tab(42,15)=aankteg(3) &4330 ask=1,i=&5000,u=&4328:tab(22,16)=(-7z.n2),aanktbe(1) &4332 ask=1,i=&5000,u=&4330:tab(32,16)=(-7z.n2),aanktbe(2) &4334 ask=1,i=&5000,u=&4332:tab(42,16)=(-7z.n2),aanktbe(3) &5000 j=" " ask=1,i=&4000,u=&4334:tab(01,24),vali," (A=annulatie) : "=j j=large(j) if j="Y" : goto &5005 if j="N" : goto &4000 if j="A" : goto &5010 if j="V" : goto &6000 goto &5000 &5005 modif=8,aankkey:&5006,e,aankrec goto &4000 &5006 print=1:tab(01,24),"Fout modif aankkey : ",e," ",aankkey stop &5010 delete=8,aankkey:&5006,e goto &4000 &6000 open=8:&4000,e &6010 down=8:&4000,e,aankdown ldgo.seg 1 goto &6010 eseg 0 segment 1 goto &5 &1 ret.seg &5 faknum=aankfak fakoms=aankoms fakdat=aankdat fakverv=aankdat fakvm=0 faktebe=aankcre levkode=aanklev &7 search=11,aanklev:&8,e,levrec goto &10 &8 stop &10 gosub &6500 gosub &6600 gosub &6700 totniet=0 totmede=0 totnelux=0 totbtw=0 for e=1 to 5 if aankkod(e)="1" : goto &15 if aankkod(e)="2" : goto &20 if aankkod(e)="3" : goto &30 if aankkod(e)="4" : goto &40 &13 next e goto &50 &15 totbtw=aankbed(e) goto &13 &20 totnelux=aankbed(e) goto &13 &30 totmede=aankbed(e) goto &13 &40 totniet=aankbed(e) goto &13 &50 fakkllv="L" fakname=levkode fakfak=shr(aankfak) fakklv="L" ;kodering leverancier faknaam=levkode ;kode leverancier fakont=0 ;reeds ontvangen bedragen fakdat=aankdat fakverv=aankdat levkode=aanklev faknum=shr(aankfak) fakoms=aankoms faktebe=aankcre hisnaam=levkode histdat=substr(aankdat,7,2)+substr(aankdat,4,2)+substr(aankdat,1,2) histel=0 hiskod1="A" ;kode aankoop hiskod2=" " ;kode 2 geen intrest , korting e.d. hisbed1=faktebe ;totaal te betalen hiskllv=levkode ;leverancierskode hisbed2=0 ;geen tweede kode ingevuld dus geen tweede bedrag hisfakt=faknum ;invullen faktuurnummer hisbetw=space(06) ;betaalwijze hisbtw=totbtw ;totaal bedrag btw hisdat=aankdat &130 insert=6,hiskode:&131,e,kllvhis goto &132 &131 histel=histel+1 goto &130 &132 teller(08)=teller(08)+1 ;aanpassen historieken teller teller(15)=teller(15)+1 ;aanpassen fakturen inschrijvings teller &133 insert=7,fakkode:&134,e,fakrec goto &136 &134 modif=7,fakkode:&135,e,fakrec goto &136 &135 print=1:tab(01,24),"Fout modif fakkode : ",e," ",fakkode stop &136 ;aanpassen leverancier omzet=0 teller(05)=teller(05)+1 for i4=1 to 10 omz=aankteg(i4) if omzkod<>"6" : goto &137 omzet=omzet+aanktbe(i4) &137 next i4 ;verrekenen tot omzet : exclusief btw en verpakkingen levjomz=levjomz+omzet ;verhogen jaaromzet levtebe=levtebe+faktebe ;verhogen te betalen aan deze lev. aankcnf=large(aankcnf) totbtw=aankbtw if aankcnf="K" : goto &140 ;kredietnota if aankbtw<0 : goto &140 levtbtw=levtbtw+totbtw goto &142 &140 levtbtw=levtbtw-abs(totbtw) &142 if levvast<>" " : goto &144 levvast=aankteg(1) &144 modif=11,levkode:&146,e,levrec goto &150 &146 print=1:tab(01,24),"Fout modif levkode : ",e," ",levkode stop &150 reknum=vastrek(02) ;leveranciers search=10,reknum:&161,e,rekrec goto &162 &161 print=1:tab(01,24),"Fout search rekkode : ",e," ",reknum stop &162 if aankcnf="K" : goto &164 if aankbtw<0 : goto &164 rekcred(1)=rekcred(1)+faktebe rekcred(2)=rekcred(2)+faktebe madbcr="C" mabedrc=faktebe goto &170 &164 rekdeb(1)=rekdeb(1)+abs(faktebe) rekdeb(2)=rekdeb(2)+abs(faktebe) madbcr="D" mabedrd=abs(faktebe) ;positief maken debet bedrag &170 modif=10,reknum:&171,e,rekrec goto &172 &171 print=1:tab(01,24),"Fout modif reknum : ",(n3),e,(e),reknum stop &172 madatum=aankdat madat=right(madatum,2)+substr(madatum,4,2)+left(madatum,2) makode="1" ;kode aankoop makllev="L" ;kode leverancier maklv=levkode ;sleutel leverancier matgfak=shr(faknum) ;faktuurnummer maomsch=fakoms ;omschrijving faktuur mareknr=reknum ;klaarzetten voor insert te doen gosub &500 &173 if totniet=0 : goto &176 ;is er niet aftrekbare btw if aankcnf="K" : goto &174 reknum=vastrek(11) search=10,reknum:&415,e,rekrec rekdeb(1)=rekdeb(1)+totniet rekdeb(2)=rekdeb(2)+totniet madbcr="D" mabedrc=totniet goto &175 &174 reknum=vastrek(11) search=10,reknum:&415,e,rekrec rekcred(1)=rekcred(1)+abs(totniet) rekcred(2)=rekcred(2)+abs(totniet) madbcr="C" mabedrc=abs(totniet) &175 gosub &500 ;historiek modif=10,reknum:&415,e,rekrec &176 if totmede=0 : goto &179 if aankcnf="K" : goto &177 reknum=vastrek(08) search=10,reknum:&415,e,rekrec rekcred(1)=rekcred(1)+totmede rekcred(2)=rekcred(2)+totmede ;wordt dubbel geboekt madbcr="C" mabedrc=totmede goto &178 &177 reknum=vastrek(08) search=10,reknum:&415,e,rekrec rekdeb(1)=rekdeb(1)+abs(totmede) rekdeb(2)=rekdeb(2)+abs(totmede) madbcr="D" mabedrd=abs(totmede) &178 gosub &500 modif=10,reknum:&415,e,rekrec totbtw=totbtw+totmede &179 if totnelux=0 : goto &185 if aankcnf="K" : goto &180 reknum=vastrek(10) search=10,reknum:&415,e,rekrec rekcred(1)=rekcred(1)+totnelux rekcred(2)=rekcred(2)+totnelux madbcr="C" mabedrc=totnelux goto &181 &180 reknum=vastrek(10) search=10,reknum:&415,e,rekrec rekdeb(1)=rekdeb(1)+abs(totnelux) rekdeb(2)=rekdeb(2)+abs(totnelux) madbcr="D" mabedrd=abs(totnelux) &181 gosub &500 modif=10,reknum:&415,e,rekrec totbtw=totbtw+totnelux &185 if totbtw=0 : goto &190 aankcnf=large(aankcnf) if aankcnf="K" : goto &186 if aankbtw<0 : goto &186 reknum=vastrek(06) search=10,reknum:&415,e,rekrec rekdeb(1)=rekdeb(1)+totbtw rekdeb(2)=rekdeb(2)+totbtw madbcr="D" mabedrd=totbtw goto &187 &186 reknum=vastrek(09) search=10,reknum:&415,e,rekrec rekcred(1)=rekcred(1)+abs(totbtw) rekcred(2)=rekcred(2)+abs(totbtw) madbcr="C" mabedrc=abs(totbtw) &187 gosub &500 modif=10,reknum:&415,e,rekrec &190 for i2=1 to 10 if aankteg(i2)=" " : goto &200 reknum=aankteg(i2) search=10,reknum:&191,e,rekrec goto &192 &191 print=1:tab(01,24),"Fout modif rek deb : ",e," ",reknum stop &192 if aanktbe(i2)<0 : goto &194 rekdeb(1)=rekdeb(1)+aanktbe(i2) rekdeb(2)=rekdeb(2)+aanktbe(i2) madbcr="D" mabedrd=aanktbe(i2) goto &198 &194 rekcred(01)=rekcred(01)+abs(aanktbe(i2)) rekcred(02)=rekcred(02)+abs(aanktbe(i2)) madbcr="C" mabedrc=abs(aanktbe(i2)) &198 modif=10,reknum:&191,e,rekrec gosub &500 next i2 &200 par(3)=param3 par(4)=param4 &205 ret.seg &415 print=1:tab(01,24),"Fout search rekkode : ",e," ",reknum stop &500 ;wegschrijven historiek rekhok=large(rekhok) if rekhok="N" : goto &503 mareknr=reknum matel=teller(01) makode2=makod9 insert=9,makod9:&501,e,mahisre goto &502 &501 print=1:tab(01,24),"Fout insert historiek : ",e," ",matel," ",mareknr stop &502 teller(01)=teller(01)+1 &503 madbcr=" " mabedrd=0 mabedrc=0 ;credit bedrag op nul return &6500 fakrec=space(80) fakklv="L" faktebe=0 fakont=0 fakvm=0 return &6600 kllvhis=space(55) hisbed1=0 hisbed2=0 hisbtw=0 return &6700 mahisre=space(55) mabedrd=0 mabedrc=0 return eseg 1 end eseg 1 end eg 1 end  return 6600 kllvhis=space(55) hisbed1=0