home *** CD-ROM | disk | FTP | other *** search
/ Der Mediaplex Sampler - Die 6 von Plex / 6_v_plex.zip / 6_v_plex / DISK4 / BUSIN_02 / FAKTUR.ZIP / FAKTUR.BAS < prev    next >
BASIC Source File  |  1980-01-01  |  45KB  |  976 lines

  1. 10 CLOSE:CLEAR:CLS:KEY OFF
  2. 20 ON ERROR GOTO 5610
  3. 30 COLOR 7,0
  4. 40 DIM Z$(90),PA$(5),I$(15)
  5. 50 '**********************************************************************
  6. 60 '********************* passwoerter  ***********************************
  7. 70 '**********************************************************************
  8. 80 '**********************************************************************
  9. 90 '***************** Firmenangaben **************************************
  10. 100 OPEN "I",#1,"FAK.INT"
  11. 110 IF EOF(1) THEN 150
  12. 120 FOR I= 1 TO 15
  13. 130 INPUT #1,I$(I)
  14. 140 NEXT I
  15. 150 CLOSE #1
  16. 160 KDANZ=VAL(I$(7)):ARTANZ=VAL(I$(8))
  17. 170 F1$ = I$(1):F2$ = I$(2):F3$=I$(3):F4$=I$(4)
  18. 180 PA$(1) = I$(11)
  19. 190 PA$(2) = I$(12)
  20. 200 PA$(3) = I$(13)
  21. 210 PA$(4) = I$(14)
  22. 220 PA$(5) = I$(15)
  23. 230 '**********************************************************************
  24. 240 '***************** Systemdatum uebergeben *****************************
  25. 250 '**********************************************************************
  26. 260 D1$ = DATE$
  27. 270 DA$ = MID$(D1$,4,2)+"."+LEFT$(D1$,2)+"."+RIGHT$(D1$,4)
  28. 280 TRENN$=STRING$(80,196)
  29. 290 KJ$=SPACE$(2)
  30. 300 L$ = SPACE$(80)
  31. 310 '**********************************************************************
  32. 320 '***************** Begruessungsmaske **********************************
  33. 330 '**********************************************************************
  34. 340 GOSUB 6110:'********* KOPFZEILE **********
  35. 350 BEEP
  36. 360 GOSUB 9050
  37. 370 LOCATE 21,1:PRINT L$:LOCATE 8,1:PRINT L$:LOCATE 22,1:PRINT L$
  38. 380 LOCATE 21,1:INPUT"Lfd.Rechn.Nr.: ",RN:LOCATE 21,30:INPUT"Lfd.Gutschr.Nr.: ",GN:ER=0:GOSUB 7190
  39. 390 COLOR 7,0
  40. 400 IF RN > 1 THEN RN=RN-1
  41. 410 IF GN > 1 THEN GN=GN-1
  42. 420 ER = 1:GOSUB 6110:'*********** KOPFZEILE *************
  43. 430 ON ERROR GOTO 5610
  44. 440 LOCATE 4,30:COLOR 0,7:PRINT" - HAUPTMENUE - ":COLOR 7,0:CLOSE
  45. 450 LOCATE 4,48:COLOR 0,7:PRINT"Kundendatei :";:PRINT USING"#####";KDANZ
  46. 460 LOCATE 5,48:COLOR 0,7:PRINT"Artikeldatei:";:PRINT USING"#####";ARTANZ
  47. 470 LOCATE 5,68:COLOR 7,0:PRINT"User-ID = ";:PRINT USING"##";PWID
  48. 480 LOCATE 10,1:COLOR 7,0
  49. 490 PRINT"                   <1>   KUNDENSTAMMVERWALTUNG"
  50. 500 PRINT"                   <2>   ARTIKELSTAMMVERWALTUNG"
  51. 510 PRINT"                   <3>   FAKTURIERUNG"
  52. 520 PRINT"                   <4>   GUTSCHRIFT"
  53. 530 PRINT"                   <5>   AUSDRUCK GESPEICHERTER  RECHNUNG(EN)                                                                   /GUTSCHRIFT(EN)"
  54. 540 PRINT"                   <6>   OFFENE RECHNUNGEN"
  55. 550 PRINT"                   <7>   DATEIEN ANLEGEN"
  56. 560 PRINT"                   <8>   PASSWORT - NEUVERGABE"
  57. 570 PRINT"                   <9>   KOPFDATEN ÄNDERN"
  58. 580 PRINT"                   <0>   PROGRAMMENDE"
  59. 590 LOCATE 21,18:COLOR 0,7:PRINT"    Bitte wählen Sie eine Funktion   ":COLOR 7,0:PRINT
  60. 600 A$ = INKEY$:IF A$="" THEN 600
  61. 610 IF A$ = "1" THEN GOTO 720
  62. 620 IF A$ = "2" THEN GOTO 1810
  63. 630 IF A$ = "3" THEN WAHL=1:GOTO 2950
  64. 640 IF A$ = "4" THEN WAHL=0:GOTO 2950
  65. 650 IF A$ = "5" THEN GOTO 5340
  66. 655 IF A$ = "6" THEN GOTO 40000
  67. 660 IF A$ = "7" THEN GOTO 6680
  68. 670 IF A$ = "8" THEN GOSUB 7190:GOTO 420
  69. 680 IF A$ = "9" THEN GOTO 4040
  70. 690 IF A$ = "0" THEN GOTO 8910
  71. 700 LOCATE 22,10:COLOR 0,7:PRINT"Falsche Auswahlnummer - bitte Eingabe wiederholen !":COLOR 7,0:PRINT
  72. 710 GOTO 600
  73. 720 GOSUB 6110
  74. 730 CLOSE
  75. 740 OPEN "kund.dat" AS 1
  76. 750 FIELD #1,20 AS KNAM$,20 AS VONAM$,24 AS STREET$,24 AS WOHN$,10 AS UMS$,4 AS KRAB$,4 AS KSKO$
  77. 760 LOCATE 4,30:COLOR 0,7:PRINT" - Kundenstammverwaltung - ":COLOR 7,0
  78. 770 LOCATE 12,1
  79. 780 PRINT TAB(20) "<1>  Kunden - Neuanlage"
  80. 790 PRINT TAB(20) "<2>  Kunden - Änderung":
  81. 800 PRINT TAB(20) "<3>  Kunden - Löschung"
  82. 810 PRINT TAB(20) "<4>  Kunden - Umsatzliste "
  83. 820 PRINT TAB(20) "<5>  Kundenverzeichnis":PRINT
  84. 830 PRINT TAB(20)"<0> Hauptmenue"
  85. 840 LOCATE 20,18:COLOR 0,7:PRINT"Bitte wählen Sie eine Funktion":COLOR 7,0
  86. 850 W$=INKEY$:IF W$ = "" THEN 850
  87. 860 IF W$ ="1" THEN 930
  88. 870 IF W$ ="2" THEN 1110
  89. 880 IF W$ ="3" THEN 1360
  90. 890 IF W$ ="4" THEN AUSW = 1:GOTO 1530
  91. 900 IF W$ ="5" THEN AUSW = 0:GOTO 1530
  92. 910 IF W$ ="0" THEN CLOSE:GOTO 420
  93. 920 GOTO 850
  94. 930 GOSUB 6110:LOCATE 4,30:COLOR 0,7:PRINT" - Kunden - Neuanlage - ":COLOR 7,0
  95. 940 X=9:Y=1
  96. 950 GOSUB 6540:'******** kundenmaske aufbauen ************
  97. 960 LOCATE X,Y:INPUT"KUNDENNUMMER: ",KN%
  98. 970 IF KN% = 0 THEN CLOSE:GOTO 720
  99. 971 GET #1,KN%
  100. 972  IF ASC(KNAM$) <> 255 THEN LOCATE 23,14:COLOR 31:PRINT" Kundennummer bereits belegt !":FOR I=1 TO 4000:NEXT:COLOR 7,1:LOCATE 23,14:PRINT SPACE$(50):GOTO 960
  101. 980 LOCATE 10,1:INPUT"NAME : ",K1$
  102. 990 LOCATE 10,40:INPUT"VORNAME : ",K2$
  103. 1000 LOCATE 12,1:INPUT"STRASSE / NR.: ",K3$
  104. 1010 LOCATE 12,40:INPUT"PLZ / WOHNORT : ",K4$
  105. 1020 LOCATE 14,15:PRINT "00000"
  106. 1030 LOCATE 15,1:INPUT"Kundenrabatt : (%) ",K6
  107. 1040 LOCATE 15,40 : INPUT "Kundenskonto : (%) ",K7
  108. 1050 K5 = 0
  109. 1060 LOCATE 20,9:PRINT"Eingabedaten richtig   (J/N)"
  110. 1070 Y$ = INKEY$:IF Y$ = "" THEN 1070
  111. 1080 IF Y$ = "j" OR Y$ = "J" THEN GOSUB 6290:GOTO 930
  112. 1090 IF Y$ = "n" OR Y$ = "N" THEN GOTO 930
  113. 1100 GOTO 1070
  114. 1110 GOSUB 6110:LOCATE 4,30:COLOR 0,7:PRINT" - Kunden - Änderung - ":COLOR 7,0
  115. 1120 X=9:Y=1:GOSUB 6540:'******** kundenmaske aufbauen *******
  116. 1130 LOCATE 9,1:INPUT"KUNDENNUMMER: ",KN%
  117. 1140 IF KN% = 0 THEN CLOSE:GOTO 720
  118. 1150 GOSUB 6410
  119. 1160 LOCATE 20,15:PRINT" 1 = Änderung    0 = Weiter"
  120. 1170 Y$=INKEY$:IF Y$ = ""THEN 1170
  121. 1180 IF Y$ = "1" THEN GOTO 1190 ELSE GOTO 1110
  122. 1190 LOCATE X+1,1:INPUT "NAME :",N$
  123. 1200 IF LEN(N$)<> 0 THEN K1$=N$:N$=""
  124. 1210  LOCATE 10,40:INPUT"VORNAME :",N$
  125. 1220 IF LEN(N$)<> 0 THEN K2$=N$:N$=""
  126. 1230 LOCATE 12,1:INPUT"STRASSE /NR. : ",N$
  127. 1240 IF LEN(N$)<> 0 THEN K3$=N$:N$=""
  128. 1250 LOCATE 12,40:INPUT"PLZ / WOHNORT:",N$
  129. 1260 IF LEN(N$)<> 0 THEN K4$=N$:N$=""
  130. 1270 LOCATE 14,1:INPUT"UMSATZ :  ",K5
  131. 1280 LOCATE 15,1:INPUT"KUNDENRABATT : (%) ",RABATT
  132. 1290 IF K6<>0 THEN K6=RABATT:RABATT=0
  133. 1300 LOCATE 15,40:INPUT"KUNDENSKONTO : (%) ",SKONTO
  134. 1310 IF SKONTO<>0 THEN K7=SKONTO:SKONTO=0
  135. 1320 LOCATE 23,9:PRINT"Eingabedaten richtig   (J/N)"
  136. 1330 Y$ = INKEY$:IF Y$ = "" THEN 1330
  137. 1340 IF Y$ = "j" OR Y$ = "J" THEN GOSUB 6290:GOTO 1110
  138. 1350 IF Y$ = "n" OR Y$ = "N" THEN GOTO 1190
  139. 1360 GOSUB 6110:LOCATE 4,30:COLOR 0,7:PRINT" - Kunden - Löschung - ":COLOR 7,0
  140. 1370 X=9:Y=1:GOSUB 6540:'*******kundenmaske aufbauen ********
  141. 1380 LOCATE 9,1:INPUT"KUNDENNUMMER: ",KN%
  142. 1390 IF KN% = 0 THEN CLOSE:GOTO 720
  143. 1400 GOSUB 6410
  144. 1410 LOCATE 22,15:PRINT" 1 = Löschung    0 = Weiter"
  145. 1420 Y$=INKEY$:IF Y$ = ""THEN 1420
  146. 1430 IF Y$ = "1" THEN GOTO 1440 ELSE GOTO 1360
  147. 1440 NA$ = CHR$(255)
  148. 1450 VORN$ = CHR$(255)
  149. 1460 STRASSE$ = CHR$(255)
  150. 1470 WOHNORT$ = CHR$(255)
  151. 1480 UMSATZ = 0
  152. 1490 GOSUB 6290
  153. 1500 LOCATE 22,10:COLOR 0,7:PRINT"*** Kundendaten wurden gelöscht ! ***":COLOR 7,0
  154. 1510 FOR Y = 1 TO 3000:NEXT Y
  155. 1520 GOTO 1360
  156. 1530 GOSUB 6110:COLOR 0,7:LOCATE 4,25:IF AUSW = 1 THEN PRINT"Druck Kunden-Umsatzliste" ELSE PRINT"DRUCK KUNDENVERZEICHNIS":SZ = 0
  157. 1540 LOCATE 12,1:COLOR 7,0:PRINT"Umsatzliste wird nach Drücken von <SPACE> auf LPT1 ausgedruckt "
  158. 1550 IF AUSW=1 THEN GOSUB 7190:IF USID <>1 THEN GOTO 720 ELSE GOTO 1570
  159. 1560 Y$=INKEY$:IF Y$ = "" THEN 1560
  160. 1570 ZZ = 99:GOSUB 1740
  161. 1580 FOR I = 1 TO KDANZ
  162. 1590 IF ZZ >= 60 THEN GOSUB 1730
  163. 1600 GET #1,I
  164. 1610 IF ASC(KNAM$) = 255 THEN GOTO 1700
  165. 1620 LPRINT USING"#####";I;
  166. 1630 LPRINT TAB(7);LEFT$(KNAM$,11);
  167. 1640 LPRINT TAB(19) LEFT$(VONAM$,12);
  168. 1650 LPRINT TAB(33) LEFT$(STREET$,18);
  169. 1660 IF AUSW = 1 THEN LPRINT TAB(53) LEFT$(WOHN$,15);
  170. 1670 IF AUSW = 0 THEN LPRINT TAB(53) LEFT$(WOHN$,15)
  171. 1680 IF AUSW = 1 THEN LPRINT TAB(70);USING"######.##";CVS(UMS$)
  172. 1690 ZZ = ZZ + 1
  173. 1700 NEXT I
  174. 1710 FOR R = ZZ TO 71:LPRINT:NEXT R
  175. 1720 CLOSE:GOTO 720
  176. 1730 FOR Y= ZZ TO 71:LPRINT:NEXT Y
  177. 1740 IF AUSW = 1 THEN SZ = SZ + 1:LPRINT"KUNDENUMSATZ - VERZEICHNIS             DATUM ";DA$;"  SEITE : ";SZ
  178. 1750 IF AUSW = 0 THEN SZ = SZ + 1:LPRINT"     KUNDEN  - VERZEICHNIS             DATUM ";DA$;"  SEITE : ";SZ
  179. 1760 LPRINT:LPRINT"------------------------------------------------------------------------------"
  180. 1770 IF AUSW = 1 THEN LPRINT"KD-NR. KUNDENNAME              STRASSE             WOHNORT               UMSATZ"
  181. 1780 IF AUSW = 0 THEN LPRINT"KD-NR. KUNDENNAME              STRASSE             WOHNORT"
  182. 1790 LPRINT:LPRINT:ZZ = 6
  183. 1800 RETURN
  184. 1810 GOSUB 6110
  185. 1820 NEU=0
  186. 1830 CLOSE:ZZ=0
  187. 1840 OPEN "art.dat" AS 2
  188. 1850 FIELD #2,30 AS AB$,10 AS EK$,10 AS VK$,10 AS BE$,10 AS MB$,1 AS ST$
  189. 1860 LOCATE 4,30:COLOR 0,7:PRINT" - Artikelstammverwaltung - ":COLOR 7,0
  190. 1870 LOCATE 12,1
  191. 1880 PRINT TAB(20) "<1>  Artikel - Neuanlage"
  192. 1890 PRINT TAB(20) "<2>  Artikel - Löschung"
  193. 1900 PRINT TAB(20) "<3>  Bestandszu -/abgang "
  194. 1910 PRINT TAB(20) "<4>  Artikelkatalog"
  195. 1920 PRINT TAB(20) "<5>  Bestandsliste"
  196. 1930 PRINT TAB(20) "<0>  Hauptmenue":PRINT
  197. 1940 LOCATE 20,18:COLOR 0,7:PRINT"Bitte wählen Sie eine Funktion":COLOR 7,0
  198. 1950 W$=INKEY$:IF W$ = "" THEN 1950
  199. 1960 IF W$ ="1" THEN GOTO 2030
  200. 1970 IF W$ ="2" THEN 2190
  201. 1980 IF W$ ="3" THEN 2330
  202. 1990 IF W$ ="4" THEN AUSW = 0:GOTO 2640
  203. 2000 IF W$ ="5" THEN AUSW = 1:GOTO 2640
  204. 2010 IF W$ ="0" THEN CLOSE:GOTO 420
  205. 2020 GOTO 1940
  206. 2030 GOSUB 6110:LOCATE 4,30:COLOR 0,7:PRINT" - Artikel - Neuanlage - ":COLOR 7,0
  207. 2040 X=9:Y=1
  208. 2050 GOSUB 7330:'******** Artikelmaske aufbauen ***********
  209. 2060 LOCATE X,Y:INPUT"ARTIKELNUMMER: ",AN%
  210. 2070 IF AN% = 0 THEN CLOSE:GOTO 1810
  211. 2071 GET #2,AN%
  212. 2072 IF ASC(AB$) <> 255 THEN LOCATE 23,14:COLOR 31:PRINT" Artikelnummer bereits belegt !":FOR I=1 TO 4000:NEXT:COLOR 7,1:LOCATE 23,14:PRINT SPACE$(50):GOTO 2060
  213. 2080 LOCATE 10,1:INPUT"BEZEICHNUNG :",E$
  214. 2090 LOCATE 12,1:INPUT"EINKAUFS-PREIS :",E1$
  215. 2100 LOCATE 12,30:INPUT"VERKAUFS-PREIS : ",E2$
  216. 2110 LOCATE 14,1:INPUT"LAGERBESTAND :",E3
  217. 2120  LOCATE 14,30:INPUT"MINDESTBESTAND : ",E4
  218. 2130  LOCATE 15,1:INPUT"MEHRWERTSTEUERSCHLÜSSEL : ",E5$
  219. 2140 LOCATE 20,9:PRINT"Eingabedaten richtig   (J/N)"
  220. 2150 Y$ = INKEY$:IF Y$ = "" THEN 2150
  221. 2160 IF Y$ = "j" OR Y$ = "J" THEN GOSUB 30000:GOSUB 7470:GOSUB 7700:GOSUB 5710:GOTO 2030
  222. 2170 IF Y$ = "n" OR Y$ = "N" THEN GOTO 2030
  223. 2180 GOTO 2140
  224. 2190 GOSUB 6110:LOCATE 4,30:COLOR 0,7:PRINT" - Artikel - Löschung - ":COLOR 7,0
  225. 2200 X=9:Y=1
  226. 2210 GOSUB 7330:'******** Artikelmaske aufbauen ***********
  227. 2220 LOCATE X,Y:INPUT"ARTIKELNUMMER: ",AN%
  228. 2230 IF AN% = 0 THEN CLOSE:GOTO 1810
  229. 2240 GOSUB 7580
  230. 2250 LOCATE 21,15:PRINT" 1 = Löschung    0 = Weiter"
  231. 2260 Y$=INKEY$:IF Y$ = ""THEN 2260
  232. 2270 IF Y$ = "1" THEN GOTO 2280 ELSE GOTO 2190
  233. 2280 LW=1:GOSUB 7700:E$ = CHR$(255)
  234. 2290 GOSUB 7470:LW=1:GOSUB 5710
  235. 2300 LOCATE 21,10:COLOR 0,7:PRINT"***  ARTIKEL  WURDE  GELÖSCHT   ! ***":COLOR 7,0
  236. 2310 FOR Y = 1 TO 1500:NEXT Y
  237. 2320 GOTO 2190
  238. 2330 GOSUB 6110:LOCATE 4,30:COLOR 0,7:PRINT" - Bestandszu-/abgang - ":COLOR 7,0
  239. 2340 LOCATE 9,5:PRINT"                                  "
  240. 2350 X=9:Y=1:FEHLER =0
  241. 2360 GOSUB 7330:'******** Artikelmaske aufbauen ***********
  242. 2370 LOCATE X,Y:INPUT"ARTIKELNUMMER: ",AN%
  243. 2380 IF AN% = 0 THEN CLOSE:GOTO 1810
  244. 2390 GOSUB 7580:IF FEHLER = 1 THEN GOTO 2330
  245. 2400 '
  246. 2410 '
  247. 2430 LOCATE 21,15:PRINT" 1 = Zugang      2 = Abgang"
  248. 2440 Y$=INKEY$:IF Y$ = ""THEN 2440
  249. 2450 IF Y$ = "1" THEN LW = 3:GOSUB 7730:GOTO 2480
  250. 2460 IF Y$ = "2" THEN LW = 4:GOSUB 7730:GOTO 2560
  251. 2470 GOTO 2430
  252. 2480 LOCATE 20,1:INPUT" Anzahl - Zugang ",ZU
  253. 2490 C$=STR$(ZU)
  254. 2500 IF LEN(C$)< 5 THEN C$=C$+" ":GOTO 2500
  255. 2510 MID$(T$,36,5)=C$
  256. 2520 E3 = E3 + ZU:LOCATE 20,30:PRINT "Neuer Bestand : ";USING "#####.##";E3
  257. 2530 GOSUB 5710
  258. 2540 GOSUB 7470
  259. 2550 GOTO 2330
  260. 2560 LOCATE 20,1:INPUT" Anzahl - Abgang ",AB
  261. 2570 C$=STR$(AB)
  262. 2580 IF LEN(C$)< 5 THEN C$=C$+" ":GOTO 2580
  263. 2590 MID$(T$,36,5)=C$
  264. 2600 E3=E3-AB:LOCATE 20,30:PRINT "Neuer Bestand : ";USING "#####.##";E3
  265. 2610 GOSUB 5710
  266. 2620 GOSUB 7470
  267. 2630 GOTO 2330
  268. 2640 GOSUB 6110:COLOR 0,7:LOCATE 4,25:IF AUSW = 1 THEN PRINT"Druck Artikel-Bestandsliste" ELSE PRINT"DRUCK Artikelkatalog":SZ = 0
  269. 2650 LOCATE 12,1:COLOR 7,0:PRINT"Artikelliste wird nach Drücken von <SPACE> auf LPT1 ausgedruckt "
  270. 2660 IF AUSW=1 THEN GOSUB 7190:IF FEHLER = 1 THEN GOTO 1810 ELSE GOTO 2680
  271. 2670 Y$=INKEY$:IF Y$ = "" THEN 2670
  272. 2680 ZZ = 99:GOSUB 2890
  273. 2690 FOR I = 1 TO ARTANZ
  274. 2700 IF ZZ >= 60 THEN GOSUB 2880
  275. 2710 GET #2,I
  276. 2720  E$=AB$
  277. 2730  E1 = CVS(EK$)
  278. 2740  E2 = CVS(VK$)
  279. 2750  E3 = CVS(BE$)
  280. 2760  E4 = CVS(MB$)
  281. 2770  E5$ = ST$
  282. 2780 IF ASC(AB$) = 255 THEN GOTO 2850
  283. 2790 LPRINT USING"#####";I;
  284. 2800 LPRINT TAB(8) LEFT$(E$,22);
  285. 2810 IF AUSW = 1 THEN LPRINT TAB(36) USING"#####.##";E1;
  286. 2820 LPRINT TAB(47) USING"#####.##";E2;
  287. 2830 LPRINT TAB(57) USING"#####.##";E3;
  288. 2840 LPRINT TAB(67) USING"#####.##";E4:ZZ = ZZ + 1
  289. 2850 NEXT I
  290. 2860 FOR T= ZZ TO 71:LPRINT:NEXT T
  291. 2870 GOTO 1810
  292. 2880 FOR Y= ZZ TO 71:LPRINT:NEXT Y
  293. 2890 IF AUSW = 1 THEN SZ = SZ + 1:LPRINT"    Bestandsliste                      DATUM ";DA$;"  SEITE : ";SZ
  294. 2900 IF AUSW = 0 THEN SZ = SZ + 1:LPRINT"     Artikel - Verzeichnis             DATUM ";DA$;"  SEITE : ";SZ
  295. 2910 LPRINT:LPRINT"------------------------------------------------------------------------------"
  296. 2920 LPRINT"Art.Nr. Artikelbezeichnung            Einkauf    Verkauf  Bestand    Mind.Best."
  297. 2930 LPRINT:LPRINT:ZZ = 6
  298. 2940 RETURN
  299. 2950 OPEN "kund.dat" AS 1:SU=0:GSU=0:NE=0:RA=0:GE=0:MW=0
  300. 2960 FIELD #1,20 AS KNAM$,20 AS VONAM$,24 AS STREET$,24 AS WOHN$,10 AS UMS$,4 AS KRAB$,4 AS KSKO$
  301. 2970 OPEN "art.dat" AS 2
  302. 2980 FIELD #2,30 AS AB$,10 AS EK$,10 AS VK$,10 AS BE$,10 AS MB$,1 AS ST$
  303. 2990 SUMME1=0:SUMME2=0:MWST1=0:MWST2=0:GE=0:GOSUB 6110:IF WAHL=1 THEN RN=RN+1
  304. 3000 IF WAHL=0 THEN GN=GN+1
  305. 3010 IF WAHL =1 THEN LOCATE 4,30:COLOR 0,7:PRINT"Rechnung Nr.";:PRINT USING"#####";RN:COLOR 7,0
  306. 3020 IF WAHL =0 THEN LOCATE 4,30:COLOR 0,7:PRINT"Gutschrift Nr.";:PRINT USING"#####";GN:COLOR 7,0
  307. 3030 X=6:Y=1:LS = 0
  308. 3040 FOR I=1 TO 90:Z$(I)=CHR$(255):NEXT I
  309. 3050 LOCATE 22,1:PRINT"Kunden ohne Kdnr. = 99999  Artikel ohne Artnr. = 99999  Ende = 0 in Kundennr."
  310. 3060 LOCATE 7,1:PRINT SPACE$(40):LOCATE 7,1:INPUT"KUNDENNUMMER : ",KN
  311. 3070 IF KN = 0 AND WAHL = 1 THEN RN=RN-1:GOTO 420
  312. 3080 IF KN = 0 AND WAHL = 0 THEN GN=GN-1:GOTO 420
  313. 3090 IF KN = 99999! THEN GOSUB 3810:GOTO 3110
  314. 3100 KN%=KN:GOSUB 3440
  315. 3101 IF ASC(KNAM$) = 255 THEN FOR T=1 TO 2000:NEXT:LOCATE 23,14:PRINT"                                 ":GOTO 3060
  316. 3110 GOSUB 7820:X=10:Y=1:GOSUB 8710
  317. 3120 U=24:Y=2
  318. 3130 U=U+1:IF LS = 4 THEN FOR I=12 TO 12:LOCATE I,1:PRINT L$:NEXT I:LS=0:X=10:Y=1:GOSUB 8710:Y=2
  319. 3140 X=X+2
  320. 3150 LOCATE X,Y:INPUT" ",AN:LS=LS+1
  321. 3160 IF AN = 0 THEN GOTO 3880
  322. 3170 IF AN = 99999! THEN GOSUB 5270:E5$="#":GOTO 3210
  323. 3180 AN%=AN
  324. 3190 GOSUB 3710
  325. 3192 IF FEHLER = 1 THEN LS=LS-1:FEHLER=0:AN=0:GOTO 3150
  326. 3200 IF U= 38 THEN GOSUB 8440:'*** NEUES RECHNUNGSBLATT ERSTELLEN ***
  327. 3210 LOCATE X,40:INPUT" ",AZ
  328. 3220 GOSUB 8450
  329. 3230 '
  330. 3240 LOCATE X,70:PRINT USING"#####.##";SU
  331. 3250 GE=GE+SU:SU=0
  332. 3260 IF (WAHL=1 AND AN  <99999!) THEN E3 = E3 - AZ:GOSUB 7470
  333. 3270 IF (WAHL=0 AND AN  <99999!) THEN E3 = E3 + AZ:GOSUB 7470
  334. 3280 GOTO 3130
  335. 3290 '******************************************************************
  336. 3300 '********** ende der Fakturierung von Rechn./Gutschriften *********
  337. 3310 '******************************************************************
  338. 3320 '*
  339. 3330 '*
  340. 3340 COLOR 0,7
  341. 3350 '********* kundenmaske ******************
  342. 3360 LOCATE X,Y:PRINT"KUNDENNUMMER: "
  343. 3370 LOCATE X+1,1:PRINT"NAME :"
  344. 3380 LOCATE X+1,40:PRINT"VORNAME :"
  345. 3390 LOCATE X+2,1:PRINT"STRASSE / NR.: "
  346. 3400 LOCATE X+2,40:PRINT"PLZ + WOHNORT :"
  347. 3410 LOCATE X+3,1:PRINT"UMSATZ : "
  348. 3420 COLOR 7,0
  349. 3430 RETURN
  350. 3440 REM ********** random -datei lesen ************
  351. 3450 GET #1,KN%
  352. 3460 IF ASC(KNAM$) = 255 THEN LOCATE 23,14:COLOR 31:PRINT" Keine Kundendaten vorhanden !":COLOR 7,0:RETURN
  353. 3470 K1$ = KNAM$:LOCATE X+1,1:PRINT K1$
  354. 3480 FOR T=1 TO LEN(K1$)
  355. 3490 IF MID$(K1$,T,1)=" " THEN GOTO 3510
  356. 3500 NEXT T
  357. 3510 K2$ = VONAM$:LOCATE (X+1),(T+1):PRINT K2$
  358. 3520 K3$ = STREET$:LOCATE X+2,1:PRINT K3$
  359. 3530 K4$ = WOHN$:LOCATE X+3,1:PRINT K4$
  360. 3540 K5  = CVS(UMS$)
  361. 3550 K6  = CVS(KRAB$)
  362. 3560 K7  = CVS(KSKO$)
  363. 3570 RETURN
  364. 3580 Z$(17)=LEFT$(K1$,(T+1))+K2$
  365. 3590 COLOR 0,7
  366. 3600 '********* Artikelmaske *****************
  367. 3610 LOCATE X,Y:PRINT"ARTIKELNUMMER: "
  368. 3620 LOCATE X+1,1:PRINT"BEZEICHNUNG :"
  369. 3630 LOCATE X+2,1:PRINT"EINKAUFS-PREIS :"
  370. 3640 LOCATE X+2,30:PRINT"VERKAUFS-PREIS : "
  371. 3650 LOCATE X+3,1:PRINT"LAGERBESTAND :"
  372. 3660 LOCATE X+3,30:PRINT"MINDESTBESTAND : "
  373. 3670 LOCATE X+4,1:PRINT"MWST-SCHLÜSSEL : "
  374. 3680 COLOR 7,0
  375. 3690 RETURN
  376. 3700 STOP
  377. 3710 '*********** Artikel-datei lesen ************
  378. 3720 GET #2,AN%
  379. 3730 IF ASC(AB$) = 255 THEN COLOR 31:LOCATE 23,14:PRINT"Keine Artikeldaten vorhanden !":FOR I=1 TO 1500:NEXT:COLOR 7,0:LOCATE 23,14:PRINT  "                              ":FEHLER=1:RETURN
  380. 3740 E$=AB$:LOCATE X,14:PRINT LEFT$(E$,22)
  381. 3750 E1 = CVS(EK$)
  382. 3760 E2 = CVS(VK$):LOCATE X,54:PRINT USING "####.##";E2
  383. 3770 E3 = CVS(BE$):'LOCATE X+3,16:PRINT USING "####.##";E3
  384. 3780 E4 = CVS(MB$):'LOCATE X+3,46:PRINT USING "####.##";E4
  385. 3790 E5$ = ST$:'LOCATE X+4,16:PRINT USING "####.##";E5
  386. 3800 RETURN
  387. 3810 LOCATE X+1,1:PRINT"                       "
  388. 3820 LOCATE X+1,1:INPUT"NAME : ",K1$
  389. 3830 GOSUB 8870
  390. 3840 LOCATE X+1,40:INPUT"VORNAME :",K2$
  391. 3850 LOCATE X+2,1:INPUT"STRASSE /NR. : ",K3$
  392. 3860 LOCATE X+2,40:INPUT"PLZ / WOHNORT :",K4$
  393. 3870 RETURN
  394. 3880 '******************************************************************
  395. 3890 '********** Aufbereitung der Summenzeilen   ***********************
  396. 3900 '******************************************************************
  397. 3910 '*
  398. 3920 '*
  399. 3930 '
  400. 3940 LOCATE 20,70:PRINT USING"######.##";GE
  401. 3950 IF WAHL=1 THEN K5=K5+GE ELSE K5=K5-GE
  402. 3960 IF KN% <> 0 THEN GOSUB 4290
  403. 3970 '
  404. 3980 '
  405. 3990 LOCATE 21,1:PRINT"Rechnung (d)rucken oder  (s)peichern ? "
  406. 4000 A$=INKEY$:IF A$="" THEN 4000
  407. 4010 IF A$="D" OR A$="d" THEN GOSUB 4500:FOR I=1  TO 90:Z$(I)=CHR$(255):NEXT:GOTO 2990
  408. 4020 IF A$="S" OR A$="s" THEN GOSUB 4380:GOTO 2990
  409. 4030 GOTO 3990
  410. 4040 GOSUB 6110
  411. 4050 LOCATE 4,30:PRINT"Änderung der Kopfdaten"
  412. 4060 LOCATE 9,1:INPUT"Firmenname   : ",I$
  413. 4061 IF I$="0" THEN GOTO 420
  414. 4062 I$(1) = I$
  415. 4070 INPUT"Firmenzusatz : ",I$(2)
  416. 4080 INPUT"Strasse + Nr.: ",I$(3)
  417. 4090 INPUT"Firmensitz   : ",I$(4)
  418. 4100 FOR T=9 TO 22:LOCATE T,1:PRINT SPACE$(80):NEXT T:LOCATE 9,1:PRINT
  419. 4110 OPEN "O",#1,"AEND.FAK":CLOSE #1
  420. 4120 PRINT"B a n k v e r b i n d u n g e n ":PRINT"--------------------------------------":PRINT"Es können maximal 2 Bankverbindungen eingegeben werden. Diese werden dann bei"
  421. 4130 PRINT "Ausdruck auf den letzten 2 Zeilen des Rechnungsformulares ausgedruckt.  z.B.:"
  422. 4140 PRINT"                    Kreissparkasse Nürnberg   BLZ: 760 502 10  Kto. 9999-334                        Stadtsparkasse Nürnberg   BLZ: 700 500 10  Kto. 12345678"
  423. 4150 PRINT:PRINT"1.Bankverbindung:":INPUT" ",I$(5)
  424. 4160 PRINT"2.Bankverbindung:":INPUT" ",I$(6)
  425. 4170 FOR T=9 TO 22:LOCATE T,1:PRINT SPACE$(80):NEXT T:LOCATE 9,1:PRINT
  426. 4180 LOCATE 9,1:INPUT"Größe der Kundendatei : ",I$(7)
  427. 4190 INPUT"Größe der Artikeldatei : ",I$(8)
  428. 4200 FOR T=9 TO 22:LOCATE T,1:PRINT SPACE$(80):NEXT T:LOCATE 9,1:PRINT
  429. 4210 LOCATE 9,1:INPUT"1. Passwort mit Priorität -1- ",I$(11)
  430. 4220 INPUT"2. Passwort mit Priorität -2- ",I$(12)
  431. 4230 INPUT"3. Passwort mit Priorität -3- ",I$(13)
  432. 4240 INPUT"4. Passwort mit Priorität -4- ",I$(14)
  433. 4250 INPUT"5. Passwort mit Priorität -5- ",I$(15)
  434. 4260 OPEN "O",#6,"fak.int"
  435. 4270 FOR I=1 TO 15: WRITE #6,I$(I):NEXT I
  436. 4280 LOCATE 22,22:PRINT"Inialisierung beendet":FOR I=1 TO 2000:NEXT:RUN
  437. 4290 LSET KNAM$   = K1$
  438. 4300 LSET VONAM$  = K2$
  439. 4310 LSET STREET$ = K3$
  440. 4320 LSET WOHN$   = K4$
  441. 4330 LSET UMS$    = MKS$(K5)
  442. 4340 LSET KRAB$   = MKS$(K6)
  443. 4350 LSET KSKO$   = MKS$(K7)
  444. 4360 PUT #1,KN%
  445. 4370 RETURN
  446. 4380 '***************************************************************
  447. 4390 '***** Speicherung der bearbeiteten Rechnung/Gutschrift ********
  448. 4400 '***************************************************************
  449. 4410 IF WAHL=1 THEN N1$ ="R"+MID$(STR$(RN),2,LEN(STR$(RN))-1)+".fak"
  450. 4420 IF WAHL=0 THEN N1$ ="G"+MID$(STR$(GN),2,LEN(STR$(GN))-1)+".fak"
  451. 4430 OPEN "O",#3,N1$
  452. 4440 FOR I=1 TO 90
  453. 4450 WRITE #3,Z$(I)
  454. 4460 NEXT I
  455. 4470 CLOSE #3
  456. 4480 FOR I= 17 TO 90:Z$(I)=CHR$(255):NEXT:N1$=""
  457. 4490 RETURN
  458. 4500 '***************************************************************
  459. 4510 '************** ausdruck der Rechnung/Gutschrift ***************
  460. 4520 ARTIKEL = 0:MENGE = 0:PREIS = 0:NETTO = 0:RABATT = 0
  461. 4525 MWST1 = 0:MWST2 = 0:SUMME1=0:SUMME2=0:SUMME3=0
  462. 4530 '***************************************************************
  463. 4540 SZ$="1"
  464. 4550 IF LEN(Z$(61)) >1 THEN ZWEIT=1
  465. 4560 FOR I=1 TO 24
  466. 4570   IF I=17 THEN LPRINT LEFT$(Z$(I),77)+SZ$:GOTO 4590
  467. 4580   LPRINT LEFT$(Z$(I),79)
  468. 4590 NEXT I
  469. 4600 '
  470. 4610 '
  471. 4620 FOR I=25 TO 37
  472. 4630 IF MID$(Z$(I),7,3) = "" THEN LPRINT:GOTO 4760
  473. 4640   ARTIKEL=VAL(MID$(Z$(I),1,6)):LPRINT USING"######";ARTIKEL;:ARTIKEL=0
  474. 4650   LPRINT "  "+MID$(Z$(I),7,15)+" ";
  475. 4660   MENGE=VAL(MID$(Z$(I),30,6)):LPRINT USING"####";MENGE;:MENGE=0
  476. 4670   LPRINT "  ";
  477. 4680   PREIS=VAL(MID$(Z$(I),36,10)):LPRINT USING"######.##";PREIS;:PREIS=0
  478. 4690   LPRINT "  ";:WERT=VAL(MID$(Z$(I),46,13)):LPRINT USING"########.##";WERT;:WERT=0:LPRINT "  ";
  479. 4700   RABATT=VAL(MID$(Z$(I),59,11)):LPRINT USING"#######.##";RABATT;:RABATT=0
  480. 4710   LPRINT "  "+MID$(Z$(I),70,1)+" ";
  481. 4720   NETTO = VAL(MID$(Z$(I),73,11)):LPRINT USING"########.##";NETTO
  482. 4730   IF MID$(Z$(I),70,1) = "1" THEN SUMME1=SUMME1+NETTO
  483. 4740   IF MID$(Z$(I),70,1) = "2" THEN SUMME2=SUMME2+NETTO
  484. 4750   IF MID$(Z$(I),70,1) = "#" THEN SUMME3=SUMME3+NETTO
  485. 4760 NEXT I
  486. 4770 '
  487. 4780 IF ZWEIT = 1 THEN LPRINT Z$(38):LPRINT:LPRINT:LPRINT TAB(10);"FORTSETZUNG SIEHE ZWEITE SEITE":FOR I=43 TO 72:LPRINT:NEXT I:GOTO 5030
  488. 4790 '
  489. 4800 '
  490. 4810 LPRINT LEFT$(Z$(38),79)
  491. 4820 LPRINT LEFT$(Z$(39),79)
  492. 4830 LPRINT LEFT$(Z$(40),7);
  493. 4840 LPRINT USING "########.##";SUMME1;:LPRINT MID$(Z$(40),19,8);
  494. 4850 LPRINT USING "########.##";SUMME2+SUMME3;:LPRINT MID$(Z$(40),38,31);
  495. 4860 LPRINT USING "########.##";(SUMME1+SUMME2+SUMME3)
  496. 4870 LPRINT LEFT$(Z$(41),79)
  497. 4880 IF SUMME1 <> 0 THEN MWST1 = SUMME1/100*7
  498. 4890 LPRINT Z$(42);:LPRINT USING"########.##";MWST1
  499. 4900 IF (SUMME2+SUMME3) <> 0 THEN MWST2 = (SUMME2+SUMME3)/100*14
  500. 4910 LPRINT Z$(43);:LPRINT USING"########.##";MWST2
  501. 4920 LPRINT LEFT$(Z$(44),79)
  502. 4930 SKONTO = ((SUMME1+SUMME2+SUMME3)+(MWST1+MWST2))/100 * VAL(MID$(Z$(20),34,5))
  503. 4940 LPRINT LEFT$(Z$(45),20);:LPRINT USING"######.##";SKONTO;:LPRINT " SKONTO"
  504. 4950 BRUTTO = (SUMME1+SUMME2+SUMME3)+(MWST1+MWST2)
  505. 4960 LPRINT Z$(46);USING"########.##";BRUTTO
  506. 4970 '
  507. 4980 FOR I=47 TO 55
  508. 4990   LPRINT LEFT$(Z$(I),79)
  509. 5000 NEXT I
  510. 5010 ZWEIT = 0:FOR I=56 TO 72:LPRINT:NEXT I : RETURN
  511. 5020 '
  512. 5030 SZ$="2"
  513. 5040 FOR I=1 TO 24
  514. 5050   IF I=17 THEN LPRINT LEFT$(Z$(I),76)+SZ$:GOTO 5070
  515. 5060   LPRINT LEFT$(Z$(I),79)
  516. 5070 NEXT I
  517. 5080 '
  518. 5090 '
  519. 5100 FOR I=61 TO 72
  520. 5110 IF MID$(Z$(I),7,3) = "" THEN LPRINT:GOTO 5240
  521. 5120   ARTIKEL=VAL(MID$(Z$(I),1,6)):LPRINT USING"######";ARTIKEL;:ARTIKEL=0
  522. 5130   LPRINT "  "+MID$(Z$(I),7,15)+" ";
  523. 5140   MENGE=VAL(MID$(Z$(I),30,6)):LPRINT USING"####";MENGE;:MENGE=0
  524. 5150   LPRINT "  ";
  525. 5160   PREIS=VAL(MID$(Z$(I),36,10)):LPRINT USING"######.##";PREIS;:PREIS=0
  526. 5170   LPRINT "  ";:WERT=VAL(MID$(Z$(I),46,13)):LPRINT USING"########.##";WERT;:WERT=0:LPRINT "  ";
  527. 5180   RABATT=VAL(MID$(Z$(I),59,11)):LPRINT USING"#######.##";RABATT;:RABATT=0
  528. 5190   LPRINT "  "+MID$(Z$(I),70,1)+" ";
  529. 5200   NETTO = VAL(MID$(Z$(I),73,11)):LPRINT USING"########.##";NETTO
  530. 5210   IF MID$(Z$(I),70,1) = "1" THEN SUMME1=SUMME1+NETTO
  531. 5220   IF MID$(Z$(I),70,1) = "2" THEN SUMME2=SUMME2+NETTO
  532. 5230   IF MID$(Z$(I),70,1) = "#" THEN SUMME3=SUMME3+NETTO
  533. 5240 NEXT I
  534. 5250 '
  535. 5260 GOTO 4810
  536. 5270 '******************************************************************
  537. 5280 '********** Eingabe nicht gespeicherter Artikeldaten   ************
  538. 5290 '******************************************************************
  539. 5300 LOCATE X,13:INPUT" ",E$
  540. 5310 IF LEN(E$)<= 30 THEN E$=E$+" ":GOTO 5310
  541. 5320 LOCATE X,54:INPUT" ",E2
  542. 5330 RETURN
  543. 5340 '******************************************************************
  544. 5350 '********** ausdruck gespeicherte Rechnungen/gutschriften *********
  545. 5360 '******************************************************************
  546. 5370 '*
  547. 5380 '*
  548. 5390 GOSUB 6110
  549. 5400 LOCATE 4,30:COLOR 0,7:PRINT"Ausdruck gesp. Rech./Gutschr.":COLOR 7,0
  550. 5410 LOCATE 10,1
  551. 5420 FILES"*.fak"
  552. 5430 LOCATE 19,1:PRINT TRENN$
  553. 5440 LOCATE 20,1:PRINT" Welche Rechnung oder Gutschrift soll gedruckt werden ?  (0 = Hauptmenue) "
  554. 5450 LOCATE 21,1:INPUT"Name ==> ",N$
  555. 5460 IF LEN(N$)=0 THEN 420
  556. 5470 IF N$="AEND" OR N$ ="aend" AND USID <> 1 THEN GOTO 420
  557. 5480 IF N$="AEND" OR N$ ="aend" AND USID = 1 THEN GOTO 5900
  558. 5490 IF N$ = "0" THEN GOTO 420
  559. 5500 N1$=N$+".fak"
  560. 5510 OPEN "I",#4,N1$
  561. 5520 IF EOF(4) THEN GOTO 5560
  562. 5530 FOR I=1 TO 72
  563. 5540 INPUT #4,Z$(I)
  564. 5550 NEXT I
  565. 5560 CLOSE #4
  566. 5570 GOSUB 4500:'****** Drucken der Rechnung ******
  567. 5580 KILL N$+".fak"
  568. 5590 GOTO 5340
  569. 5600 '*************** Ende Ausdruck gespeicherter Rechnungen *********
  570. 5610 '**************************************************************
  571. 5620 '********** Fehlerbehandlung **********************************
  572. 5630 '**************************************************************
  573. 5640 '*
  574. 5650 '*
  575. 5660 IF (ERR = 53) AND (ERL = 5760) THEN GOTO 5770
  576. 5662 IF (ERR = 53) AND (ERL = 100) THEN LOCATE 1,10:COLOR 0,7:PRINT"Bitte führen Sie die im Handbuch unter INIALISIERUNG aufgeführten Punkte durch !":COLOR 7,0:FOR I=1 TO 9000:NEXT:RESUME 420
  577. 5665  IF (ERR = 53) AND (ERL = 40020) THEN RESUME 40100
  578. 5670 IF ERR = 53 THEN LOCATE 22,20:COLOR 0,7:PRINT" Keine Datei vorhanden  ":COLOR 7,0:GOTO 5880
  579. 5680 IF ERR = 27 THEN LOCATE 22,10:COLOR 0,7:PRINT" Kein Druckerpapier vorhanden !":COLOR 7,0:GOTO 5880
  580. 5690 IF ERR = 58 THEN LOCATE 22,10:COLOR 0,7:PRINT" Datei bereits vorhanden Nr. um 1 erhöht ":COLOR 7,0:RN=RN+1:GN=GN+1:RESUME 4380
  581. 5700 GOTO 5880
  582. 5710 '*****************************************************************
  583. 5720 '******* SCHREIBEN PROTOKOLLDATEI  *******************************
  584. 5730 '*****************************************************************
  585. 5740 CLOSE #4
  586. 5750 CLOSE #5
  587. 5760 OPEN "I",#4,"AEND.FAK"
  588. 5770 OPEN "O",#5,"ZWBER.DAT"
  589. 5780 IF EOF(4) THEN 5820
  590. 5790 INPUT #4,R$
  591. 5800 WRITE #5,R$
  592. 5810 GOTO 5780
  593. 5820 CLOSE #4
  594. 5830 WRITE #5,T$
  595. 5840 CLOSE #5
  596. 5850 KILL "AEND.FAK"
  597. 5860 NAME "ZWBER.DAT" AS "AEND.FAK"
  598. 5870 RETURN
  599. 5880 FOR Y=1 TO 3000:NEXT
  600. 5890 RESUME 420
  601. 5900 '*****************************************************************
  602. 5910 '******* Ausdruck der Protokolldatei *****************************
  603. 5920 '*****************************************************************
  604. 5930 NZ=0
  605. 5940 GOSUB 6030:OPEN "I",#4,"AEND.FAK"
  606. 5950 IF EOF(4) THEN 6000
  607. 5960 INPUT #4,T$
  608. 5970 IF ZZ >= 60 THEN GOSUB 6020
  609. 5980 LPRINT T$:ZZ=ZZ+1
  610. 5990 GOTO 5950
  611. 6000 CLOSE #4
  612. 6010 FOR Y=ZZ TO 71:LPRINT:NEXT:GOTO 420
  613. 6020 FOR I= ZZ TO 72:LPRINT:NEXT
  614. 6030 NZ=NZ +1
  615. 6040 LPRINT"                  AENDERUNGSPROTOKOLL ";TAB(70);"Seite ";NZ
  616. 6050 LPRINT F1$;TAB(70);DA$
  617. 6060 LPRINT F2$
  618. 6070 LPRINT F3$
  619. 6080 LPRINT "------------------------------------------------------------------------------":LPRINT:LPRINT
  620. 6090 LPRINT:LPRINT:LPRINT:ZZ=10
  621. 6100 RETURN
  622. 6110 '*****************************************************************
  623. 6120 '******* Ausgabe der Kopfzeile ***********************************
  624. 6130 '*****************************************************************
  625. 6140 X1$=STRING$(80,205)
  626. 6150 X$=CHR$(201)+LEFT$(X1$,78)+CHR$(187)
  627. 6160 X2$=CHR$(200)+LEFT$(X1$,78)+CHR$(188)
  628. 6170 X3$=CHR$(186)+"             FAKTURA Vers.1.0.  -MS DOS-  PUBLIC DOMAIN BY KhK-Software       "+CHR$(186)
  629. 6180 CLS
  630. 6190 PRINT X$
  631. 6200 PRINT X3$
  632. 6210 PRINT X2$
  633. 6220 PRINT F1$;TAB(70);DA$
  634. 6230 PRINT F2$
  635. 6240 'RINT F3$
  636. 6250 'RINT F4$
  637. 6260 PRINT TRENN$
  638. 6270 LOCATE 9,1
  639. 6280 RETURN
  640. 6290 '*****************************************************************
  641. 6300 '******* Kundendatei beschreiben           ***********************
  642. 6310 '*****************************************************************
  643. 6320 LSET KNAM$   = K1$
  644. 6330 LSET VONAM$  = K2$
  645. 6340 LSET STREET$ = K3$
  646. 6350 LSET WOHN$   = K4$
  647. 6360 LSET UMS$    = MKS$(K5)
  648. 6370 LSET KRAB$   = MKS$(K6)
  649. 6380 LSET KSKO$   = MKS$(K7)
  650. 6390 PUT #1,KN%
  651. 6400 RETURN
  652. 6410 '*****************************************************************
  653. 6420 '******* Kundendatei lesen   *************************************
  654. 6430 '*****************************************************************
  655. 6440 GET #1,KN%
  656. 6450 IF ASC(KNAM$) = 255 THEN LOCATE 23,14:PRINT" Keine Kundendaten vorhanden !":RETURN
  657. 6460 K1$ = KNAM$:LOCATE 10,14:PRINT K1$
  658. 6470 K2$ = VONAM$:LOCATE 10,50:PRINT K2$
  659. 6480 K3$ = STREET$:LOCATE 12,16:PRINT K3$
  660. 6490 K4$ = WOHN$:LOCATE 12,54:PRINT K4$
  661. 6500 K5  = CVS(UMS$):LOCATE 14,10:PRINT USING"######.##";K5
  662. 6510 K6  = CVS(KRAB$):LOCATE 15,15:PRINT USING"######.##";K6
  663. 6520 K7  = CVS(KSKO$):LOCATE 15,55:PRINT USING"######.##";K7
  664. 6530 RETURN
  665. 6540 '*****************************************************************
  666. 6550 '******* Kundenmakse  aufbauen  **********************************
  667. 6560 '*****************************************************************
  668. 6570 COLOR 0,7
  669. 6580 LOCATE X,Y:PRINT"KUNDENNUMMER: "
  670. 6590 LOCATE 10,1:PRINT"NAME :"
  671. 6600 LOCATE 10,40:PRINT"VORNAME :"
  672. 6610 LOCATE 12,1:PRINT"STRASSE / NR.: "
  673. 6620 LOCATE 12,40:PRINT"PLZ + WOHNORT :"
  674. 6630 LOCATE 14,1:PRINT"UMSATZ : "
  675. 6640 LOCATE 15,1:PRINT"KUNDENRABATT : "
  676. 6650 LOCATE 15,40:PRINT"KUNDENSKONTO : "
  677. 6660 COLOR 7,0
  678. 6670 RETURN
  679. 6680 '*****************************************************************
  680. 6690 '******* Dateien - Neuanlage *************************************
  681. 6700 '*****************************************************************
  682. 6710 GOSUB 6110
  683. 6720 LOCATE 4,30:COLOR 0,7:PRINT"Datei-Neuanlage"
  684. 6730 LOCATE 10,30:COLOR 7,0:PRINT"<1>   KUNDENDATEI"
  685. 6740 PRINT TAB(30)"<2>   ARTIKELDATEI"
  686. 6750 PRINT:PRINT TAB(30)"<0>   HAUPTMENUE"
  687. 6760 LOCATE 20,20:COLOR 0,7:PRINT" Bitte wählen Sie eine Funktion ":COLOR 7,0
  688. 6770 IF USID > 1 THEN COLOR 31:LOCATE 22,13:PRINT"Benutzer für Dateien-Neuanlage nicht autorisiert !":FOR I=1 TO 5000:NEXT:COLOR 7,0:GOTO 420
  689. 6780 A$ = INKEY$:IF A$="" THEN 6780
  690. 6790 IF A$ = "1" THEN GOTO 6830
  691. 6800 IF A$ = "2" THEN GOTO 7010
  692. 6810 IF A$ = "0" GOTO 420
  693. 6820 GOTO 6780
  694. 6830 GOSUB 6110:LOCATE 4,30:COLOR 0,7:PRINT" Kundendatei-Neuanlage":COLOR 7,0
  695. 6840 OPEN "Kund.dat" AS 1
  696. 6850 FIELD #1,20 AS KNAM$,20 AS VONAM$,24 AS STREET$,24 AS WOHN$,10 AS UMS$,4 AS KRAB$,4 AS KSKO$
  697. 6860 LSET KNAM$ = CHR$(255)
  698. 6870 LSET VONAM$ = CHR$(255)
  699. 6880 LSET STREET$ = CHR$(255)
  700. 6890 LSET UMS$ = CHR$(255)
  701. 6900 LSET KRAB$ = CHR$(255)
  702. 6910 LSET KSKO$ = CHR$(255)
  703. 6920 LOCATE 12,5:PRINT"Bitte geben Sie jetzt die gewünschte Anzahl Leersätze an"
  704. 6930 INPUT"    Anzahl --> ",A
  705. 6940 IF A < 0 OR A > 5000 THEN LOCATE 22,10:PRINT"Gewünschter Bereich zu gross - Neueingabe ":GOTO 6920
  706. 6950 FOR I = 1 TO A
  707. 6960 PUT #1,I
  708. 6970 LOCATE 16,20:PRINT"<":LOCATE 16,22:PRINT I;:PRINT">":LOCATE 16,30:PRINT". Leersatz angelegt"
  709. 6980 NEXT I
  710. 6990 CLOSE
  711. 7000 LOCATE 22,10:PRINT" Die Kundendatei wurde angelegt ":FOR Y = 1 TO 6000:NEXT:GOTO 6680
  712. 7010 GOSUB 6110:LOCATE 4,30:COLOR 0,7:PRINT" Artikeldatei-Neuanlage":COLOR 7,0
  713. 7020 OPEN "Art.dat" AS 2
  714. 7030 FIELD #2,30 AS AB$,10 AS EK$,10 AS VK$,10 AS BE$,10 AS MB$,1 AS ST$
  715. 7040 LSET AB$ = CHR$(255)
  716. 7050 LSET EK$ = CHR$(255)
  717. 7060 LSET VK$ = CHR$(255)
  718. 7070 LSET BE$ = CHR$(255)
  719. 7080 LSET MB$ = CHR$(255)
  720. 7090 LSET ST$ = CHR$(255)
  721. 7100 LOCATE 12,5:PRINT"Bitte geben Sie jetzt die gewünschte Anzahl Leersätze an"
  722. 7110 INPUT"     Anzahl --> ",A
  723. 7120 IF A < 0 OR A > 5000 THEN LOCATE 22,10:PRINT"Gewünschter Bereich zu gross - Neueingabe ":GOTO 7100
  724. 7130 FOR I = 1 TO A
  725. 7140 PUT #2,I
  726. 7150 LOCATE 16,20:PRINT"<":LOCATE 16,22:PRINT I;:PRINT">":LOCATE 16,30:PRINT". Leersatz angelegt"
  727. 7160 NEXT I
  728. 7170 CLOSE
  729. 7180 LOCATE 22,10:PRINT" Die Artikeldatei wurde angelegt ":FOR Y = 1 TO 6000:NEXT:GOTO 6680
  730. 7190 '*****************************************************************
  731. 7200 '******* Passwort - Abfrage **************************************
  732. 7210 '*****************************************************************
  733. 7220 COLOR 15,0:PRINT "**** PASSWORT ===>";
  734. 7230 COLOR 0:INPUT PW$
  735. 7240 FOR I = 1 TO 5
  736. 7250 IF PW$ = PA$(I) THEN USID = I:COLOR 7,0:PWID=I:RETURN
  737. 7260 NEXT I
  738. 7270 COLOR 31:LOCATE 8,20:PRINT "Falsches Passwort - keine Berechtigung"
  739. 7280 FOR Y = 1 TO 2000:NEXT Y:COLOR 7,0
  740. 7290 COLOR 7,0:IF ER=1 THEN RETURN
  741. 7300 ZW = ZW +1
  742. 7310 IF ZW = 3 THEN CLS:SYSTEM
  743. 7320 GOTO 370
  744. 7330 '*****************************************************************
  745. 7340 '******* Artikelmaske aufbauen ***********************************
  746. 7350 '*****************************************************************
  747. 7360 COLOR 0,7
  748. 7370 LOCATE X,Y:PRINT"ARTIKELNUMMER: "
  749. 7380 LOCATE 10,1:PRINT"BEZEICHNUNG :"
  750. 7390 LOCATE 12,1:PRINT"EINKAUFS-PREIS :"
  751. 7400 LOCATE 12,30:PRINT"VERKAUFS-PREIS : "
  752. 7410 LOCATE 14,1:PRINT"LAGERBESTAND :"
  753. 7420 LOCATE 14,30:PRINT"MINDESTBESTAND : "
  754. 7430 LOCATE 15,1:PRINT"MEHRWERTSTEUERSCHLÜSSEL :"
  755. 7440 LOCATE 22,1:PRINT"MEHRWERTSTEUERSCHLÜSSEL  1  = 7%   MEHRWERTSTEUERSCHLÜSSEL 2  = 14%
  756. 7450 COLOR 7,0
  757. 7460 RETURN
  758. 7470 '*****************************************************************
  759. 7480 '******* Artikeldatei beschreiben ********************************
  760. 7490 '*****************************************************************
  761. 7500 LSET AB$  = E$
  762. 7510 LSET EK$  = MKS$(E1)
  763. 7520 LSET VK$  = MKS$(E2)
  764. 7530 LSET BE$  = MKS$(E3)
  765. 7540 LSET MB$  = MKS$(E4)
  766. 7550 LSET ST$  = E5$
  767. 7560 PUT #2,AN%
  768. 7570 RETURN
  769. 7580 '*****************************************************************
  770. 7590 '******* Artikeldatei lesen **************************************
  771. 7600 '*****************************************************************
  772. 7610 GET #2,AN%
  773. 7620 IF ASC(AB$) = 255 THEN LOCATE 23,14:PRINT" Keine Artikeldaten vorhanden !":FEHLER =1:RETURN
  774. 7630 E$=AB$:LOCATE 10,14:PRINT E$
  775. 7640 E1 = CVS(EK$)  :LOCATE 12,16:PRINT USING "####.##";E1
  776. 7650 E2 = CVS(VK$)  :LOCATE 12,46:PRINT USING "####.##";E2
  777. 7660 E3 = CVS(BE$)  :LOCATE 14,16:PRINT USING "####.##";E3
  778. 7670 E4 = CVS(MB$)  :LOCATE 14,46:PRINT USING "####.##";E4
  779. 7680 E5$   = ST$:LOCATE 15,30:PRINT E5$
  780. 7690 RETURN
  781. 7700 '*****************************************************************
  782. 7710 '******* Aufbereitung der Protokollsaetze ************************
  783. 7720 '*****************************************************************
  784. 7730 KX$ = STR$(AN%)
  785. 7740 IF LEN(KX$)< 5 THEN KX$=KX$+" ":GOTO 7740
  786. 7750 RZ$= LEFT$(E$,15)
  787. 7760 IF LEN(RZ$)<15 THEN RZ$=RZ$+" ":GOTO 7760
  788. 7770 T$="NR."+KX$+" BEZ "+RZ$:RZ$=CHR$(255)
  789. 7780 IF LW=0 THEN T$=T$+" INSERT "+"     ":LW=0
  790. 7790 IF LW=1 THEN T$=T$+" DELETE "+"     ":LW=0
  791. 7795 IF LW=3 THEN T$=T$+" ZUGANG "+"     ":LW=0
  792. 7796 IF LW=4 THEN T$=T$+" ABGANG "+"     ":LW=0
  793. 7800 T$=T$+" USER "+PW$+" DATE "+DA$+"/"+TIME$
  794. 7810 RETURN
  795. 7820 '************************************************************
  796. 7830 '**     AUFBEREITUNG DER DRUCKZEILEN DER RECHNUNG          **
  797. 7840 '************************************************************
  798. 7850 Z$(1) = I$(1)
  799. 7860 Z$(2) = I$(2)
  800. 7870 Z$(3) = I$(3)
  801. 7880 Z$(4) = I$(4)
  802. 7890 T1=(T+1):
  803. 7900 FOR Q=1 TO LEN(K2$)
  804. 7910           IF MID$(K2$,Q,1)="" THEN 7930
  805. 7920 NEXT Q
  806. 7930 T2=Q
  807. 7940 Z$(12) = LEFT$(K1$,(T+1))+K2$+SPACE$((80-(T1+T2)))
  808. 7950  IF WAHL=1 THEN MID$(Z$(12),65,15)="R E C H N U N G"
  809. 7960  IF WAHL=0 THEN MID$(Z$(12),65,15)="G U T S C H R ."
  810. 7970 IF WAHL=0 THEN GOTO 8020
  811. 7980 RN$=STR$(RN)
  812. 7990 IF LEN(RN$)<=12 THEN RN$=RN$+" ":GOTO 7990
  813. 8000 Z$(13)=K3$+SPACE$(56):MID$(Z$(13),65,14)="NR."+RN$
  814. 8010 GOTO 8060
  815. 8020 RN$=STR$(GN)
  816. 8030 IF LEN(RN$)<=12 THEN RN$=RN$+" ":GOTO 8030
  817. 8040 IF LEN(K3$)< 24 THEN K3$=K3$+" ":GOTO 8040
  818. 8050 Z$(13)=LEFT$(K3$,24)+SPACE$(56):MID$(Z$(13),65,14)="NR."+RN$
  819. 8060 Z$(14)=SPACE$(80):MID$(Z$(14),65,15)="VOM  "+DA$
  820. 8070 KUNDE$=STR$(KN)
  821. 8080 IF LEN(KUNDE$)< 5 THEN KUNDE$=KUNDE$+" ":GOTO 8080
  822. 8090 IF LEN(K4$)<24 THEN K4$=K4$+" ":GOTO 8090
  823. 8100 Z$(15)=K4$+SPACE$(56):MID$(Z$(15),65,15)="KD.NR.  "+KUNDE$
  824. 8110 Z$(16)=SPACE$(80)
  825. 8120 SZ$=STR$(SZ)
  826. 8130 IF LEN(SZ$)< 3 THEN SZ$=SZ$+" ":GOTO 8130
  827. 8140 Z$(17)=SPACE$(66)+"SEITE  "
  828. 8150 Z$(18)=SPACE$(80)
  829. 8160 Z$(19)=SPACE$(80)
  830. 8170 RABATT$=STR$(K6)
  831. 8180 SKONTO$=STR$(K7)
  832. 8190 Z$(20)="KONDITIONEN:RABATT=     % SKONTO=     % FAELLIGKEIT: 10 TG.N.RECHNUNGSSTELLUNG"
  833. 8200 MID$(Z$(20),20,5)=RABATT$
  834. 8210 MID$(Z$(20),34,5)=SKONTO$
  835. 8220 Z$(21)=SPACE$(80)
  836. 8230 Z$(22)="ARTIKEL ARTIKELBEZ.     ART.-  ARTIKEL-  ARTIKELWERT  RABATTEIN- MW ART.-NETTO"
  837. 8240 Z$(23)="NUMMER                  MENGE  PREIS DM  DM           ZELWERT DM ST WERT  DM    "
  838. 8250 Z$(24)=STRING$(80,45)
  839. 8260 Z$(38)=STRING$(80,45)
  840. 8270 Z$(39)="ARTIKELGESAMTBETRAG NACH 'MWST'-KENNZEICHEN                                    "
  841. 8280 Z$(40)="(1) DM             (2) DM                  RECHNUNGSNETTOBETRAG      "
  842. 8290 Z$(41)=SPACE$(80)
  843. 8300 Z$(42)="                                           MEHRWERTSTEUER    7,0 %  "
  844. 8310 Z$(43)="                                           MEHRWERTSTEUER   14,0 %  "
  845. 8320 Z$(44)="BEI EINHALTUNG DER VEREINBARTEN ZAHLUNGS-  ------------------------------------"
  846. 8330 Z$(45)="FRIST KÖNNEN SIE DM           SKONTO"
  847. 8340 Z$(46)="ABZIEHEN.                                  RECHNUNGSBRUTTOBETR.     "
  848. 8350 Z$(47)="                                                                    ==========="
  849. 8360 Z$(48)="BEDEUTUNG DES 'MWST'-KENNZEICHENS AUS"
  850. 8370 Z$(49)="DEN ARTIKELZEILEN: 1 = 7,0%  2 = 14,0%"
  851. 8380 Z$(50) = SPACE$(80)
  852. 8390 Z$(51) = SPACE$(80)
  853. 8400 Z$(52)="BANKVERBINDUNG :"
  854. 8410 Z$(53)= I$(5)
  855. 8420 Z$(54)= I$(6)
  856. 8430 RETURN
  857. 8440 U=61:RETURN
  858. 8450 ARTIKEL$=STR$(AN)
  859. 8460 IF LEN(ARTIKEL$)< 6 THEN ARTIKEL$=ARTIKEL$+" ":GOTO 8460
  860. 8470 ANZAHL$=STR$(AZ)
  861. 8480 IF LEN(ANZAHL$)< 4 THEN ANZAHL$=ANZAHL$+" ":GOTO 8480
  862. 8490 VERKAUF$=STR$(E2)
  863. 8500 IF LEN(VERKAUF$)< 8 THEN VERKAUF$=VERKAUF$+" ":GOTO 8500
  864. 8510 WERT=E2*AZ
  865. 8520 WERT$=STR$(WERT)
  866. 8530 IF LEN(WERT$)< 11 THEN WERT$=WERT$+" ":GOTO 8530
  867. 8540 RABATT=WERT/100*K6
  868. 8550 RABATT$=STR$(RABATT)
  869. 8560 IF LEN(RABATT$)< 11 THEN RABATT$=RABATT$+" ":GOTO 8560
  870. 8570 IF E5$="1" THEN SUM1 = SUM1+(WERT-RABATT):GES = GES + SUM1
  871. 8580 IF E5$="2" THEN SUM2 = SUM2+(WERT-RABATT):GES = GES + SUM2
  872. 8590 IF E5$="#" THEN SUM3 = SUM3+(WERT-RABATT):GES = GES + SUM3
  873. 8600 NETTO=(WERT-RABATT)
  874. 8610 NETTO$=STR$(NETTO)
  875. 8620 SU = NETTO
  876. 8630 IF LEN(NETTO$)< 11 THEN NETTO$=NETTO$+" ":GOTO 8630
  877. 8640 Z$(U) = ARTIKEL$ + LEFT$(E$,20) +"  " + LEFT$(ANZAHL$,4) + "  "+ LEFT$(VERKAUF$,8) + "  "+ LEFT$(WERT$,11) + "  "+ LEFT$(RABATT$,11) + " "+E5$+" "+ LEFT$(NETTO$,11)
  878. 8650           :VERKAUF$ = ""
  879. 8660           :VERKAUF$ = ""
  880. 8670 WERT   = 0:WERT$    = ""
  881. 8680 RABATT = 0:RABATT$  = ""
  882. 8690 NETTO  = 0:NETTO$   = ""
  883. 8700 RETURN
  884. 8710 ZB$=" Artikel    Bezeichnung               Anzahl     Einzelpreis    Gesamtpreis "
  885. 8720 Z$=CHR$(218)+STRING$(10,196)+CHR$(194)+STRING$(25,196)+CHR$(194)+STRING$(10,196)+CHR$(194)+STRING$(14,196)+CHR$(194)+STRING$(15,196)+CHR$(191)
  886. 8730 Z1$=CHR$(179)+SPACE$(10)+CHR$(179)+SPACE$(25)+CHR$(179)+SPACE$(10)+CHR$(179)+SPACE$(14)+CHR$(179)+SPACE$(15)+CHR$(179)
  887. 8740 Z2$=CHR$(195)+STRING$(10,196)+CHR$(197)+STRING$(25,196)+CHR$(197)+STRING$(10,196)+CHR$(197)+STRING$(14,196)+CHR$(197)+STRING$(15,196)+CHR$(180)
  888. 8750 Z3$=CHR$(179)+SPACE$(10)+CHR$(179)+SPACE$(25)+CHR$(179)+SPACE$(10)+CHR$(179)+SPACE$(14)+CHR$(179)+SPACE$(15)+CHR$(179)
  889. 8760 Z4$=CHR$(195)+STRING$(10,196)+CHR$(197)+STRING$(25,196)+CHR$(197)+STRING$(10,196)+CHR$(197)+STRING$(14,196)+CHR$(197)+STRING$(15,196)+CHR$(180)
  890. 8770 'Z4$=CHR$(195)+STRING$(78,196)+CHR$(180)
  891. 8780 Z5$=CHR$(179)+SPACE$(10)+CHR$(179)+SPACE$(25)+CHR$(179)+SPACE$(10)+CHR$(179)+SPACE$(14)+CHR$(179)+SPACE$(15)+CHR$(179)
  892. 8790 Z6$=CHR$(195)+STRING$(10,196)+CHR$(197)+STRING$(25,196)+CHR$(197)+STRING$(10,196)+CHR$(197)+STRING$(14,196)+CHR$(197)+STRING$(15,196)+CHR$(180)
  893. 8800 Z7$=CHR$(179)+SPACE$(10)+CHR$(179)+SPACE$(25)+CHR$(179)+SPACE$(10)+CHR$(179)+SPACE$(14)+CHR$(179)+SPACE$(15)+CHR$(179)
  894. 8810 Z8$=CHR$(192)+STRING$(10,196)+CHR$(193)+STRING$(25,196)+CHR$(193)+STRING$(10,196)+CHR$(193)+STRING$(14,196)+CHR$(197)+STRING$(15,196)+CHR$(180)
  895. 8820 Z9$=SPACE$(63)+CHR$(179)+SPACE$(15)+CHR$(179)
  896. 8830 ZA$=SPACE$(63)+CHR$(192)+STRING$(15,196)+CHR$(217)
  897. 8840 LOCATE X,Y:PRINT ZB$:PRINT Z$
  898. 8850 PRINT Z1$:PRINT Z2$:PRINT Z3$:PRINT Z4$:PRINT Z5$:PRINT Z6$:PRINT Z7$:PRINT Z8$:PRINT Z9$:PRINT ZA$
  899. 8860 W=1:RETURN
  900. 8870 K1$=K1$+" ":
  901. 8880 T = LEN(K1$)-1
  902. 8890 'NEXT T
  903. 8900 RETURN
  904. 8910 GOSUB 6110
  905. 8920 LOCATE 10,26:PRINT"Programmende beabsichtigt (J/N)"
  906. 8930 A$=INKEY$:IF A$ = "" THEN 8930
  907. 8940 IF A$ = "j" OR A$ = "J" THEN GOTO 8970
  908. 8950 IF A$="N" OR A$="n" THEN GOTO 420
  909. 8960 GOTO 8930
  910. 8970 LOCATE 18,26:PRINT"P r o g r a m m  -  E n d e"
  911. 8980 LOCATE 19,26:COLOR 31:PRINT"    FAKTUR  written by"
  912. 8990 LOCATE 20,26:PRINT"    Karlheinz  Kratzer"
  913. 9000 LOCATE 21,25:PRINT" 85 Nürnberg 70 * 0911/415268"
  914. 9010 LOCATE 22,25:PRINT" ----------------------------"
  915. 9020 FOR I= 1 TO 6000:NEXT:COLOR 7,0
  916. 9030 FOR I=22 TO 4 STEP -1:LOCATE I,1:PRINT SPACE$(80):NEXT I
  917. 9040 CLS:END
  918. 9050 BG1$=SPACE$(15)+STRING$(10,223)+SPACE$(2)+STRING$(12,223)+SPACE$(3)+STRING$(6,223)+SPACE$(6)+STRING$(6,223)
  919. 9060 BG2$=SPACE$(15)+STRING$(10,223)+SPACE$(2)+STRING$(13,223)+SPACE$(2)+STRING$(7,223)+SPACE$(4)+STRING$(7,223)
  920. 9070 BG3$=SPACE$(18)+STRING$(4,223)+SPACE$(6)+STRING$(3,223)+SPACE$(6)+STRING$(3,223)+SPACE$(3)+STRING$(7,223)+SPACE$(2)+STRING$(7,223)
  921. 9080 BG4$=SPACE$(18)+STRING$(4,223)+SPACE$(6)+STRING$(11,223)+SPACE$(4)+STRING$(16,223)
  922. 9090 BG5$=SPACE$(18)+STRING$(4,223)+SPACE$(6)+STRING$(11,223)+SPACE$(4)+STRING$(3,223)+SPACE$(2)+STRING$(6,223)+SPACE$(2)+STRING$(3,223)
  923. 9100 BG6$=SPACE$(18)+STRING$(4,223)+SPACE$(6)+STRING$(3,223)+SPACE$(6)+STRING$(3,223)+SPACE$(3)+STRING$(3,223)+SPACE$(3)+STRING$(4,223)+SPACE$(3)+STRING$(3,223)
  924. 9110 BG7$=SPACE$(15)+STRING$(10,223)+SPACE$(2)+STRING$(13,223)+SPACE$(2)+STRING$(5,223)+SPACE$(8)+STRING$(5,223)
  925. 9120 BG8$=SPACE$(15)+STRING$(10,223)+SPACE$(2)+STRING$(12,223)+SPACE$(3)+STRING$(5,223)+SPACE$(8)+STRING$(5,223)
  926. 9125 PRINT TAB(35)" F Ü R "
  927. 9130 PRINT BG1$
  928. 9140 PRINT BG2$
  929. 9150 PRINT BG3$
  930. 9160 PRINT BG4$
  931. 9170 PRINT BG5$
  932. 9180 PRINT BG6$
  933. 9190 PRINT BG7$
  934. 9200 PRINT BG8$
  935. 9210 Y1$=STRING$(40,205)
  936. 9220 Y$=SPACE$(20)+CHR$(201)+LEFT$(Y1$,30)+CHR$(187)
  937. 9230 Y2$=SPACE$(20)+CHR$(200)+LEFT$(Y1$,30)+CHR$(188)
  938. 9240 Y3$=SPACE$(20)+CHR$(186)+" ** PUBLIC DOMAIN-SOFTWARE ** "+CHR$(186)
  939. 9250 PRINT Y$:PRINT Y3$:PRINT Y2$:RETURN
  940. 30000 '*********************************
  941. 30010 '***  herausrechnen der MWST
  942. 30020 '*********************************
  943. 30030 IF RIGHT$(E1$,1) ="b" OR RIGHT$(E1$,1) = "B" THEN GOTO 30500
  944. 30040 E1= VAL(E1$):GOTO 31000
  945. 30500 IF E5$ ="1" THEN E1 = VAL(LEFT$(E1$,LEN(E1$)-1)) /107 * 100
  946. 30510 IF E5$ ="2" THEN E1 = VAL(LEFT$(E1$,LEN(E1$)-1)) /114 * 100
  947. 31000 IF RIGHT$(E2$,1) ="b" OR RIGHT$(E2$,1) = "B" THEN GOTO 31005
  948. 31002 E2= VAL(E2$):RETURN
  949. 31005 IF E5$ ="1" THEN E2 = VAL(LEFT$(E2$,LEN(E2$)-1)) /107 * 100
  950. 31110 IF E5$ ="2" THEN E2 = VAL(LEFT$(E2$,LEN(E2$)-1)) /114 * 100
  951. 31140 RETURN
  952. 40000 GOSUB 6110
  953. 40001 IF RN < 1 THEN GOTO 420
  954. 40004 LOCATE 4,30:COLOR 0,7:PRINT"Offene Rechnungen":COLOR 7,0
  955. 40005 LOCATE 9,1:PRINT"Rechn.-Empfänger      Datum       Rechnungs-Nr.       Rechnungssumme DM Netto":PRINT TRENN$:X=11
  956. 40009 FOR I = RN TO (RN-10) STEP-1
  957. 40010           IF I = 0 THEN GOTO 40130
  958. 40015           N1$ ="R"+MID$(STR$(I),2,LEN(STR$(I))-1)+".fak"
  959. 40018           LOCATE X,37: PRINT USING"######";I
  960. 40020           OPEN "I",#1, N1$
  961. 40030           FOR Y=1 TO 90
  962. 40035                   INPUT #1,T$
  963. 40040                   IF Y=12 THEN LOCATE X,1:PRINT LEFT$(T$,22):'Name
  964. 40050                   IF Y=14 THEN LOCATE X,23:PRINT MID$(T$,70,10):'Datum
  965. 40070                   IF Y > 24 AND Y < 38 THEN RGS = RGS + VAL(MID$(T$,72,8))
  966. 40075                   IF Y > 60 AND Y < 72 THEN RGS = RGS + VAL(MID$(T$,72,8))
  967. 40080           NEXT Y
  968. 40085           CLOSE #1
  969. 40100           LOCATE X,60:PRINT USING"######.##";RGS
  970. 40110           GGS = GGS + RGS:RGS = 0:X=X+1
  971. 40120   NEXT I
  972. 40130 PRINT TRENN$:PRINT "Gesamtsumme offene Rechnungen :";: PRINT TAB(60);USING "######.##";GGS:GGS=0
  973. 40140 LOCATE 22,15:PRINT "Bitte eine Taste betätigen "
  974. 40150 A$=INKEY$:IF A$ ="" THEN 40150
  975. 40160 GOTO 420
  976.