program "COPY FACTUREN" dcl wijzschrap#,onoff#,voltest# dcl e9#,elloper#,loper# dcl subloop%,koper%,e1%,retkode% dcl igino,cgino=6,egino=6,agino=6,t1gino=6,t2gino=6,t3gino=6 dcl dgino=6,mgino=6,jgino=6 dcl aantal=6,goederen=6,totaal=6 dcl btwtot=6(8) dcl zon1=5(5),zon2=5(5),zon3=5(5),zon4=5(5),zon5=5(5) dcl tabnum$=10(24),tabel$=8(24) dcl tekstl1$=30,tekstl2$=30 dcl dagweek$=12,naamdag$=10,joor$=4,oldart$=4 dcl srtbon$=1,mamart$=15,faklijn$=20 dcl srtdown$=37 field=m,srtdown dcl srtkode$=6,filler=1 field=m,srtkode dcl srtkod2$=4,arttel%,filler=1,srtrec$=30 field=m,srtrec dcl srtnum%,srtspec$=5,filler=18 field=m dcl fact$=256 field=m,fact dcl fkldat$=8,fklkode$=8,fkltest$=1,fklnum% field=m #INCLUDE "CRINCLU" field=3 dcl tek$=60(2) field=23 dcl factuur$=256 #INCLUDE "CRINCLU2" ldgo.seg assigns ldgo.seg naamd goto &100 &klovz ;overzicht klanten ldgo.seg klovz goto &100 &bonovz ldgo.seg bonovz if phil=1 goto &210 endif phil=0 goto &100 &100 bondatum=ndat print=1:clear,paint(kh,ka),naam,atb(0)," COPY FACTUREN ",tab(70),ndat print=1:paint(kl,0),tab(01,02),ltb,gener(77,hto),rtb print=1:tab(01,03),vtb,tab(79),vte print=1:tab(01,04),lto,gener(77,hto),rto,atb(0) print=1:tab(02,03),paint(kh,ka)," F1=Overzicht facturen F2=Overzicht klanten " ,atb(0) &110 print=1:tab(01,06),atb(22) ask=1,i=&1,u=&1,/80=&bonovz,/81=&klovz,/8a=&117,/8b=&119:tab(01,06),"Geef klantenkode",esc,klkode,tab(32)=klkode klkode=large(klkode) search=11,klkode:&115,e,klrec goto &130 &115 print=1:tab(01,24),atb(21) ask=1,i=&110,u=&110,/8a=&117,/8b=&119:tab(01,24),paint(kh,ka),"Klant",ng,atb(0),fvoor,voor,fvolg,volg," "=j goto &110 &117 up=11:&118,e,kldown goto &130 &118 print=1:tab(01,24),atb(21) ask=1,i=&110,u=&110,/8b=&119:tab(01,24),paint(kh,ka),berb,atb(0),fvolg,volg=j goto &110 &119 down=11:&118,e,kldown goto &130 &130 print=1:tab(01,06),atb(22) print=1:tab(01,06),"Klantenkode : ",klkode print=1:tab(01,08),"Naam klant",tab(20),": ",paint(kh,ka),left(klnaam,len$(klnaam)),atb(0)," ",kltwnaam print=1:tab(01,09),"Adres ",tab(20),": ",klstra print=1:tab(01,10),"Gemeente ",tab(20),": ",klgem print=1:tab(01,11),"Telefoon ",tab(20),": ",kltelef print=1:tab(01,15),"Datum ",tab(20),": ",bondatum tel=0 fakkode=" " fakkllv="K" fakname=klkode search=10,fakkode:&131,e,fakrec &131 down=10:&132,e,fakdown if fakname=klkode tel=tel+1 goto &132 endif &132 print=1:tab(01,12),paint(kh,ka),"SALDO : ",atb(0),tab(20),": ",paint(kh,ka),(-7.n2),kltego-klover,(e),atb(0)," Facturen : ",(-3),tel if klniet="Y" ask=1,i=&100,u=&100,/80=&140:tab(01,24),paint(kt,ka),"Deze klantenkode niet meer gebruiken",atb(0)=j goto &100 endif &140 bonklant=shl(klkode) bonnumer=teller(39) search=14,bonkode:&145,e,bonrec teller(39)=teller(39)+1 par(3)=param3 goto &140 &145 bonrec=" " bondruk="N" ;bon nog niet uitgedrukt bonverw="N" ;bon nog niet verwerkt bongoed=0 bonbtw=0 bontot=0 bonbeta=0 bonfak=0 bonnum=conv(bonnumer) gosub &initmember &155 bondatum=ndat ask=1,i=&100,u=&100,/80=&bonovz,"lL"=&8000,"tT"=&tekstl,/8a=&117,/8b=&119:tab(22,15),(z2)=lb if lb<"01" : goto &155 if lb>"31" : goto &155 &165 print=1:tab(01,24),atb(21) ask=1,i=&100,u=&155:tab(25,15),(z2)=mb if mb<"01" : goto &165 if mb>"12" : goto &165 if conv(lb)>datum(conv(mb)) : goto &155 &167 ask=1,i=&100,u=&165:tab(28,15),(z2)=rb &168 print=1:tab(01,15),"Datum ",tab(20),": ",bondatum dat=ndat ldgo.seg datu tndat=test1 dat=bondatum ldgo.seg datu tbondat=test1 if tndat>tbondat ask=1:bell,tab(01,24),paint(kh,ka),"Datum O.K. ? : ",atb(0)=j endif ldgo.seg naamd2 print=1:tab(35,15),paint(kh,ka)," ",left(dagweek,len$(dagweek))," ",atb(0) print=1:tab(01,24),atb(21) &180 insert=14,bonkode:&181,e,bonrec teller(39)=teller(39)+1 par(3)=param3 goto &210 &181 modif=14,bonkode:&182,e,bonrec goto &200 &182 print=1:tab(01,24),"Fout insert bonkode : ",(n3),e stop &200 gosub &bonhoofding print=1:paint(kl,0),tab(01,07),gener(79,hto),atb(0) print=1:tab(02,08),paint(kt,ka), "Bijvoegen op deze bon........ B",atb(0) print=1:tab(02,09),paint(kt,ka2),"Schrappen van deze bon....... D",atb(0) print=1:tab(02,10),paint(kt,ka3),"Wijzigen hoofdgegevens....... W",atb(0) print=1:tab(02,11),paint(kt,ka), "Factuurlijn.................. H",atb(0) print=1:tab(02,12),paint(kt,ka3),"Factureren................... F",atb(0) print=1:tab(02,13),paint(kt,ka4),"Tekst op factuur............. T",atb(0) print=1:paint(kl,0),tab(01,14),gener(79,hto),atb(0) &206 j=" " ask=1,i=&100,u=&100,d=&210:tab(02,19),"Maak uw keuze (esc=klantenkode) : "=j j=large(j) if j="B" : goto &210 ;bijvoegen op deze bon if j="D" : goto &delete ;delete bon if j="H" : goto &1650 ;factuurlijn if j="F" : goto &1700 ;factuur maken if j="P" : goto &1700 ;factuur maken if j="W" : goto &wijzig ;wijzigen if j="T" : goto &tekstl ;tekstlijnen factuur if j="Z" : goto &facwijz ;wijzigen factuurnummer goto &206 &facwijz print=1:tab(01,24),atb(22) ask=1,i=&200,u=&200:tab(01,24),"Bonverwerkt : ",bonverw,tab(15)=bonverw &207 print=1:tab(01,24),atb(22) ask=1,i=&200,u=&facwijz:tab(01,24),"Factuurnr : ",(n4z),bonfak,tab(15)=bonfak modif=14,bonkode:&200,e,bonrec goto &200 &wijzig print=1:tab(01,07),atb(22) print=1:tab(01,15),"Datum ",tab(20),": ",bondatum goto &155 &tekstl tekstl1=tek(01) tekstl2=tek(02) print=1:tab(01,10),atb(22) print=1:tab(01,13),paint(kh,ka),"Tekst",paint(kt,0)," : ",tekstl1 print=1:tab(09,14),tekstl2 ask=1,i=&200,u=&200:tab(09,13)=tekstl1 tek(01)=tekstl1 ask=1,i=&200,u=&tekstl:tab(09,14)=tekstl2 tek(02)=tekstl2 goto &200 &210 ;ophalen bon en schermafdruk dat=bondatum ldgo.seg datu tbondat=test1 gosub &bonhoofding print=1:tab(01,07),paint(kh3,ka3),gener(78," ") print=1:tab(01,07),"Ln",tab(04),"Code",tab(10),"Artikel",tab(40),"Aantal +-",tab(55),"Totaal",tab(64),"Prijs",tab(72),"Kort",atb(0),paint(kh3,ka3)," ",atb(0) memklant=bonklant memfaknu=bonnumer memins=1 &212 print=1:tab(01,08),atb(22) search=2,memkode:&300,e,memrec(1),488 for loper=1 to 15 memhelp=memdeel(loper) ;hulpzone elloper=loper+7 if memart=" " : goto &305 ;einde der artikels van een element ldgo.seg artlijn next loper &230 ;blad vol loper=16 &231 search=2,memkode:&100,e,memrec(1),488 voltest=1 j=" " ask=1,i=&469,u=&240,d=&250,/80=&500,/82=&232,/83=&233,/84=&235:tab(01,24),paint(kh,ka),"F3",atb(0),"=Schrappen ",paint(kh,ka),"F4-F5",atb(0),"=Wijzigen "=j goto &250 &232 voltest=1 goto &400 ;schrappen &233 voltest=1 goto &410 ;wijzigen &234 voltest=1 onoff=1 subloop=1 goto &413 &235 voltest=1 onoff=1 subloop=1 goto &413 &240 if memins=1 : goto &500 ;vorig blad memins=memins-1 elloper=8 subloop=1 goto &212 &250 memins=memins+1 ;volgend blad elloper=8 subloop=1 goto &212 &300 ;nieuwe inschrijving loper reeds op 1 print=1:tab(01,24),atb(21) loper=1 &305 elloper=loper+7 subloop=loper &306 voltest=0 onoff=0 mamart=" " &309 print=1:tab(01,23),atb(22) print=1:tab(01,elloper),atb(21) ask=1,i=&550,u=&550,d=&1000,/80=&500,/81=&700,/82=&380,/83=&381,/84=&485,/85=&650,/86=&813,/87=&815,/8a=&313,/8b=&315:tab(01,24),"Geef artikelkode : ",mamart,tab(20)=mamart if mamart=" " : goto &309 mamart=shl(large(mamart)) if len$(mamart)>4 : goto &850 memart=left(mamart,4) &310 memart=shr(memart) artkey=memart search=12,artkey:&312,e,artrec(1),750 goto &317 &312 print=1:tab(01,24),atb(21) ask=1,i=&305,u=&305,/8a=&313,/8b=&315,/86=&813,/87=&815:tab(01,24),paint(kh,ka),"Artikel",ng,atb(0),fvoor,voor,fvolg,volg=j goto &305 &313 up=12:&314,e,artdown(1),768 goto &317 &314 print=1:tab(01,24),atb(21) ask=1,i=&305,u=&305,/8b=&315,/86=&813,/87=&815:tab(01,24),paint(kh,ka),berb,atb(0),fvolg,volg=j goto &305 &315 down=12:&316,e,artdown(1),768 goto &317 &316 print=1:tab(01,24),atb(21) ask=1,i=&305,u=&305,/8a=&313,/86=&813,/87=&815:tab(01,24),paint(kh,ka),bere,atb(0),fvoor,voor=j goto &305 &317 search=7,artalfa:next,e &318 memhelp=" " mamart=" " memaant=0 memverk=0 memprijs=0 memkort=0 memart=shr(artkey) ldgo.seg artlijn memdeel(loper)=memhelp elloper=loper+7 ldgo.seg artlijn &330 ask=1,i=&305,u=&305,/86=&813,/87=&815,/8a=&313,/8b=&315:tab(01,24),"Geef aantal : ",(-3n),memaant,tab(15),(-3n)=memaant ldgo.seg artlijn &331 ask=1,i=&305,u=&330,/86=&813,/87=&815,/8a=&313,/8b=&315:tab(01,24),"Geef bijkomend aantal : ",(-4n.n3),memverk,tab(25),(-4n.n3)=memverk memdeel(loper)=memhelp ldgo.seg artlijn &335 print=1:tab(01,24),atb(21) ask=1,i=&305,u=&331,/8a=&313,/8b=&315:tab(01,24),"Geef prijs : ",(-6.n2),memprijs,tab(14)=memprijs memdeel(loper)=memhelp &340 ask=1,i=&305,u=&335,/8a=&313,/8b=&315,"sS"=&601,"dD"=&630:tab(01,24),"Korting S-D : ",(-3.n4),memkort,tab(16)=memkort if memkort>memprijs print=1:tab(01,24),atb(21) ask=1:tab(01,24),paint(kh,ka),"Korting : ",(-4.n4,e),memkort," Verkoopprijs : ",(-3.n4,e),memprijs,atb(0)," "=j endif ldgo.seg artlijn &345 memdeel(loper)=memhelp loper=loper+1 if loper<16 goto &305 endif memklant=bonklant memfaknu=bonnumer memdatum=bondatum memkode2=memkode insert=2,memkode:next,e,memrec(1),488 modif=2,memkode:next,e,memrec(1),488 memins=memins+1 gosub &initmember print=1:tab(01,08),atb(22) goto &300 &380 voltest=0 goto &400 ;schrappen memdeel &381 voltest=0 goto &410 ;wijzigen memdeel &400 subloop=loper-1 elloper=subloop &401 if retkode=1 : goto &403 retkode=1 print=1:tab(01,24),atb(21) &402 ask=1,i=&469,u=&469,/83=&410:tab(01,24),"Geef te schrappen lijnnummer : ",(--),subloop,tab(32)=subloop &403 if subloop<1 : goto &402 if subloop>loper-1 : goto &402 memhelp=memdeel(subloop) elloper=subloop+7 &407 memart="GESC" memdeel(subloop)=memhelp print=1:tab(01,elloper),(--),paint(kn,ka),subloop,(e)," ",tab(04),paint(kh2,ka3),"GESCHRAPT",gener(67," "),atb(0) goto &465 &410 subloop=loper-1 elloper=subloop &411 if retkode=2 : goto &413 retkode=2 &412 print=1:tab(01,24),atb(21) ask=1,i=&469,u=&oo2,d=&oo3,/82=&400,/84=&485:tab(01,24),"Geef te wijzigen lijnnummer (F5) : ",(--),subloop,tab(36)=subloop &413 if subloop<1 : goto &412 if subloop>loper-1 : goto &412 memhelp=memdeel(subloop) elloper=subloop+7 if memspec<>"TEKST" : goto &440 &415 artkode=memnum search=15,artkode:&420,e,specoms &420 ask=1,i=&469,u=&oo2,d=&oo3:tab(11,elloper),(w32)=specoms insert=15,artkode:&425,e,specoms goto &465 &425 modif=15,artkode:&430,e,specoms &430 print=1:tab(01,elloper),(--),paint(kn,ka),loper,(e)," ",tab(04),paint(kh2,ka3),"TEKST ",paint(kh2,ka2),chr$(212)+specoms," ",atb(0) goto &465 &440 if memart<>"BLAN" : goto &450 print=1:tab(01,24),atb(21) ask=1,i=&469,u=&oo2,d=&oo3:tab(01,24),paint(kt,ka2),"Dit is een blancolijn : ",atb(0)=j goto &469 &450 if memart<>"GESC" : goto &460 ;gewoon artikel print=1:tab(01,24),atb(21) ask=1,i=&469,u=&oo2,d=&oo3:tab(01,24),paint(kt,ka2),"Deze lijn werd reeds geschrapt : ",atb(0)=j print=1:tab(01,24),atb(21) goto &469 &460 elloper=subloop+7 memhelp=memdeel(subloop) artkey=memart search=12,artkey:next,e,artrec(1),750 ldgo.seg artlijn ask=1,i=&469,u=&oo2,d=&oo3,/80=&461:tab(40,elloper),(-8)=memaant memdeel(subloop)=memhelp &461 ask=1,i=&465,u=&460:tab(47,elloper),(-5.n3)=memverk memdeel(subloop)=memhelp ldgo.seg artlijn &462 ask=1,i=&465,u=&460:tab(64,elloper),(-4.n2),memprijs,tab(64,elloper)=memprijs memdeel(subloop)=memhelp ldgo.seg artlijn if memprijsmemprijs print=1:tab(01,24),atb(21) ask=1:bell,tab(01,24),paint(kh,ka),"Korting : ",(-4.n4,e),memkort," Verkoopprijs : ",(-6.n2,e),memprijs,atb(0)," "=j wait 1 endif &465 memdeel(subloop)=memhelp ldgo.seg artlijn memdatum=bondatum memkode2=memkode insert=2,memkode:next,e,memrec(1),488 modif=2,memkode:next,e,memrec(1),488 &468 if onoff=0 : goto &469 subloop=subloop+1 &oo1 if subloop>loper-1 : goto &469 memhelp=memdeel(subloop) if memart="BLAN" : goto &oo3 if memart="GESC" : goto &oo3 elloper=subloop+7 if memspec="TEKST" : goto &415 goto &460 &oo2 print=1:tab(01,24),atb(22) if subloop<=1 : goto &469 subloop=subloop-1 memhelp=memdeel(subloop) if memart=" " : goto &oo2 if memart="BLAN" : goto &oo2 if memart="GESC" : goto &oo2 goto &oo1 &oo3 print=1:tab(01,24),atb(22) if subloop>loper-2 : goto &469 subloop=subloop+1 memhelp=memdeel(subloop) if memart=" " : goto &oo3 if memart="BLAN" : goto &oo3 if memart="GESC" : goto &oo3 goto &oo1 &469 print=1:tab(01,24),atb(21) retkode=0 if voltest=0 : goto &305 voltest=1 goto &231 &485 onoff=1 subloop=1 goto &413 &500 ;afsluiten bon if loper<>1 : goto &501 if memins<>1 : goto &501 goto &delete &501 memklant=bonklant memdatum=bondatum memkode2=memkode insert=2,memkode:next,e,memrec(1),488 modif=2,memkode:next,e,memrec(1),488 insert=14,bonkode:next,e,bonrec modif=14,bonkode:next,e,bonrec goto &560 &550 memklant=bonklant memdatum=bondatum memkode2=memkode insert=2,memkode:next,e,memrec(1),488 modif=2,memkode:next,e,memrec(1),488 if memins=1 : goto &500 memins=memins-1 elloper=8 goto &212 &560 ldgo.seg uitreken &565 if bontot=0 : goto &delete print=1:tab(01,23),atb(22) print=1:tab(01,23),paint(kh,ka),"Totaal :",atb(0)," ",(-5.n2),bontot,tab(54,23),(-5.n2),bonbeta ask=1,i=&580,u=&580,d=&580,"bB"=&570:tab(20,23),paint(kh,ka),"Geef bedrag betaald op deze bon : ",atb(0),(-7.n2)=bonbeta if bonbeta=0 : goto &580 bonbeta=roun(bonbeta,2) bontot=roun(bontot,2) if bonbeta=bontot : goto &580 goto &575 &570 bonbeta=bontot goto &580 &575 print=1:tab(20,23),atb(21) print=1:tab(70,23),(-5.n2),bontot-bonbeta ask=1,i=&565,u=&565,"bB"=&570:tab(20,23),paint(kh,ka),"Betaald <> totaal",atb(0)," Geef bedrag : ",(-5.n2),bonbeta,tab(53)=bonbeta &580 par(3)=param3 modif=14,bonkode:next,e,bonrec ldgo.seg sort goto &200 &601 gosub &610 goto &340 &602 gosub &610 goto &464 &610 klarrec=" " kla=shl(klkode) art=shr(artkey) klar=memprijs modif=5,klarkode:&615,e,klarrec goto &620 &615 insert=5,klarkode:&620,e,klarrec &620 return &630 kla=shl(klkode) art=shr(artkey) delete=5,klarkode:&340,e goto &340 &631 kla=shl(klkode) art=shr(artkey) delete=5,klarkode:&464,e goto &464 &650 print=1:tab(01,24),atb(21) specoms=" " print=1:tab(01,24),"Tekstlijnnr ",(n4),teller(40),(e)," : ",paint(kh,ka),(u32),specoms,atb(0),tab(70),(-6),teller(40) &655 ask=1,i=&305,u=&305:tab(21,24)=specoms if specoms=" " : goto &655 &670 memspec="TEKST" memnum=teller(40) artkode=memnum insert=15,artkode:&671,e,specoms goto &672 &671 teller(40)=teller(40)+1 goto &670 &672 par(3)=param3 print=1:tab(01,elloper),(--),paint(kn,ka),loper,(e)," ",tab(04),paint(kh2,ka3),"TEKST ",paint(kh2,ka2),chr$(212)+specoms," ",atb(0) goto &345 &700 memart="BLAN" print=1:tab(01,elloper),(--),paint(kn,ka),loper,(e)," ",tab(04),paint(kh2,ka3),"BLANCO ",gener(68," "),atb(0) goto &345 &800 &813 up=7:&814,e,brtdown goto &820 &814 print=1:tab(01,24),atb(21) ask=1,i=&305,/87=&815,/8a=&313,/8b=&315:tab(01,24),paint(kh,ka),berb,atb(0),fvolg,volg=j goto &305 &815 down=7:&830,e,brtdown &820 memart=shr(brtkey) artkey=memart search=12,artkey:&305,e,artrec(1),750 goto &318 &830 print=1:tab(01,24),atb(21) ask=1,i=&305,u=&305,/86=&813,/8a=&313,/8b=&315:tab(01,24),paint(kh,ka),bere,atb(0),fvoor,voor=j &850 brtoms=mamart brtkey=" " search=7,brtkode:&851,e &851 down=7:&312,e,brtdown if brtoms=mamart : goto &820 brtoms=mamart brtkey=" " search=7,brtkode:&312,e memart=brtkey goto &310 &1000 open=18:&305,e klhklant=klkode klhart=" " search=18,klhkode:&1010,e,klahrec &1010 memhelp=" " memdeel(loper)=" " down=18:&1110,e,klarhis if klkode<>klhklant : goto &1110 artkey=klhart search=12,artkey:&1010,e,artrec(1),750 memart=klhart memaant=0 memverk=0 memkort=0 memprijs=artbedr(1) kla=shl(klkode) art=shr(klhart) klar=0 search=5,klarkode:&1015,e,klarrec memprijs=klar &1015 memdeel(loper)=memhelp loper=loper+1 if loper<16 : goto &1010 memklant=bonklant memdatum=bondatum memkode2=memkode insert=2,memkode:next,e,memrec(1),488 modif=2,memkode:next,e,memrec(1),488 memins=memins+1 loper=1 gosub &initmember goto &1010 &1110 insert=2,memkode:next,e,memrec(1),488 modif=2,memkode:next,e,memrec(1),488 goto &210 &1650 print=1:tab(01,08),atb(22) print=1:tab(01,08),"Faktuurlijn",tab(20),": ",bondet,"." ask=1,i=&100,u=&100:tab(22,08)=bondet modif=14,bonkode:&100,e,bonrec goto &100 &1700 ;factuur maken open=23:&1710,e goto &1720 &1710 cfile=23,d=256 fact=" " &1720 fkldat=bondatum fklkode=bonklant fkltest="Y" fklnum=bonnumer factuur=fact assign=1,"CRLFAK" chain=1 stop &delete print=1:tab(01,08),atb(22) j=" " &3000 ask=1,i=&100,u=&100:tab(01,20),paint(kh,ka),"Wilt",atb(0)," U ",paint(kh,ka),"de",atb(0)," schrapping ",paint(kh,ka),"doorvoeren",atb(0)," Y-N ",paint(kh,ka),":",atb(0)," "=j j=large(j) if j="N" : goto &100 if j="Y" : goto &3005 goto &3000 &3005 delete=14,bonkode:&3015,e for e9=1 to 100 memins=e9 search=2,memkode:&3010,e,memrec(1),488 for loper=1 to 15 memhelp=memdeel(loper) if memart=" " : goto &3010 next loper &3010 delete=2,memkode:&100,e next e9 goto &100 &3015 print=1:tab(01,24),"Fout delete bonkode : ",e," ",bonkode stop &totlijn print=1:paint(kl,0),tab(01,22),gener(79,hto),atb(0) print=1:tab(01,23),"Goederen " return &bonhoofding ldgo.seg naamd2 print=1:clear,paint(kh,ka),naam,atb(0)," INVOEREN BONSGEGEVENS ",dagweek,tab(70),ndat print=1:paint(kl,0),tab(01,02),gener(79,hto) print=1:tab(01,02),ltb,tab(79),rtb print=1:tab(01,03),vtb,tab(79),vte print=1:tab(01,04),vtb,tab(79),vte print=1:tab(01,05),vtb,tab(79),vte print=1:tab(01,06),gener(79,hto) print=1:tab(01,06),lto,tab(79),rto,atb(0) print=1:tab(02,03),paint(kh,ka)," F1=Einde F2=Blanco F3=Schrappen F4=Wijzigen F5=Wijzigen F6=Tekstlijn ",atb(0) print=1:tab(03,04),"Klant : ",paint(kh,ka),left(klnaam,len$(klnaam)),atb(0),tab(45),kltelef,tab(65),paint(kh,ka),bondatum,atb(0) print=1:tab(03,05),bonverw," ",(-4z),bonfak,tab(20),(-10.n2),bongoed,bonbtw,bontot,bonbeta return &initmember ;init van member, dus deel van een bon. mamart=" " memrec(1)=" " memart=" " memaant=0 memverk=0 memprijs=0 memkort=0 for e=1 to 15 memdeel(e)=memhelp next e return &8000 ;laatste ingevoerde bon klkode=shl(klkode) bonkode=large(klkode) bonnumer=32000 search=14,bonkode:&8001,e,bonrec &8001 up=14:&100,e,bondown if bonklant<>klkode : goto &100 search=14,bonkode:&100,e,bonrec goto &210 eseg 0 segment artlijn print=1:tab(01,23),atb(22) if memart=" " : goto &ret if memspec="TEKST" artkode=memnum search=15,artkode:&ret,e,specoms print=1:tab(01,elloper),(--),paint(kn,ka),loper,(e)," ",tab(04),paint(kh2,ka3),"TEKST ",paint(kh2,ka2),chr$(212)+specoms," ",atb(0) goto &ret endif if memart="BLAN" print=1:tab(01,elloper),(--),paint(kn,ka),elloper-7,(e)," ",tab(04),paint(kh2,ka3),"BLANCO ",gener(68," "),paint(kt,0) goto &ret endif if memart="GESC" print=1:tab(01,elloper),(--),paint(kn,ka),elloper-7,(e)," ",tab(04),paint(kh2,ka3),"GESCHRAPT",gener(67," "),paint(kt,0) goto &ret endif artkey=shr(memart) search=12,artkey:&ret,e,artrec(1),750 kla=shl(klkode) art=shr(artkey) klar=0 search=5,klarkode:&noklar,e,klarrec memprijs=klar &noklar aantal=memaant+conv(memverk) if aantal<>0 goederen=aantal*(memprijs-memkort) goederen=roun(goederen,2) print=1:tab(01,23),paint(kh,ka),"Goederen :",paint(kn,0),(-6.n2),goederen,atb(0) endif print=1:tab(01,elloper),paint(kn,ka),(n3),elloper-7 print=1:tab(04),paint(kn,ka2),artkey," " print=1:tab(10),paint(kt,ka),artoms print=1:tab(40),paint(kn,ka2),(-4),memaant,(e)," " print=1:tab(47),paint(kn,ka3),(-4.n3),memverk print=1:tab(55),paint(kn,ka4),(-5.n3),aantal print=1:tab(64),paint(kn,ka5),(-4.n4),memprijs if klar<>0 print=1:tab(64),paint(geel,ka5),(-4.n4),memprijs endif print=1:tab(72),paint(kn,ka),(-3.n4),memkort,atb(0) &ret ret.seg eseg artlijn segment bonovz print=1:clear,paint(kh,ka),naam,atb(0)," FACTUUROVERZICHT ",tab(70),ndat print=1:paint(kl,0),tab(01,02),ltb,gener(77,hto),rtb print=1:tab(01,03),vtb,tab(79),vte print=1:tab(01,04),lto,gener(77,hto),rto print=1:tab(04,03),paint(kt,ka),tab(04),"Klant",tab(15),"Factuurnr",tab(25),"F",tab(36),"Goederen",tab(46),"Datum",tab(58),"Betaald",tab(69),"Totaal",atb(0) &6000 if klkode<>" " bonklant=klkode goto &6001 endif ask=1,i=&ret,u=&ret:tab(01,24),"Geef beginkode bonoverzicht : ",bonklant,tab(31)=bonklant &6001 for tel=1 to 21 tabnum(tel)=" " next tel totaal=0 lijntel=5 bonnumer=0 &6100 search=14,bonkode:&6120,e,bonrec goto &6125 &6120 down=14:&6180,e,bondown &6125 totaal=totaal+bontot print=1:tab(01,lijntel),(n2),paint(kn,ka),lijntel,(e)," ",paint(kt,ka2)," ",bonklant," ",paint(kn,ka3),(n8),bonfak,(e)," ",paint(kt2,ka5)," ",bonverw print=1:paint(kn,ka),(-6.n2),totaal,(-6.n2),paint(kn,ka2),bongoed,(e)," ",paint(kt,ka3)," ",bondatum," ",paint(kn,ka4),(-5.n2),bonbeta,(e)," ",paint(kn,ka5),(-5.n2),bontot,(e)," ",atb(0) tabnum(lijntel)=bonkode lijntel=lijntel+1 if lijntel<22 : goto &6120 &6170 print=1:tab(01,24),atb(21) zoek=0 ask=1,i=&ret,u=&ret:tab(01,24),paint(kh,ka),bla,atb(0),num,ret,esc,(n2)=zoek if zoek<>0 : goto &6190 for lijntel=5 to 21 tabnum(lijntel)=" " next lijntel print=1:tab(01,05),atb(22) lijntel=5 goto &6120 &6180 print=1:tab(01,24),atb(21) zoek=0 ask=1,i=&ret,u=&ret:tab(01,24),paint(kh,ka),bere,atb(0),num,esc,(n2)=zoek if zoek=0 : goto &ret if zoek<5 : goto &6180 if zoek>lijntel-1 : goto &6180 &6190 bonkode=tabnum(zoek) klkode=bonklant search=11,klkode:&6180,e,klrec search=14,bonkode:&6180,e,bonrec for tel=5 to 21 tabnum(tel)=" " next tel phil=1 goto &ret &6250 for lijntel=5 to 21 tabnum(lijntel)=" " next lijntel print=1:tab(01,05),atb(22) lijntel=5 goto &6120 &ret ret.seg eseg bonovz segment uitreken bongoed=0 bontot=0 bonbtw=0 for e=1 to 5 btwtot(e)=0 next e memklant=bonklant memfaknu=bonnumer memins=1 &1030 search=2,memkode:&2300,e,memrec(1),488 for loper=1 to 15 memhelp=memdeel(loper) if memart=" " : goto &2300 if memspec="TEKST" : goto &2190 if memart="BLAN" : goto &2190 if memart="GESC" : goto &2190 artkey=memart artkey=shr(artkey) search=12,artkey:&2190,e,artrec(1),750 aantal=memaant aantal=aantal+conv(memverk) if aantal=0 : goto &2190 goederen=aantal*(memprijs-memkort) goederen=roun(goederen,2) bongoed=bongoed+goederen btwtot(artbtw)=btwtot(artbtw)+goederen &2190 next loper memins=memins+1 goto &1030 &2300 for e=1 to 5 zon1(e)=0 zon2(e)=0 zon3(e)=0 zon4(e)=0 zon5(e)=0 next e for e=1 to 5 btwtot(e)=roun(btwtot(e),2) next e e1=1 for e=1 to 5 if btwtot(e)=0 : goto &2905 zon1(e1)=conv(e) zon2(e1)=verper(e) zon3(e1)=btwtot(e) zon4(e1)=(zon3(e1)+zon5(e1))*conv(verper(e)) zon4(e1)=zon4(e1)*0.01 zon4(e1)=roun(zon4(e1),2) e1=e1+1 &2905 next e if large(klland)="B" : goto &2906 for e=1 to 5 zon1(e)=0 zon2(e)=0 zon3(e)=0 zon4(e)=0 zon5(e)=0 next e goto &2920 &2906 ;btw plichtige binnenland for e=1 to 5 bonbtw=bonbtw+zon4(e) next e &2920 bontot=bongoed+bonbtw modif=14,bonkode:next,e,bonrec &2950 ret.seg eseg uitreken segment klovz phil=0 goto &100 &10 ret.seg &100 print=1:clear,paint(kh,ka),naam,atb(0)," OVERZICHT VAN DE KLANTEN ",tab(70),ndat print=1:paint(kl,0),tab(01,02),gener(79,hto),atb(0) klkode=" " ask=1,i=&10,u=&10:tab(01,05)," Geef beginkode overzicht",esc,klkode,tab(41)=klkode klkode=large(klkode) print=1:clear,paint(kl,0),tab(01,02),ltb,gener(77,hto),rtb print=1:tab(01,03),vtb,tab(79),vte print=1:tab(01,04),lto,gener(77,hto),rto,atb(0) print=1:tab(03,03),paint(kh,ka),"Nr",tab(08),"Code",tab(19),"Naam",tab(52),"Gemeente",atb(0) lijntel=5 search=11,klkode:&110,e,klrec goto &120 &110 down=11:&200,e,kldown &120 print=1:tab(01,lijntel),paint(kn,ka3)," ",(n2),lijntel,(e)," ",paint(kt,ka)," ",klkode," ",paint(kt,ka2)," ",klnaam," ",paint(kt,ka3)," ",klgem,atb(0) tabel(lijntel)=klkode lijntel=lijntel+1 if lijntel<22 : goto &110 &130 i=0 ask=1,i=&10,u=&10:tab(01,24),paint(kh,ka),bla,atb(0),num,ret=i if i=0 : goto &150 if i<5 : goto &130 if i>22 : goto &130 klkode=tabel(i) search=11,klkode:&10,e,klrec phil=1 goto &10 &150 for i=5 to 22 tabel(i)=" " next i lijntel=5 print=1:tab(01,05),atb(22) goto &110 &200 i=0 ask=1,i=&10,u=&10:tab(01,24),paint(kh,ka),bere,atb(0),num=i &210 if i=0 : goto &10 if i<5 : goto &200 if i>lijntel-1 : goto &200 klkode=tabel(i) search=11,klkode:&10,e,klrec phil=1 goto &10 eseg klovz segment sort &10 goto &200 &100 ret.seg &200 phil=0 dfile=21:next,e cfile=21,d=30,rk=6:&100,e memklant=bonklant memfaknu=bonnumer for e9=1 to 100 memins=e9 search=2,memkode:&250,e,memrec(1),488 &230 for loper=1 to 15 memhelp=memdeel(loper) if memart=" " : goto &250 if memspec="TEKST" : goto &235 if memart="BLAN" : goto &234 if memart="GESC" : goto &242 if memprijs=0 : goto &231 if memaant<>0 : goto &232 if memverk=0 : goto &231 goto &232 &231 goto &242 &232 oldart=memart srtkod2=memart srtrec=memhelp arttel=1 goto &240 &234 srtkod2=oldart srtrec=memhelp arttel=1 goto &240 &235 srtkod2=oldart srtnum=memnum srtspec="TEKST" &240 insert=21,srtkode:&241,e,srtrec goto &242 &241 arttel=arttel+1 goto &240 &242 print=1:tab(01,24),atb(22) next loper &243 next e9 &250 for e9=1 to 100 memins=e9 delete=2,memkode:next,e next e9 srtkode=" " search=21,srtkode:next,e,srtrec for e=1 to 15 memdeel(e)=" " next e memins=1 loper=1 &310 down=21:&400,e,srtdown memdeel(loper)=srtrec if loper=15 : goto &380 loper=loper+1 goto &310 &380 memdatum=bondatum memkode2=memkode insert=2,memkode:&390,e,memrec(1),488 for e=1 to 15 memdeel(e)=" " next e loper=1 memins=memins+1 goto &310 &390 print=1:tab(01,24),atb(21) print=1:tab(01,24),"Fout insert memkode : ",e," ",memkode stop &400 memdatum=bondatum memkode2=memkode insert=2,memkode:&390,e,memrec(1),488 goto &100 eseg sort segment naamd restore 1 dgino=conv(dag) mgino=conv(maand) joor=jaar jgino=conv(jaar) if mgino>2 : goto &15 jgino=jgino-1 mgino=mgino+12 &15 t1gino=jgino*0.01 egino=int(t1gino) cgino=jgino-egino*100 t1gino=2.6001*(mgino-2)-0.2 t2gino=cgino/4 t3gino=egino/4 agino=int(t1gino)+dgino+cgino+int(t2gino)+int(t3gino)-2*egino t1gino=agino/7 agino=agino-int(t1gino)*7+1 for igino=1 to agino read=0:naamdag next igino &100 ret.seg data "Zondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrijdag","Zaterdag" eseg naamd segment naamd2 restore 1 dgino=conv(lb) mgino=conv(mb) joor="20"+rb jgino=conv(joor) if mgino>2 : goto &15 jgino=jgino-1 mgino=mgino+12 &15 t1gino=jgino*0.01 egino=int(t1gino) cgino=jgino-egino*100 t1gino=2.6001*(mgino-2)-0.2 t2gino=cgino/4 t3gino=egino/4 agino=int(t1gino)+dgino+cgino+int(t2gino)+int(t3gino)-2*egino t1gino=agino/7 agino=agino-int(t1gino)*7+1 for igino=1 to agino read=0:dagweek next igino &100 ret.seg data "Zondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrijdag","Zaterdag" eseg naamd2 segment datu test1=conv(right(dat,2)) test1=test1+1900 if test1>1950 : goto &10 test1=test1+100 &10 test1=test1*372 test2=conv(substr(dat,4,2)) test2=test2*31 test1=test1+test2 test2=conv(left(dat,2)) test1=test1+test2 ret.seg eseg datu segment assigns srtbon=conv(process) assign=2,left(bestand(15),6)+"C",wr,si ;bonbestand lijnen assign=3,left(bestand(05),3)+"TFAK",wr ;tekstlijnen voor op factuur assign=5,bestand(18),wr,si ;speciale prijzen assign=7,left(bestand(05),6)+"S",wr,si ;alfabetische sort kl assign=8,left(bestand(03),6),wr,si ;leveranciersbestand assign=10,bestand(10),wr,si ;openstaande fakturen assign=11,bestand(04),wr,si ;klantenbestand assign=12,bestand(05),wr,si ;artikelbestand assign=14,left(bestand(16),6)+"C",wr,si ;bonbestand totalen assign=15,bestand(17),wr,si ;testlijnen assign=16,left(bestand(04),3)+"KLH",wr,si ;fiche klanten assign=18,bestand(14),wr,si ;historiek art. klanten assign=21,"BONSRT"+srtbon,wr,si assign=23,"FACTUUR",wr open=2:&50,e goto &60 &50 cfile=2,d=488,k=11 &60 open=14:&70,e goto &80 &70 cfile=14,d=100,k=10 goto &80 &80 open=18:&90,e goto &100 &90 cfile=18,d=200,k=12 &100 open=15:&110,e goto &120 &110 cfile=15,d=48,k=3 &120 open=3:&130,e goto &140 &130 cfile=3,d=120 tek(1)=" " tek(2)=" " &140 open=5:&150,e goto &ret &150 cfile=5,d=110,k=12 &ret ret.seg eseg assigns end