program "AANKOOPDAGBOEK" dcl blz%,swit#,selma%,suptel%,w%,pf% dcl cendebet=6(99),cencredit=6(99),overdr=6(20),somdeb=6(15),somcre=6(15) dcl afdruk=6(15),cenbed=6(99),v86=6 dcl credit=6,debet=6,totbow=6,totaal=6,totool=6,totinves=6,totbtw=6 dcl sbtot=6 ;tot btw's dcl som=6,reken$=6 dcl central$=6(99),btwsoort$=35(5),tabaank$=8(25),maanden$=2(12) dcl leessec$=1,leesma$=2,seljaar$=2,selboek$=1 dcl sv$=2,selmnd$=2,drmaan$=2,verwerk$=1,keuze$=1,seltyp$=1,selok$=1 dcl hulprek$=6 field=m,hulprek dcl hulptek$=1,filler=5 field=m #INCLUDE "CRINCLU" #INCLUDE "CRINCLU2" assign=45,"IM0",wr,ex,im assign=02,bestand(03),si ;leveranciersbestand assign=04,bestand(07),wr,si ;aankoopdagboekbestand assign=08,bestand(01),si ;rekeningen bestand assign=10,bestand(02),wr,si ;maandhistoriek &7 for e=1 to 12 maanden(e)="31" next e for e=4 to 6 step 2 maanden(e)="30" next e for e=9 to 11 step 2 maanden(e)="30" next e maanden(2)="28" madatum=ndat seljaar=right(ndat,2) verwerk="N" drmaan=" " seltyp="A" selok="Y" &12 pf=45 print=1:clear,paint(kh,ka),naam,paint(kt,0)," AFDRUKKEN AANKOOPDAGBOEK ",tab(70),ndat print=1:paint(kl,0),tab(01,02),gener(79,hto) print=1:tab(01,05),paint(kh,ka),"Aantal ingevoerde aankoopfakturen : ",paint(kt,0),(-4),teller(03)-1 print=1:tab(01,07),paint(kt,ka2),"1 --> Afdrukken aankoopdagboek.",paint(kt,0) print=1:tab(01,09),paint(kt,ka3),"2 --> Afdrukken centralisatie.",paint(kt,0) print=1:tab(01,11),paint(kl,0),gener(79,hto),paint(kt,0) &15 ask=1,i=&1,u=&1:tab(01,13),"Maak uw keuze 1--2",esc,keuze,tab(35)=keuze &16 if keuze="1" : goto &30 if keuze="2" : goto &30 goto &15 &30 gosub &6000 &31 blz=0 lijntel=0 v86=0 for i=1 to 15 somdeb(i)=0 somcre(i)=0 afdruk(i)=0 next i for i=1 to 99 cencredit(i)=0 cendebet(i)=0 central(i)=" " cenbed(i)=0 next i if teller(03)>1 : goto &35 print=1:tab(01,24),atb(21) ask=1,i=&1,u=&1:bell,tab(01,24),"Er werden geen gegevens ingebracht voor deze periode : "=j goto &1 &35 ;teller groter dan 1 dus gegevens ingevoerd if keuze="2" : goto &36 gosub &1100 ;hoofdtitel gosub &1200 ;subtittel goto &37 &36 gosub &1300 ;centralisatie titel &37 aankfok=" " aanktel=0 &38 search=4,aankkey:&39,e,aankrec &39 down=4:&165,e,aankdown op &280,w &40 if kodes(04)<>"Y" : goto &42 if selboek=" " : goto &42 if selboek<>aankboek : goto &39 &42 sbtot=0 for i=1 to 15 afdruk(i)=0 next i if lijntel=0 : goto &45 afdruk(1)=abs(aankcre) afdruk(2)=0 for i=1 to 5 if aankkod(i)=" " : goto &75 if aankkod(i)="1" : goto &66 if aankkod(i)="2" : goto &67 if aankkod(i)="3" : goto &68 if aankkod(i)="4" : goto &69 if aankkod(i)="5" : goto &70 goto &74 &66 afdruk(3)=aankbed(i) sbtot=sbtot+afdruk(3) goto &74 &67 afdruk(4)=aankbed(i) afdruk(3)=-aankbed(i) sbtot=sbtot+afdruk(3) goto &74 &68 afdruk(5)=aankbed(i) afdruk(3)=-afdruk(5) sbtot=sbtot+afdruk(3) somdeb(11)=somdeb(11)+abs(aankcre) ;wio vak 87 goto &74 &69 afdruk(6)=aankbed(i) goto &74 &70 afdruk(7)=aankbed(i) &74 next i &75 ;einde bepalen btw afdruk(8)=sbtot afdruk(9)=aanktbe(1) ;eerste tegenboekingsbedrag for i=1 to 8 somdeb(i)=somdeb(i)+abs(afdruk(i)) next i ;bepalen cumul for tel=1 to 5 if left(aankteg(tel),2)="60" : goto &76 ;vak 60 if left(aankteg(tel),2)="61" : goto &77 ;vak 61 goto &78 &76 somdeb(9)=somdeb(9)+abs(aanktbe(tel)) goto &78 &77 somdeb(10)=somdeb(10)+abs(aanktbe(tel)) &78 next tel &100 search=2,aanklev:&101,e,levrec goto &102 &101 if aanklev=" " : goto &160 print=45:tabv(01),"Fout search leverancier : ",e," ",levkode stop &102 reken=aankteg(1) som=aanktbe(1) credit=0 debet=0 if som>0 : goto &103 credit=abs(som) goto &104 &103 debet=som &104 gosub &900 ;uitvoering centralisatie if keuze="2" : goto &110 print=45:tabv(01),aankdat,tab(10),(u19),levnaam,tab(30),(u6),aankfak,(u),large(aankcnf),(-7.n2),afdruk(1),afdruk(2),afdruk(3),afdruk(4),afdruk(5),afdruk(6),afdruk(7),tab(105),(-6.n2),afdruk(8),tab(115),(u6),aankteg(1),(-7.n2),aanktbe(1) lijntel=lijntel+1 &110 if aankteg(2)=" " : goto &150 ;geen tweede rekening meer reken=aankteg(2) som=aanktbe(2) if som>0 : goto &113 credit=abs(som) goto &114 &113 debet=som &114 gosub &900 ;centralisatie tweede rekening if keuze="2" : goto &120 if lijntel0 : goto &123 credit=abs(som) goto &124 &123 debet=som &124 gosub &900 if keuze="2" : goto &130 if lijntel"2" : goto &196 totinves=totinves+cenbed(i) &196 next i &200 print=45:tabv(01),tab(33),gener(21,hto) print=45:tabv(01),tab(32),(-8.n2),afdruk(2),afdruk(4) print=45:tabv(01)," " lijntel=lijntel+3 &220 ;afdrukken btw gegevens print=45:tabv(01),"I.C.V. Btw vak 55",tab(22),":",(-8.n2),somcre(4) print=45:tabv(01),"Btw aftrekb. vak 59",tab(22),":",(-8.n2),somcre(3) print=45:tabv(01),"Btw kn aankoop 61",tab(22),":",(-8.n2),somdeb(3) print=45:tabv(01),"Btw medek. vak 56",tab(22),":",(-8.n2),somcre(5)-somdeb(5) print=45:tabv(01),"Btw nt aftrek.",tab(22),":",(-8.n2),somcre(6)-somdeb(6) print=45:tabv(01),"Totaal btw ",tab(22),":",(-8.n2),somcre(8)-somdeb(8) print=45:tabv(01),"Invest .vak 83",tab(22),":",(-8.n2),totinves print=45:tabv(01),"Goederen vak 81",tab(22),":",(-8.n2),abs(somcre(9))-abs(somdeb(9)) print=45:tabv(01),"Diensten vak 82",tab(22),":",(-8.n2),abs(somcre(10))-abs(somdeb(10)) print=45:tabv(01),"Goederen vak 86",tab(22),":",(-8.n2),v86 ;somcre(7)-somdeb(7) print=45:tabv(01),"W.I.O. vak 87",tab(22),":",(-8.n2),abs(somcre(11))-abs(somdeb(11)) print=45:tabv(01) lijntel=lijntel+11 print=45:page close=45 &240 if verwerk<>"Y" : goto &270 &250 makode="A" matgfak="centra" maomsch="Centralisatie" makllev="A" maklv=" " for i=1 to 99 if central(i)=" " : goto &270 if cendebet(i)<>0 : goto &251 if cencredit(i)<>0 : goto &251 goto &260 &251 mareknr=central(i) matel=teller(01) teller(01)=teller(01)+1 mabedrd=cendebet(i) mabedrc=cencredit(i) insert=10,makod9:&252,e,mahisre goto &260 &252 if e=81 : goto &251 print=1:tab(01,24),"Fout insert historiek record : ",e," ",makod9 stop &260 next i &270 goto &12 &280 if w=83 : goto &285 if w=115 : goto &285 goto &42 &285 print=45:page close=45 goto &12 &290 if seltyp="A" : goto &295 if seltyp="K" : goto &292 if aankcnf=" " : goto &295 if aankcnf<>"F" : goto &160 goto &295 &292 if aankcnf<>"K" : goto &160 &295 if seljaar=" " : goto &300 if right(aankdat,2)<>seljaar : goto &160 &300 if drmaan=" " : goto &44 if drmaan="K1" : goto &301 if drmaan="K2" : goto &302 if drmaan="K3" : goto &303 if drmaan="K4" : goto &304 if drmaan<>substr(aankdat,4,2) : goto &160 goto &44 &301 if substr(aankdat,4,2)="01" : goto &44 if substr(aankdat,4,2)="02" : goto &44 if substr(aankdat,4,2)="03" : goto &44 goto &160 &302 if substr(aankdat,4,2)="04" : goto &44 if substr(aankdat,4,2)="05" : goto &44 if substr(aankdat,4,2)="06" : goto &44 goto &160 &303 if substr(aankdat,4,2)="07" : goto &44 if substr(aankdat,4,2)="08" : goto &44 if substr(aankdat,4,2)="09" : goto &44 goto &160 &304 if substr(aankdat,4,2)="10" : goto &44 if substr(aankdat,4,2)="11" : goto &44 if substr(aankdat,4,2)="12" : goto &44 return &900 for i2=1 to 99 if central(i2)=" " : goto &903 if central(i2)<>reken : goto &904 cenbed(i2)=cenbed(i2)+som cencredit(i2)=cencredit(i2)+credit cendebet(i2)=cendebet(i2)+debet goto &905 &903 central(i2)=reken cenbed(i2)=som cencredit(i2)=credit cendebet(i2)=debet goto &905 &904 next i2 &905 credit=0 debet=0 return &1100 print=45:atb(70) print=45:atb(6) print=45:tabv(00),naam," A A N K O O P D A G B O E K ",tab(110),"Maand : ",drmaan print=45:tabv(01),gener(132,hto) print=45:tabv(01) lijntel=2 return &1200 ;afdrukken subtitel met rekening te houden met btw.s blz=blz+1 print=45:tabv(01),tab(118),"Blz : ",(-3),blz print=45:tabv(01),"Datum",tab(10),"Naam lever",tab(33),"Fakt.",tab(40),"Debet",tab(50),"Kredit",tab(61),"Aftr. ",tab(70),"I.C.V.",tab(79),"Mede.",tab(88),"Nt. aftr.",tab(99)," ",tab(105),"BTW tot",tab(116)," Rek. ",tab(125),"Bedrag" print=45:tabv(01),gener(132,hto) lijntel=lijntel+3 ;twee lijnen bijgedrukt return &1300 print=45:atb(6) print=45:tabv(01),"Centralisatie van het aankoopdagboek Maand : ",drmaan print=45:tabv(01),gener(51,hto),tab(71),"DEBET KREDIT" lijntel=lijntel+2 return &1400 print=45:tabv(01),gener(132,hto) print=45:tabv(01),tab(25),"Totalen",tab(37),(-7.n2),somcre(1),somcre(2),somcre(3),somcre(4),somcre(5),somcre(6),somcre(7),tab(104),somcre(8),tab(121),somcre(9) print=45:tabv(01),tab(25),"Debet",tab(37),(-7.n2),somdeb(1),somdeb(2),somdeb(3),somdeb(4),somdeb(5),somdeb(6),somdeb(7),tab(104),somdeb(8),tab(121),somdeb(9) lijntel=lijntel+3 print=45:page lijntel=0 return &6000 print=1:clear,paint(kl,0),ltb,gener(77,hto),rtb,tab(01,03),lto,gener(77,hto),rto,tab(01,02),vtb,tab(79,02),vtb print=1:tab(01,06),gener(79,hto) print=1:tab(01,10),gener(79,hto) print=1:tab(01,14),gener(79,hto) print=1:tab(01,18),gener(79,hto) print=1:tab(01,21),gener(79,hto),paint(kt,0) print=1:tab(03,02),paint(kh,ka),naam,paint(kt,0)," : AANKOOPDAGBOEK Bewerkingen : ",(-5),teller(03)-1 print=1:tab(01,04),"Opgave van jaartal voor afdrukken van het aankoopdagboek,indien niets" print=1:tab(01,05),"ingevuld is dan wordt alles afgedrukt" print=1:tab(60,05),"Jaartal",tab(70),": ",paint(kh,ka),seljaar,paint(kt,0),"." print=1:tab(01,07),"Opgave van maand ofwel 1--12, indien niets ingevuld is wordt alles gedrukt" print=1:tab(01,08),"Ofwel opgave van een kwartaal : K1=eerste kwartaal (K1,K2,K3,K4) " print=1:tab(60,09),"Periode",tab(70),": ",paint(kh,ka),drmaan,paint(kt,0),"." print=1:tab(01,11),"Verwerken van de centralisatie naar historieken toe Y-N " print=1:tab(01,12),"Indien dit een voorlopig dagboek is antwoorden met N (nee)" print=1:tab(60,13),"Verw. ?",tab(70),": ",paint(kh,ka),verwerk,paint(kt,0),"." print=1:tab(01,15),"Keuzemogelijk om alles af te drukken, zowel fakturen als kredietnota's" print=1:tab(01,16),"Ofwel ",paint(kh,ka),"A",paint(kt,0),"=alles, ",paint(kh,ka),"F",paint(kt,0),"=alleen de FAKTUREN ",paint(kh,ka),"K",paint(kt,0),"=alleen de KREDIETNOTA'S " print=1:tab(60,17),"A-K-F",tab(70),": ",paint(kh,ka),seltyp,paint(kt,0),"." if kodes(04)<>"Y" : goto &6005 print=1:tab(01,20),"Dagboeknummer ",tab(70),": ",paint(kh,ka),selboek,paint(kt,0),"." &6005 print=1:tab(01,23),"O.K. om af te drukken Y-N",tab(70),": ",paint(kh,ka),selok,paint(kt,0) &6017 seljaar=right(ndat,2) ask=1,i=&12,u=&12:tab(72,05),seljaar,tab(72),(nn)=seljaar if seljaar=" " : goto &6018 if seljaar<"00" : goto &6017 if seljaar>"99" : goto &6017 &6018 ask=1,i=&12,u=&6017:tab(72,09)=drmaan drmaan=large(drmaan) if drmaan=" " : goto &6019 if drmaan="K1" : goto &6019 if drmaan="K2" : goto &6019 if drmaan="K3" : goto &6019 if drmaan="K4" : goto &6019 if len$(drmaan)<>2 : goto &6018 if conv(drmaan)<1 : goto &6018 if conv(drmaan)>12 : goto &6018 if left(drmaan,1)=" " : goto &6019 if left(drmaan,1)="K" : goto &6019 e=conv(drmaan) madatum=maanden(e)+"."+drmaan+"."+seljaar &6019 ask=1,i=&12,u=&6018:tab(72,13)=verwerk verwerk=large(verwerk) if verwerk="N" : goto &6025 if verwerk="Y" : goto &6025 goto &6019 &6025 ask=1,i=&12,u=&6019:tab(72,17)=seltyp seltyp=large(seltyp) if seltyp="A" : goto &6027 if seltyp="F" : goto &6027 if seltyp<>"K" : goto &6025 &6027 if kodes(04)<>"Y" : goto &6028 ask=1,i=&12,u=&6025:tab(72,20)=selboek selok=large(selok) &6028 ask=1,i=&12,u=&6025:tab(72,23)=selok selok=large(selok) if selok="N" : goto &12 if selok="Y" : goto &6030 goto &6028 &6030 print=45:atb(70) return eseg 0 end