|
|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 21077 (0x5255)
Types: SPC/1-COMAL-80
Notes: Mikados_B, UNKNOWN_TOKEN_00, UNKNOWN_TOKEN_cb, UNKNOWN_TOKEN_cd
Names: »SKAT85«
└─⟦fe8d363bb⟧ Bits:30004640 EASY-Skat 1985 (MIKADOS)
└─⟦this⟧ »SKAT85«
00010 INTEGER X , PR , Y , F8 , FE , G , T0 , T1 , T2 , T3 , T4 , O , W
00015 CLEAR
00020 LET STATUS , G1 , B7 , B8 , U2 , F0 , F7 , T , TKB , TKH , B3 , C0 , BD6 , C6 , F0 , F7 , OV , HS := 0
00025 LET AKT , SKG , D6 , HFORMUE , BFORMUE , B6 , HC3 , BC3 , HATP , BATP , GSLUT , FSLUT , F1 , F2 := 0
00030 LET T0 , T1 , T2 , T3 , T4 , O := 0
00035 DIM A1 $ ( 29 ) OF 29 , A ( 29 ) , H ( 23 ) , K ( 23 ) , LI $ OF 80 , QT $ OF 80 , S $ OF 80
00040 DIM FIL $ OF 15 , PIL $ OF 45 , SP $ OF 40 , REV $ OF 80 , ADR $ OF 80 , HKL $ OF 38
00045 DIM BKL $ OF 38 , NU $ OF 9
00050 LET LI $ := "" ; PIL $ := "" ; SP $ := "" ; NU $ := "#########" ; W := 100 ; GEMAFR := O
00055 LET REV $ := "Revisor…Kaja…Jensen"
00060 LET ADR $ := "Lysholmvej…14,…2650…Hvidovre,…(01)784852"
00065 FOR X := 1 TO 8 DO
00070 LET LI $ := LI $ + "-" ; PIL $ := PIL $ + "." ; SP $ := SP $ + "…"
00075 NEXT X
00080 LET F8 , T4 , G := O ; T2 := 2
00085 LET FIL $ := "dde:skatsys"
00090 OPEN FIL $ , R
00095 GET FIL $ : SYS
00100 CLOSE FIL $
00105 IF YS = 1 THEN
00110 OPEN FIL $ , W
00115 LET SYS := O
00120 PUT FIL $ : SYS
00125 CLOSE FIL $
00130 LET FIL $ := "dde:hskvar"
00135 OPEN FIL $ , R
00140 FOR X := 1 TO 9 DO
00145 GET FIL $ : A ( X )
00150 IF X < 24 THEN GET FIL $ : H ( X ) , K ( X )
00155 NEXT X
00160 GET FIL $ : F8 , T1 , T2 , T4
00165 CLOSE FIL $
00170 LET FIL $ := "dde:fvar"
00175 OPEN FIL $ , R
00180 GET FIL $ : PR , C4 , HD6 , C9 , B0 , T1 , TKH , F6 , F1
00185 GET FIL $ : F9 , P1 , P7 , P8 , P9 , T0 , B2 , B1 , B9
00190 GET FIL $ : T2 , C6 , BD6 , C0 , B3 , E6 , F2 , T3 , TKB
00195 GET FIL $ : F0 , F7 , SKG , AKT , D6 , GSLUT
00200 GET FIL $ : HFORMUE , BFORMUE , HATP , BATP , G , FSLUT
00205 GET FIL $ : HKL $ , BKL $
00210 CLOSE FIL $
00215 EXEC FORTS[T
00220 ELSE
00225 PRINT TAB ( 29 ) ; ">>>…EASY…-…SKAT…<<<"
00230 LET FIL $ := "DDE:skatvejl"
00235 OPEN FIL $ , R
00240 EXEC LFIL
00245 EXEC RETURN
00250 ENDIF
00255 LET X := O
00260 OPEN "dde:skatart" , R
00265 REPEAT
00270 LET X := X + 1
00275 GET "dde:skatart" : A1 $ ( X )
00280 UNTIL ╱cd╱ ( "dde:skatart" ) = 19 OR ╱cd╱ ( "dde:skatart" ) > O OR X = 29
00285 CLOSE
00290 LET E1 := 28 ; F3 := 64000 ; F4 := 70999 ; F5 := 1985 ; P1 := 111300 ; P2 := 182600
00295 LET P3 := 22700 ; P4 := 20300 ; P5 := 43900 ; P6 := 24000 ; P0 := 3.5 ; PA0 := 2
00300 LET U1 := .9 ; U2 := 1229200 ; M1 := 112700
00305 REPEAT
00310 REPEAT
00315 LABEL START :
00320 LET E8 , E9 , E6 , C5 , B9 , AR , BD1 , BD2 , BDA2 , BD3 , BD4 , BD5 , BD6 , E4 , E7 , E5 , D8 , E2 := O
00325 IF T4 = 1 THEN LET T2 := 1
00330 IF F8 >< 1 THEN EXEC NULSTIL2
00335 IF F8 = 1 THEN EXEC S[TATILH
00340 REPEAT
00345 REPEAT
00350 LET FE := O ; QT $ := "…HOVEPERSONEN…" ; A ( 24 ) := HFORMUE
00355 EXEC INDKOMST
00360 LET HFORMUE := B6 ; A ( 24 ) := O
00365 EXEC FEJLMED
00370 EXEC FEJL
00375 UNTIL FE >< 1
00380 LET F6 := A ( 12 ) ; F9 := A ( 11 ) * ( 30 / W )
00385 EXEC S[THTILA
00390 EXEC REGN1
00395 IF >< 1 THEN
00400 PRINT "Er…hovedpersonen…tilkendt…enke-,…folke-…eller…invalidepension,"
00405 PRINT "dvs.…har…ret…til…personfradrag…som…pensionist" ;
00410 EXEC SVAR
00415 LET T1 := O
00420 IF $ = "j" THEN
00425 LET T1 := 2
00430 PRINT "Er…hovedpersonen…fyldt…67…}r…ved…indkomst}rets…begyndelse" ;
00435 EXEC SVAR
00440 IF S $ = "j" THEN LET T1 := 1
00445 ENDIF
00450 ENDIF
00455 IF 1 = 1 THEN
00460 IF G = 1 THEN LET ATP := HATP
00465 EXEC INDATP
00470 LET HC3 := C3 + C5 ; HATP := ATP
00475 ENDIF
00480 LET B0 := A ( 1 ) ; B1 := C1 ; B2 := C2 ; C4 := C7 ; PR := O ; C3 := O
00485 IF T1 = 1 THEN LET C3 := HC3
00490 EXEC SKATIND
00495 PRINT
00500 PRINT "\nskes…rettelser…til…ovenst}ende" ;
00505 EXEC SVAR
00510 CLEAR
00515 UNTIL S $ = "n"
00520 IF >< 1 THEN
00525 PRINT "Skal…der…foretages…beregning…af…en…{gtef{lle…(gift…kvinde)" ;
00530 EXEC SVAR
00535 EXEC NULSTIL2
00540 LET T2 := O
00545 IF $ = "j" THEN
00550 PRINT "Har…{gtef{llerne…v{ret…gift…hele…kalender}ret" ;
00555 EXEC SVAR
00560 LET T2 := 2 ; T4 := O
00565 IF S $ = "j" THEN LET T2 := 1 ; T4 := 1
00570 IF F8 = 1 THEN EXEC S[TATILK
00575 ENDIF
00580 ELSE
00585 IF 2 >< O THEN
00590 EXEC NULSTIL2
00595 IF F8 = 1 THEN EXEC S[TATILK
00600 ENDIF
00605 ENDIF
00610 IF 2 >< O THEN
00615 REPEAT
00620 REPEAT
00625 LET FE := O ; QT $ := "…DEN…GIFTE…KVINDE…" ; A ( 24 ) := BFORMUE
00630 EXEC INDKOMST
00635 LET BFORMUE := B6 ; A ( 24 ) := O
00640 EXEC FEJLMED
00645 EXEC FEJL
00650 UNTIL FE >< 1
00655 LET F7 := A ( 12 ) ; F0 := A ( 11 ) * ( 30 / W )
00660 EXEC S[TKTILA
00665 EXEC REGN1
00670 EXEC TTEST
00675 EXEC FEJL
00680 IF E = 1 THEN
00685 LET FE := O ; F8 := 1
00690 GOTO START
00695 ENDIF
00700 IF >< 1 THEN
00705 PRINT "Er…den…gifte…kvinde…tilkendt…enke-,…folke-…eller…invalidepension"
00710 PRINT "dvs.…har…ret…til…personfradrag…som…pensionist" ;
00715 EXEC SVAR
00720 LET T3 := O
00725 IF $ = "j" THEN
00730 LET T3 := 2
00735 PRINT "Er…den…gifte…kvinde…fyldt…67…}r…ved…indkomst}rets…begyndelse" ;
00740 EXEC SVAR
00745 IF S $ = "j" THEN LET T3 := 1
00750 ENDIF
00755 ENDIF
00760 IF 3 = 1 THEN
00765 IF G = 1 THEN LET ATP := BATP
00770 EXEC INDATP
00775 LET BC3 := C3 + C5 ; BATP := ATP
00780 ENDIF
00785 LET B3 := A ( 1 ) ; B4 := C1 ; B5 := C2 ; C6 := C7 ; PR := O
00790 IF C6 < O THEN LET C6 := O
00795 LET C3 := O
00800 IF T3 = 1 THEN LET C3 := BC3
00805 EXEC SKATIND
00810 PRINT
00815 PRINT "\nskes…rettelser…til…ovenst}ende" ;
00820 EXEC SVAR
00825 CLEAR
00830 UNTIL S $ = "n"
00835 ENDIF
00840 IF C4 < O THEN LET C4 := O
00845 IF T2 = O THEN EXEC FORMUE
00850 IF T2 >< O THEN EXEC [FORMUE
00855 IF >< 1 THEN
00860 INPUT "Skriv…kommuneskatteprocent:…" : P7
00865 PRINT LI $
00870 INPUT "Skriv…den…amtskommunale…skatteprocent:…" : P8
00875 PRINT LI $
00880 INPUT "Skriv…kirkeskatteprocenten:…" : P9
00885 PRINT LI $
00890 PRINT "\nskes…klientens…navn…anvendt…i…opg|relsen…i…stedet…for…HOVED" ;
00895 PRINT "PERSONEN…og…GIFT"
00900 PRINT "KVINDE" ;
00905 EXEC SVAR
00910 LET HKL $ := "HOVEDPERSONEN" ; BKL $ := "DEN…GIFTE…KVINDE"
00915 IF $ = "j" THEN
00920 INPUT "Skriv…hovedpersonens…navn…………" : HKL $
00925 IF T2 >< O THEN INPUT "Skriv…den…gifte…kvindes…navn…" : BKL $
00930 PRINT LI $
00935 ENDIF
00940 ENDIF
00945 IF T2 = 1 THEN EXEC REGN3
00950 IF 2 >< 1 THEN
00955 EXEC REGN4
00960 IF T2 = 2 THEN EXEC REGN5
00965 ELSE
00970 EXEC REGN6
00975 ENDIF
00980 EXEC REGN7
00985 IF T2 = O AND B7 > U2 + 99 THEN EXEC REGN8
00990 IF T4 = 1 AND B7 + B8 > U2 + 99 THEN EXEC REGN9
00995 IF 2 = 2 AND T4 = O AND B7 > U2 + 99 THEN
01000 EXEC REGN8
01005 LET HB9 := B9 ; HB7 := B7
01010 ENDIF
01015 IF 2 = 2 AND T4 = O AND B8 > U2 + 99 THEN
01020 LET B7 := B8
01025 EXEC REGN8
01030 LET E6 := B9 ; B9 := HB9 ; B7 := HB7
01035 ENDIF
01040 PRINT "\nskes…der…print…af…beregningerne" ;
01045 EXEC SVAR
01050 LET PR := O
01055 IF S $ = "j" THEN LET PR := 1
01060 FOR Y := 1 TO R + 1 DO
01065 IF Y = 2 THEN OUTPUT "P"
01070 EXEC SIDESKIFT
01075 EXEC S[TATILH
01080 LET QT $ := "INDKOMSTOPG\RELSE…FOR…" + HKL $ + ":"
01085 LET C3 := O
01090 IF T1 = 1 THEN LET C3 := HC3
01095 LET C1 := B1 ; C2 := B2 ; B6 := HFORMUE
01100 EXEC SKATIND
01105 EXEC SKIFT
01110 EXEC REGN10
01115 EXEC SKAT
01120 EXEC INDSKAT
01125 LET FS := B9
01130 EXEC FSKAT
01135 EXEC SIDESKIFT
01140 IF 2 >< O THEN
01145 EXEC S[TATILK
01150 LET QT $ := "INDKOMSTOPG\RELSE…FOR…" + BKL $ + ":"
01155 LET C3 := O
01160 IF T3 = 1 THEN LET C3 := BC3
01165 LET C1 := B4 ; C2 := B5 ; B6 := BFORMUE
01170 EXEC SKATIND
01175 EXEC SKIFT
01180 EXEC REGN22
01185 EXEC SKAT
01190 EXEC INDSKAT
01195 LET FS := E6
01200 EXEC FSKAT
01205 EXEC SIDESKIFT
01210 ENDIF
01215 EXEC SKATPRO
01220 EXEC SKIFT
01225 NEXT Y
01230 OUTPUT "T"
01235 PRINT LI $
01240 PRINT "\nskes…beregning…af…forskudsregistrering,…d.v.s…skattekort…" ;
01245 PRINT "m.v." ;
01250 EXEC SVAR
01255 IF $ = "j" THEN
01260 PRINT "***…VENT…****…FORSKUDSREGISTREINGS…PROGRAMMET…INDL[SES…***"
01265 EXEC PROGRAMSKIFT
01270 CHAIN "dde:forsk85"
01275 ENDIF
01280 PRINT "\nskes…}rsopg|relse…udskrevet" ;
01285 EXEC SVAR
01290 IF $ = "j" THEN
01295 PRINT "***…VENT…****…]RSOPG\RELSES…PROGRAMMET…INDL[SES…***"
01300 EXEC PROGRAMSKIFT
01305 CHAIN "DDE:]RSOP85"
01310 ENDIF
01315 EXEC FORTS[T
01320 UNTIL F8 >< 1
01325 LET T2 := 2 ; T4 := O ; GSLUT , HFORMUE , BFORMUE := O
01330 UNTIL 1 >< 1
01335 PROC PROGRAMSKIFT
01340 LET FIL $ := "dde:fvar"
01345 OPEN FIL $ , W
01350 PUT FIL $ : PR , C4 , HD6 , C9 , B0 , T1 , TKH , F6 , F1
01355 PUT FIL $ : F9 , P1 , P7 , P8 , P9 , T0 , B2 , B1 , B9
01360 PUT FIL $ : T2 , C6 , BD6 , C0 , B3 , E6 , F2 , T3 , TKB
01365 PUT FIL $ : F0 , F7 , SKG , AKT , D6 , GSLUT
01370 PUT FIL $ : HFORMUE , BFORMUE , HATP , BATP , G , FSLUT
01375 PUT FIL $ : HKL $ , BKL $
01380 CLOSE FIL $
01385 LET FIL $ := "dde:hskvar"
01390 OPEN FIL $ , W
01395 FOR X := 1 TO 9 DO
01400 PUT FIL $ : A ( X )
01405 IF X < 24 THEN PUT FIL $ : H ( X ) , K ( X )
01410 NEXT X
01415 PUT FIL $ : F8 , T1 , T2 , T4
01420 CLOSE FIL $
01425 ENDPROC PROGRAMSKIFT
01430 PROC FORTS[T
01435 CLEAR
01440 PRINT "***…BEREGNINGEN…ER…GENNEMF\RT…***…\nskes…de…indtastede"
01445 PRINT "indkomster/fradrag…bevaret…til…en…ny…beregning" ;
01450 EXEC SVAR
01455 LET G , F8 := O ; FSLUT := O
01460 IF $ = "j" THEN
01465 LET F8 := 1 ; FSLUT := 1
01470 PRINT "\nskes…alle…andre…foruds{tninger…for…beregningerne…bevaret" ;
01475 EXEC SVAR
01480 IF S $ = "j" THEN LET G := 1
01485 ENDIF
01490 ENDPROC FORTS[T
01495 PROC REGN20
01500 LET HD1 := D1 ; HD2 := D2 ; HDA2 := DA2 ; HD3 := D3 ; HD4 := D4 ; HD5 := D5 ; HD6 := D6
01505 ENDPROC REGN20
01510 PROC REGN10
01515 LET D1 := HD1 ; D2 := HD2 ; DA2 := HDA2 ; D3 := HD3 ; D4 := HD4 ; D5 := HD5 ; D6 := HD6
01520 ENDPROC REGN10
01525 PROC REGN21
01530 LET BD1 := D1 ; BD2 := D2 ; BDA2 := DA2 ; BD3 := D3 ; BD4 := D4 ; BD5 := D5 ; BD6 := D6
01535 ENDPROC REGN21
01540 PROC REGN22
01545 LET D1 := BD1 ; D2 := BD2 ; DA2 := BDA2 ; D3 := BD3 ; D4 := BD4 ; D5 := BD5 ; D6 := BD6
01550 ENDPROC REGN22
01555 PROC LFIL
01560 REPEAT
01565 GET FIL $ : S $
01570 IF ╱cd╱ ( FIL $ ) = O THEN PRINT S $
01575 UNTIL ╱cd╱ ( FIL $ ) = 19
01580 CLOSE FIL $
01585 ENDPROC LFIL
01590 PROC SK[RM
01595 LET A1 $ ( 24 ) := "24.…FORMUE…" + PIL $ ( 1 : 18 )
01600 FOR X := 1 TO 2 DO
01605 PRINT A1 $ ( X ) ;
01610 IF A ( X ) >< O THEN PRINT USING NU $ : A ( X ) ;
01615 PRINT TAB ( 42 ) ; A1 $ ( X + 12 ) ;
01620 IF A ( X + 12 ) >< O THEN PRINT USING NU $ : A ( X + 12 ) ;
01625 PRINT
01630 NEXT X
01635 ENDPROC SK[RM
01640 PROC INDKOMST
01645 CLEAR
01650 PRINT TAB ( 29 ) ; ">>>…EASY…-…SKAT…<<<"
01655 PRINT TAB ( 20 ) ; "***…INDDATERING…TIL…" ; QT $ ; "…***"
01660 PRINT "Nr.…Indkomst" ; TAB ( 33 ) ; "Bel|b" ; TAB ( 42 ) ; "Nr.…Fradrag" ; TAB ( 74 ) ;
01665 PRINT "Bel|b"
01670 PRINT
01675 EXEC SK[RM
01680 REPEAT
01685 REPEAT
01690 LET B6 := A ( 24 )
01695 CURSOR 1 , 20
01700 INPUT "Skriv…nummer…p}…indkomst/fradrag…(1…til…24,…0…for…slut)…---->…" : N
01705 IF N > 24 THEN PRINT "***…Nummeret…skal…v{re…fra…1…til…24…***" ; CHR$ ( 7 )
01710 UNTIL N < 25
01715 IF = 2 OR N = 8 OR N = 18 OR N = 19 THEN
01720 EXEC WIN
01725 ELSE
01730 IF >< O THEN
01735 PRINT "Skriv…bel|bets…st|relse…" + LI $ ( 1 : 36 ) + ">" ;
01740 INPUT "…" : A ( N )
01745 IF = 11 THEN
01750 LET A ( 12 ) := INT ( A ( 11 ) * 25 / W )
01755 CURSOR 30 , 16
01760 PRINT USING NU $ : A ( 12 )
01765 ENDIF
01770 ENDIF
01775 ENDIF
01780 CURSOR 1 , 17
01785 FOR X := 1 TO 2 DO
01790 PRINT SP $ ;
01795 NEXT X
01800 IF >< O THEN
01805 IF N > 12 THEN CURSOR 71 , N - 8
01810 IF N =< 12 THEN CURSOR 30 , N + 4
01815 IF ( N ) >< O THEN
01820 PRINT USING NU $ : A ( N )
01825 ELSE
01830 PRINT SP $ ( 1 : 9 )
01835 ENDIF
01840 ENDIF
01845 UNTIL N = O
01850 CLEAR
01855 ENDPROC INDKOMST
01860 PROC REGN1
01865 LET C1 := A ( 1 ) + A ( 2 ) + A ( 4 ) - A ( 5 ) - A ( 7 ) + A ( 6 ) + A ( 9 ) + A ( 10 ) - A ( 14 ) - A ( 18 ) + A ( 15 ) - A ( 16 )
01870 LET C1 := C1 + A ( 17 ) - A ( 22 ) - A ( 23 )
01875 LET C2 := A ( 3 ) + A ( 5 ) + A ( 7 ) - A ( 9 ) + A ( 12 ) + A ( 11 ) - A ( 15 ) - A ( 13 ) - A ( 17 ) - A ( 19 ) - A ( 20 ) - A ( 21 )
01880 LET C2 := C2 + A ( 22 ) + A ( 8 ) ; C7 := C1 + C2
01885 ENDPROC REGN1
01890 PROC INDATP
01895 LET C3 := A ( 8 ) - A ( 9 ) - A ( 21 ) + A ( 22 )
01900 IF C3 < O THEN LET C3 := O
01905 IF >< 1 THEN
01910 PRINT "Skriv…st|rrelsen…p}…modtaget…ATP-bel|b…til…brug…for…"
01915 INPUT "rentenedslag…(evt,…0):…" : ATP
01920 PRINT LI $
01925 ENDIF
01930 LET C3 := C3 + ATP ; C3 := C3 * 30 / W
01935 IF C3 > 3500 THEN LET C3 := 3500
01940 IF C7 > F3 + 99 THEN LET C3 := C3 - ( ( INT ( C7 / W ) * W ) - F3 ) / 2
01945 IF C3 < O THEN LET C3 := O
01950 LET C3 := INT ( C3 + .9 ) ; C5 := O
01955 IF C3 > A ( 8 ) - A ( 9 ) THEN LET C5 := C3 - A ( 8 ) + A ( 9 )
01960 LET C3 := C3 - C5 ; C2 := C2 - C3 ; C1 := C1 - C5 ; C7 := C1 + C2
01965 ENDPROC INDATP
01970 PROC FEJLMED
01975 LET FE := O
01980 PRINT "FEJLMEDDELELSER:"
01985 IF A ( 9 ) > A ( 8 ) THEN EXEC FEJL1 ( 1 )
01990 IF A ( 5 ) > A ( 4 ) THEN EXEC FEJL1 ( 2 )
01995 IF A ( 7 ) > A ( 6 ) THEN EXEC FEJL1 ( 3 )
02000 IF A ( 15 ) > A ( 14 ) THEN EXEC FEJL1 ( 4 )
02005 IF A ( 17 ) > A ( 16 ) THEN EXEC FEJL1 ( 5 )
02010 IF A ( 23 ) > A ( 6 ) * 50 / W THEN EXEC FEJL1 ( 6 )
02015 IF ( 23 ) > M1 THEN
02020 LET FE := 1
02025 PRINT "Medarbejdende…{gtef{llefradrag…er…for…stor.…M}…h|jst…udg|re" ; M1 ;
02030 PRINT "."
02035 PRINT
02040 ENDIF
02045 IF A ( 12 ) > A ( 11 ) * 25 / W THEN EXEC FEJL1 ( 7 )
02050 IF A ( 22 ) > A ( 21 ) THEN EXEC FEJL1 ( 8 )
02055 IF A ( 9 ) > O OR A ( 22 ) > O ) AND A ( 4 ) - A ( 5 ) = O AND A ( 6 ) - A ( 7 ) = O THEN
02060 IF A ( 14 ) - A ( 15 ) = O AND A ( 16 ) - A ( 17 ) = O THEN EXEC FEJL1 ( 9 )
02065 ENDIF
02070 ENDPROC FEJLMED
02075 PROC FEJL1 ( [ )
02080 LET FIL $ := "dde:skfejl" ; FE := 1
02085 OPEN FIL $ , R
02090 FOR \ := 1 TO DO
02095 FOR Q := 1 TO DO
02100 GET FIL $ : S $
02105 IF ╱cb╱ ( S $ ) > 2 AND [ = \ AND ╱cd╱ ( FIL $ ) < 19 THEN PRINT S $
02110 NEXT Q
02115 NEXT \
02120 CLOSE FIL $
02125 ENDPROC FEJL1
02130 PROC FEJL
02135 IF E = O THEN
02140 PRINT "Ingen…}benbare…fejl…fundet."
02145 PRINT LI $
02150 ELSE
02155 PRINT "Skal…der…foretages…rettelser" ;
02160 EXEC SVAR
02165 IF S $ = "n" THEN LET FE := O
02170 PRINT LI $
02175 ENDIF
02180 ENDPROC FEJL
02185 PROC TTEST
02190 PRINT "TOTALTEST:"
02195 IF ( 23 ) >< H ( 10 ) OR A ( 10 ) >< H ( 23 ) THEN
02200 LET FE := 1
02205 PRINT "Medarbejdende…{gtef{lleindkomst…er…ikke…lig…med…medarbejdende…"
02210 PRINT "{gtef{llefradrag."
02215 PRINT
02220 ENDIF
02225 IF C4 > O AND C7 < O THEN LET FIL $ := "dde:skatfejb" ; FE := 1
02230 IF C4 < O AND C7 > O THEN LET FIL $ := "dde:skatfejh" ; FE := 1
02235 IF IL $ ( 9 : 3 ) = "fej" AND FE = 1 THEN
02240 OPEN FIL $ , R
02245 EXEC LFIL
02250 LET QT $ := "Det…negative…bel|b…udg|r…" ; QB := C7
02255 EXEC LSKRIV2
02260 PRINT
02265 ENDIF
02270 ENDPROC TTEST
02275 PROC NULSTIL2
02280 FOR X := 1 TO 3 DO
02285 LET A ( X ) := O
02290 NEXT X
02295 ENDPROC NULSTIL2
02300 PROC S[TATILH
02305 FOR X := 1 TO 3 DO
02310 LET A ( X ) := H ( X )
02315 NEXT X
02320 ENDPROC S[TATILH
02325 PROC S[TATILK
02330 FOR X := 1 TO 3 DO
02335 LET A ( X ) := K ( X )
02340 NEXT X
02345 ENDPROC S[TATILK
02350 PROC S[THTILA
02355 FOR X := 1 TO 3 DO
02360 LET H ( X ) := A ( X )
02365 NEXT X
02370 ENDPROC S[THTILA
02375 PROC S[TKTILA
02380 FOR X := 1 TO 3 DO
02385 LET K ( X ) := A ( X )
02390 NEXT X
02395 ENDPROC S[TKTILA
02400 PROC SKATIND
02405 LET S $ := NU $ + "…KR."
02410 EXEC LSKRIV3
02415 PRINT
02420 LET C7 , C7IK , C7FR := O
02425 FOR X := 1 TO 2 DO
02430 PRINT A1 $ ( X , 5 : 25 ) ;
02435 IF A ( X ) >< O THEN PRINT USING S $ : A ( X ) ;
02440 IF < 12 THEN
02445 PRINT TAB ( 41 ) ; A1 $ ( X + 12 , 5 : 25 ) ;
02450 IF A ( X + 12 ) >< O THEN PRINT USING S $ : A ( X + 12 ) ;
02455 ELSE
02460 IF 3 > O THEN
02465 PRINT TAB ( 41 ) ; "RENTEINDT[GTSNEDSLAG…...." ;
02470 PRINT USING S $ : C3 ;
02475 ENDIF
02480 ENDIF
02485 PRINT
02490 NEXT X
02495 FOR X := 1 TO 3 DO
02500 IF >< 5 AND X >< 7 AND X >< 9 AND X >< 15 AND X >< 17 AND X >< 22 THEN
02505 IF X =< 12 THEN LET C7IK := C7IK + A ( X )
02510 IF X > 12 THEN LET C7FR := C7FR + A ( X )
02515 ENDIF
02520 NEXT X
02525 LET QT $ := SP $ ( 1 : 25 ) + LI $ ( 1 : 12 ) + SP $ ( 1 : 29 ) + LI $ ( 1 : 12 )
02530 EXEC LSKRIV3
02535 PRINT "INDKOMST…IALT…" ; PIL $ ( 1 : 11 ) ;
02540 PRINT USING S $ : C7IK ;
02545 PRINT TAB ( 41 ) ; "FRADRAG…IALT…" ; PIL $ ( 1 : 12 ) ;
02550 PRINT USING S $ : C7FR
02555 LET QT $ := SP $ ( 1 : 25 ) + "============" + SP $ ( 1 : 29 ) + "============"
02560 EXEC LSKRIV3
02565 PRINT
02570 PRINT "ARBEJDSINDKOMST…" ; PIL $ ( 1 : 9 ) ;
02575 PRINT USING S $ : C1 ;
02580 PRINT TAB ( 41 ) ; "FORMUEINDKOMST…" ; PIL $ ( 1 : 10 ) ;
02585 PRINT USING S $ : C2
02590 LET C7 := C1 + C2
02595 PRINT "SKATTEPLIGTIG…INDKOMST…" ; PIL $ ( 1 : 42 ) ;
02600 PRINT USING S $ : C7
02605 PRINT "SKATTEPLIGTIG…FORMUE…" ; PIL $ ( 1 : 44 ) ;
02610 PRINT USING S $ : B6
02615 ENDPROC SKATIND
02620 PROC FORMUE
02625 LET B7 := HFORMUE
02630 IF B7 < U2 + 99 THEN LET B7 := O
02635 ENDPROC FORMUE
02640 PROC [FORMUE
02645 LET B7 := HFORMUE ; B8 := BFORMUE
02650 IF T4 = 1 AND B7 + B8 < U2 + 99 THEN LET B7 := O ; B8 := O
02655 IF T4 = O AND B7 < U2 + 99 THEN LET B7 := O
02660 IF T4 = O AND B8 < U2 + 99 THEN LET B8 := O
02665 ENDPROC [FORMUE
02670 PROC REGN3
02675 IF B1 < O THEN LET B2 := B2 + B1 ; B1 := O
02680 IF B4 < O THEN LET B5 := B5 + B4 ; B4 := O
02685 IF 1 = B4 THEN
02690 IF B2 >= B5 THEN LET T0 := 1
02695 IF B2 < B5 THEN LET T0 := 2
02700 ELSE
02705 IF 1 > B4 THEN
02710 LET T0 := 1
02715 IF B5 < O AND ABS ( B5 ) > C4 THEN EXEC REGN23
02720 ELSE
02725 LET T0 := 2
02730 IF B2 < O AND ABS ( B2 ) > C6 THEN EXEC REGN24
02735 ENDIF
02740 ENDIF
02745 IF ( T0 = 1 AND ABS ( B5 ) =< 1000 ) OR ( T0 = 2 AND ABS ( B2 ) =< 1000 ) THEN LET T2 := 2
02750 ENDPROC REGN3
02755 PROC REGN23
02760 LET E4 := B5 + C4 ; B5 := B5 - E4 ; B4 := B4 + E4
02765 ENDPROC REGN23
02770 PROC REGN24
02775 LET E4 := B2 + C6 ; B2 := B2 - E4 ; B1 := B1 + E4
02780 ENDPROC REGN24
02785 PROC REGN25
02790 LET C7 := INT ( C7 / W ) * W
02795 IF 7 =< P1 OR C7 =< P2 THEN
02800 LET D1 := C7 * 16 / W * U1
02805 IF C7 > P1 THEN LET D1 := ( ( C7 - P1 ) * 32 / W * U1 ) + ( P1 * 16 / W * U1 )
02810 ELSE
02815 LET D1 := ( ( C7 - P2 ) * 44 / W * U1 ) + ( ( P2 - P1 ) * 32 / W * U1 ) + ( P1 * 16 / W * U1 )
02820 IF P7 + P8 > E1 THEN LET D1 := D1 - ( ( C7 - P2 ) * ( P7 + P8 - E1 ) / W )
02825 ENDIF
02830 ENDPROC REGN25
02835 PROC REGN26
02840 LET D2 := C7 * P0 / W
02845 ENDPROC REGN26
02850 PROC REGN27
02855 LET DA2 := C7 * PA0 / W
02860 ENDPROC REGN27
02865 PROC REGN28
02870 LET D3 := C7 * P7 / W
02875 ENDPROC REGN28
02880 PROC REGN29
02885 LET D4 := C7 * P8 / W
02890 ENDPROC REGN29
02895 PROC REGN30
02900 LET D5 := C7 * P9 / W
02905 ENDPROC REGN30
02910 PROC REGN31
02915 LET D0 := D1 + D2 + DA2 + D3 + D4 + D5
02920 ENDPROC REGN31
02925 PROC REGN32
02930 LET D1 := D1 - ( C8 * 16 / W * U1 )
02935 ENDPROC REGN32
02940 PROC REGN33
02945 LET D2 := D2 - ( C8 * P0 / W ) ; D2AFR := D2 - INT ( D2 ) ; D2 := INT ( D2 )
02950 ENDPROC REGN33
02955 PROC REGN34
02960 LET DA2 := DA2 - ( C8 * PA0 / W ) ; D2AFR := DA2 - INT ( DA2 ) ; DA2 := INT ( DA2 )
02965 ENDPROC REGN34
02970 PROC REGN35
02975 LET D3 := D3 - ( C8 * P7 / W )
02980 ENDPROC REGN35
02985 PROC REGN36
02990 LET D4 := D4 - ( C8 * P8 / W )
02995 ENDPROC REGN36
03000 PROC REGN37
03005 LET D5 := D5 - ( C8 * P9 / W )
03010 ENDPROC REGN37
03015 PROC REGN38
03020 LET D6 := D1 + D2 + DA2 + D3 + D4 + D5
03025 ENDPROC REGN38
03030 PROC REGN6
03035 LET C7 := ( INT ( C6 / W ) * W ) + B2
03040 IF T0 = 1 THEN LET C7 := ( INT ( C4 / W ) * W ) + B5
03045 LET D8 := C7
03050 EXEC REGN25
03055 LET E2 := D1 ; C7 := C6
03060 IF T0 = 1 THEN LET C7 := C4
03065 EXEC REGN25
03070 LET E2 := E2 - D1
03075 EXEC REGN51
03080 IF 0 = 1 THEN
03085 EXEC KIRKE
03090 ELSE
03095 EXEC GKIRKE
03100 ENDIF
03105 LET D5 := O
03110 IF ( T0 = 1 AND TKH = 1 ) OR ( T0 = 2 AND TKB = 1 ) THEN EXEC REGN30
03115 EXEC REGN31
03120 EXEC REGN39
03125 EXEC REGN50
03130 IF 0 = 1 THEN
03135 EXEC REGN20
03140 LET C9 := D0 ; D7 := D6 ; C7 := INT ( B5 / W ) * W
03145 ELSE
03150 EXEC REGN21
03155 LET C0 := D0 ; D9 := D6 ; C7 := INT ( B2 / W ) * W
03160 ENDIF
03165 EXEC REGN51
03170 IF 0 = 1 THEN
03175 EXEC GKIRKE
03180 ELSE
03185 EXEC KIRKE
03190 ENDIF
03195 LET D5 := O
03200 IF ( T0 = 2 AND TKH = 1 ) OR ( T0 = 1 AND TKB = 1 ) THEN EXEC REGN30
03205 LET C7 := B1
03210 IF T0 = 1 THEN LET C7 := B4
03215 EXEC REGN25
03220 LET AR := D1 ; D1 := D1 + E2 ; E8 := D2
03225 EXEC REGN26
03230 LET AR := AR + D2 ; D2 := D2 + E8 ; E8 := DA2
03235 EXEC REGN27
03240 LET AR := AR + DA2 ; DA2 := DA2 + E8 ; E8 := D3
03245 EXEC REGN28
03250 LET AR := AR + D3 ; D3 := D3 + E8 ; E8 := D4
03255 EXEC REGN29
03260 LET AR := AR + D4 ; D4 := D4 + E8
03265 IF 5 >< O THEN
03270 LET E8 := D5
03275 EXEC REGN30
03280 LET AR := AR + D5 ; D5 := D5 + E8
03285 ENDIF
03290 LET E8 := O
03295 EXEC REGN31
03300 EXEC REGN42
03305 EXEC REGN32
03310 EXEC REGN33
03315 LET GEMAFR := D2AFR
03320 EXEC REGN34
03325 LET GEMAFR := GEMAFR + D2AFR
03330 EXEC REGN40
03335 EXEC REGN35
03340 EXEC REGN36
03345 IF 5 > O THEN
03350 EXEC REGN37
03355 ELSE
03360 IF C8 > C7 THEN LET D5 := D5 - ( ( C8 - C7 ) * P9 / W )
03365 ENDIF
03370 EXEC REGN38
03375 IF 0 = 1 THEN
03380 EXEC REGN21
03385 LET C0 := D0 ; D9 := D6
03390 ELSE
03395 EXEC REGN20
03400 LET C9 := D0 ; D7 := D6
03405 ENDIF
03410 ENDPROC REGN6
03415 PROC KIRKE
03420 IF >< 1 THEN
03425 PRINT "Er…hovedpersonen…medlem…af…folkekirken" ;
03430 EXEC SVAR
03435 LET TKH := O
03440 IF S $ = "j" THEN LET TKH := 1
03445 ENDIF
03450 ENDPROC KIRKE
03455 PROC GKIRKE
03460 IF >< 1 THEN
03465 PRINT "Er…den…gifte…kvinde…medlem…af…folkekirken" ;
03470 EXEC SVAR
03475 LET TKB := O
03480 IF S $ = "j" THEN LET TKB := 1
03485 ENDIF
03490 ENDPROC GKIRKE
03495 PROC REGN39
03500 LET C8 := P3
03505 IF T0 = 1 AND T1 >< O THEN LET C8 := P6
03510 IF T0 = 2 AND T3 >< O THEN LET C8 := P6
03515 ENDPROC REGN39
03520 PROC REGN40
03525 IF C8 = P3 THEN LET C8 := P4
03530 ENDPROC REGN40
03535 PROC REGN42
03540 LET C8 := P3
03545 IF T0 = 1 AND T3 >< O THEN LET C8 := P6
03550 IF T0 = 2 AND T1 >< O THEN LET C8 := P6
03555 ENDPROC REGN42
03560 PROC REGN4
03565 LET C7 := C4
03570 EXEC REGN25
03575 EXEC REGN51
03580 EXEC KIRKE
03585 LET D5 := O
03590 IF TKH = 1 THEN EXEC REGN30
03595 EXEC REGN31
03600 IF T2 = O AND T1 >< O THEN LET C8 := P5
03605 IF T2 = 2 AND T1 >< O THEN LET C8 := P6
03610 IF T1 = O THEN LET C8 := P3
03615 EXEC REGN50
03620 EXEC REGN20
03625 LET C9 := D0 ; D7 := D6
03630 ENDPROC REGN4
03635 PROC REGN5
03640 LET C7 := C6
03645 EXEC REGN25
03650 EXEC REGN51
03655 EXEC GKIRKE
03660 LET D5 := O
03665 IF TKB = 1 THEN EXEC REGN30
03670 EXEC REGN31
03675 LET C8 := P6
03680 IF T3 = O THEN LET C8 := P3
03685 EXEC REGN50
03690 EXEC REGN21
03695 LET C0 := D0 ; D9 := D6
03700 ENDPROC REGN5
03705 PROC REGN7
03710 IF HD1 + HD2 + HDA2 < 0 AND HD3 + HD4 + HD5 > 0 THEN EXEC MSSIKS
03715 IF 2 = O THEN
03720 LET HD6 := HD1 + HD2 + HDA2 + HD3 + HD4 + HD5
03725 IF HD6 =< O THEN LET HD1 := O ; HD2 := O ; HDA2 := O ; HD3 := O ; HD4 := O ; HD5 := O ; HD6 := O
03730 ELSE
03735 IF HD1 + HD2 + HDA2 < 0 AND HD3 + HD4 + HD5 > 0 THEN EXEC MSSIKS1
03740 IF D1 < O THEN
03745 LET BD1 := BD1 + HD1 ; HD1 := O
03750 IF BD1 < O THEN LET BD1 := O
03755 ENDIF
03760 IF D2 < O THEN
03765 LET BD2 := BD2 + HD2 ; HD2 := O
03770 IF BD2 < O THEN LET BD2 := O
03775 ENDIF
03780 IF DA2 < O THEN
03785 LET BDA2 := BDA2 + HDA2 ; HDA2 := O
03790 IF BDA2 < O THEN LET BDA2 := O
03795 ENDIF
03800 IF D3 < O THEN
03805 LET BD3 := BD3 + HD3 ; HD3 := O
03810 IF BD3 < O THEN LET BD3 := O
03815 ENDIF
03820 IF D4 < O THEN
03825 LET BD4 := BD4 + HD4 ; HD4 := O
03830 IF BD4 < O THEN LET BD4 := O
03835 ENDIF
03840 IF D5 < O THEN
03845 LET BD5 := BD5 + HD5 ; HD5 := O
03850 IF BD5 < O THEN LET BD5 := O
03855 ENDIF
03860 IF D1 < O THEN
03865 LET HD1 := HD1 + BD1 ; BD1 := O
03870 IF HD1 < O THEN LET HD1 := O
03875 ENDIF
03880 IF D2 < O THEN
03885 LET HD2 := HD2 + BD2 ; BD2 := O
03890 IF HD2 < O THEN LET HD2 := O
03895 ENDIF
03900 IF DA2 < O THEN
03905 LET HDA2 := HDA2 + BDA2 ; BDA2 := O
03910 IF HDA2 < O THEN LET HDA2 := O
03915 ENDIF
03920 IF D3 < O THEN
03925 LET HD3 := HD3 + BD3 ; BD3 := O
03930 IF HD3 < O THEN LET HD3 := O
03935 ENDIF
03940 IF D4 < O THEN
03945 LET HD4 := HD4 + BD4 ; BD4 := O
03950 IF HD4 < O THEN LET HD4 := O
03955 ENDIF
03960 IF D5 < O THEN
03965 LET HD5 := HD5 + BD5 ; BD5 := O
03970 IF HD5 < O THEN LET HD5 := O
03975 ENDIF
03980 LET HD6 := HD1 + HD2 + HDA2 + HD3 + HD4 + HD5 ; BD6 := BD1 + BD2 + BDA2 + BD3 + BD4 + BD5
03985 ENDIF
03990 ENDPROC REGN7
03995 PROC MSSIKS
04000 LET F4 := ABS ( HD1 + HD2 + HDA2 )
04005 IF F4 > HD3 + HD4 + HD5 THEN LET F4 := HD3 + HD4 + HD5
04010 LET HD3 := HD3 - ( F4 / ( P7 + P8 + P9 ) * P7 ) ; HD4 := HD4 - ( F4 / ( P7 + P8 + P9 ) * P8 )
04015 LET HD5 := HD5 - ( F4 / ( P7 + P8 + P9 ) * P9 ) ; D1 := HD1 ; D2 := HD2 ; DA2 := HDA2
04020 LET HD1 := HD1 + ( F4 / ( D1 + D2 + DA2 ) * D1 ) ; HD2 := HD2 + ( F4 / ( D1 + D2 + DA2 ) * D2 )
04025 LET HDA2 := HDA2 + ( F4 / ( D1 + D2 + DA2 ) * DA2 )
04030 ENDPROC MSSIKS
04035 PROC MSSIKS1
04040 LET F4 := ABS ( BD1 + BD2 + BDA2 )
04045 IF F4 > BD3 + BD4 + BD5 THEN LET F4 := BD3 + BD4 + BD5
04050 LET BD3 := BD3 - ( F4 / ( P7 + P8 + P9 ) * P7 ) ; BD4 := BD4 - ( F4 / ( P7 + P8 + P9 ) * P8 )
04055 LET BD5 := BD5 - ( F4 / ( P7 + P8 + P9 ) * P9 ) ; D1 := BD1 ; D2 := BD2 ; DA2 := BDA2
04060 LET BD1 := BD1 + ( F4 / ( D1 + D2 + DA2 ) * D1 ) ; BD2 := BD2 + ( F4 / ( D1 + D2 + DA2 ) * D2 )
04065 LET BDA2 := BDA2 + ( F4 / ( D1 + D2 + DA2 ) * DA2 )
04070 ENDPROC MSSIKS1
04075 PROC REGN43
04080 IF T0 = 1 AND B4 < C8 THEN LET E9 := ( ( ( INT ( B4 / W ) * W ) - C8 ) * ( ( 16 * U1 ) + P0 + PA0 ) / W )
04085 IF T0 = 1 AND C4 < C8 THEN LET E8 := ( ( ( INT ( C4 / W ) * W ) - C8 ) * ( ( 16 * U1 ) + P0 + PA0 ) / W )
04090 IF T0 = 2 AND B1 < C8 THEN LET E8 := ( ( ( INT ( B1 / W ) * W ) - C8 ) * ( ( 16 * U1 ) + P0 + PA0 ) / W )
04095 IF T0 = 2 AND C6 < C8 THEN LET E9 := ( ( ( INT ( C6 / W ) * W ) - C8 ) * ( ( 16 * U1 ) + P0 + PA0 ) / W )
04100 ENDPROC REGN43
04105 PROC REGN44
04110 IF T0 = 1 AND B4 < C8 THEN LET E9 := E9 + ( ( ( ( INT ( B4 / W ) * W ) - C8 ) * ( P7 + P8 ) ) / W )
04115 IF T0 = 1 AND C4 < C8 THEN LET E8 := E8 + ( ( ( ( INT ( C4 / W ) * W ) - C8 ) * ( P7 + P8 ) ) / W )
04120 IF T0 = 2 AND B1 < C8 THEN LET E8 := E8 + ( ( ( ( INT ( B1 / W ) * W ) - C8 ) * ( P7 + P8 ) ) / W )
04125 IF T0 = 2 AND C6 < C8 THEN LET E9 := E9 + ( ( ( ( INT ( C6 / W ) * W ) - C8 ) * ( P7 + P8 ) ) / W )
04130 ENDPROC REGN44
04135 PROC REGN8
04140 LET B9 := O ; B7 := INT ( B7 / W ) * W ; B9 := ( B7 - U2 ) * 22 / 1000
04145 IF 6 - D5 + B9 > C4 * 78 / W THEN
04150 LET E5 := ( D6 - D5 + B9 ) - ( C4 * 78 / W )
04155 IF 5 =< B9 * 60 / W THEN
04160 LET B9 := B9 - E5
04165 ELSE
04170 LET E5 := E5 - ( B9 * 60 / W ) ; B9 := B9 - ( B9 * 60 / W )
04175 LET D1 := D1 - E5
04180 IF D1 < 0 THEN LET D1 := 0
04185 EXEC REGN38
04190 EXEC REGN7
04195 ENDIF
04200 ENDIF
04205 ENDPROC REGN8
04210 PROC REGN9
04215 IF B7 < O THEN LET B7 := O
04220 IF B8 < O THEN LET B8 := O
04225 LET B6 := B7 + B8 ; B6 := INT ( B6 / W ) * W ; E7 := ( B6 - U2 ) * 22 / 1000
04230 IF B7 > O THEN LET B9 := E7 / B6 * B7
04235 IF B8 > O THEN LET E6 := E7 / B6 * B8
04240 IF 2 = 2 AND ( T0 = 1 OR T0 = 2 ) THEN
04245 IF T0 = 1 THEN LET D8 := C4
04250 IF T0 = 2 THEN LET D8 := C6
04255 LET D0 := O
04260 ELSE
04265 IF 0 = 1 THEN
04270 LET C7 := B5
04275 ELSE
04280 LET C7 := B2
04285 ENDIF
04290 LET D0 := ( INT ( C7 / W ) * W ) * ( ( P0 + PA0 + P7 + P8 ) / W ) ; D0 := D0 + E2
04295 ENDIF
04300 IF E8 < O THEN LET D0 := D0 + E8
04305 IF E9 < O THEN LET D0 := D0 + E9
04310 IF T0 = 1 AND E8 >= O THEN LET D0 := D0 + HD6 - HD5 + GEMAFR
04315 IF C0 < 0 THEN LET D0 := D0 - C0
04320 IF T0 = 2 AND E9 >= O THEN LET D0 := D0 + BD6 - BD5 + GEMAFR
04325 IF C9 < 0 THEN LET D0 := D0 - C9
04330 LET D0 := D0 + E7
04335 IF D0 =< D8 * 78 / W THEN EXIT
04340 LET E5 := D0 - ( D8 * 78 / W )
04345 IF 5 =< E7 * 60 / W THEN
04350 LET B9 := B9 - ( E5 / B6 * B7 ) ; E6 := E6 - ( E5 / B6 * B8 )
04355 ELSE
04360 LET D0 := E7 * 60 / W ; E5 := E5 - D0 ; B9 := B9 - ( D0 / B6 * B7 ) ; E6 := E6 - ( D0 / B6 * B8 )
04365 EXEC REGN10
04370 LET D1 := D1 - ( E5 / B6 * B7 )
04375 EXEC REGN38
04380 LET D7 := D6
04385 EXEC REGN20
04390 EXEC REGN22
04395 LET D1 := D1 - ( E5 / B6 * B8 )
04400 EXEC REGN38
04405 LET D9 := D6
04410 EXEC REGN21
04415 EXEC REGN7
04420 ENDIF
04425 ENDPROC REGN9
04430 PROC SKAT
04435 LET QT $ := "SKATTEBEREGNING:"
04440 EXEC LSKRIV3
04445 PRINT
04450 LET QT $ := "STATSSKAT…" + PIL $ ( 1 : 24 ) ; QB := D1
04455 EXEC LSKRIV2
04460 LET QT $ := "FOLKEPENSIONSBIDRAG…" + PIL $ ( 1 : 14 ) ; QB := D2
04465 EXEC LSKRIV2
04470 LET QT $ := "DAGPENGEFONDBIDRAG…" + PIL $ ( 1 : 15 ) ; QB := DA2
04475 EXEC LSKRIV2
04480 LET QT $ := "KOMMUNESKAT…" + PIL $ ( 1 : 22 ) ; QB := D3
04485 EXEC LSKRIV2
04490 LET QT $ := "AMTSKOMMUNAL…INDKOMSTSKAT…" + PIL $ ( 1 : 8 ) ; QB := D4
04495 EXEC LSKRIV2
04500 IF 5 > O THEN
04505 LET QT $ := "KIRKESKAT…" + PIL $ ( 1 : 24 ) ; QB := D5
04510 EXEC LSKRIV2
04515 ENDIF
04520 ENDPROC SKAT
04525 PROC INDSKAT
04530 LET QT $ := SP $ ( 1 : 34 ) + LI $ ( 1 : 16 )
04535 EXEC LSKRIV3
04540 LET QT $ := "INDKOMSTSKAT…IALT…" + PIL $ ( 1 : 16 ) ; QB := D6
04545 EXEC LSKRIV2
04550 ENDPROC INDSKAT
04555 PROC FSKAT
04560 IF S > O THEN
04565 LET QT $ := "FORMUESKAT…" + PIL $ ( 1 : 23 ) ; QB := FS
04570 EXEC LSKRIV2
04575 LET QT $ := SP $ ( 1 : 34 ) + LI $ ( 1 : 16 )
04580 EXEC LSKRIV3
04585 LET QT $ := "***…TOTALSKAT…" + PIL $ ( 1 : 20 ) ; QB := D6 + FS
04590 EXEC LSKRIV2
04595 ENDIF
04600 LET QT $ := SP $ ( 1 : 34 ) + "================"
04605 EXEC LSKRIV3
04610 ENDPROC FSKAT
04615 PROC SKATPRO
04620 LET QT $ := "Kommuneskatteprocent…………………" ; QB := P7
04625 EXEC LSKRIV4
04630 LET QT $ := "Amtskommunal…skatteprocent…" ; QB := P8
04635 EXEC LSKRIV4
04640 LET QT $ := "Kirkeskatteprocent………………………" ; QB := P9
04645 EXEC LSKRIV4
04650 IF 1 >< O THEN
04655 LET QT $ := "Hovedpersonen…er…beregnet…med…personfradrag…som…pensionist."
04660 EXEC LSKRIV3
04665 ENDIF
04670 IF 3 >< O THEN
04675 LET QT $ := "Den…gifte…kvinde…er…beregnet…med…personfradrag…som…pensionist."
04680 EXEC LSKRIV3
04685 ENDIF
04690 IF 4 = 1 THEN
04695 LET QT $ := "Beregningerne…er…sket…efter…reglerne…om…ligedeling…{gtef{ller."
04700 EXEC LSKRIV3
04705 ENDIF
04710 ENDPROC SKATPRO
04715 PROC LSKRIV2
04720 PRINT USING QT $ + "#########.##…KR." : QB
04725 ENDPROC LSKRIV2
04730 PROC LSKRIV1
04735 PRINT USING QT $ + "#########…KR." : QB
04740 ENDPROC LSKRIV1
04745 PROC LSKRIV4
04750 PRINT USING QT $ + "#######.#…PCT." : QB
04755 ENDPROC LSKRIV4
04760 PROC SVAR
04765 REPEAT
04770 INPUT "?…(j/n)…" : S $
04775 IF S $ = "N" THEN LET S $ := "n"
04780 IF S $ = "J" THEN LET S $ := "j"
04785 IF S $ = "q" OR S $ = "Q" THEN END
04790 UNTIL S $ = "j" OR S $ = "n"
04795 PRINT LI $
04800 ENDPROC SVAR
04805 PROC LSKRIV
04810 PRINT
04815 ENDPROC LSKRIV
04820 PROC LSKRIV3
04825 PRINT QT $
04830 ENDPROC LSKRIV3
04835 PROC REGN50
04840 EXEC REGN32
04845 EXEC REGN33
04850 EXEC REGN34
04855 IF C8 = P3 THEN LET C8 := P4
04860 EXEC REGN35
04865 EXEC REGN36
04870 IF 5 > O THEN
04875 EXEC REGN37
04880 ELSE
04885 IF C8 > C7 THEN LET D5 := D5 - ( ( C8 - C7 ) * P9 / W )
04890 ENDIF
04895 EXEC REGN38
04900 ENDPROC REGN50
04905 PROC REGN51
04910 EXEC REGN26
04915 EXEC REGN27
04920 EXEC REGN28
04925 EXEC REGN29
04930 ENDPROC REGN51
04935 PROC RETURN
04940 LET S $ := "-"
04945 PRINT
04950 PRINT TAB ( 65 ) ;
04955 EDIT "TRYK…-RETURN" : S $
04960 ENDPROC RETURN
04965 PROC SKIFT
04970 IF = 1 THEN
04975 EXEC RETURN
04980 CLEAR
04985 ELSE
04990 FOR X := 1 TO DO
04995 PRINT
05000 NEXT X
05005 ENDIF
05010 ENDPROC SKIFT
05015 PROC SIDESKIFT
05020 IF = 2 THEN
05025 PRINT CHR$ ( 12 )
05030 PRINT REV $
05035 PRINT ADR $
05040 ENDIF
05045 EXEC SKIFT
05050 ENDPROC SIDESKIFT
05055 PROC WIN
05060 CURSOR 1 , 20
05065 PRINT SP $ + SP $
05070 LET X := 3 ; P := O ; A ( N ) := O ; FIL $ := "DDE:INDKOM"
05075 OPEN FIL $ , R
05080 IF N = 18 THEN LET X := 6 ; P := 6
05085 IF N = 8 THEN LET P := 3
05090 IF N = 19 THEN LET P := 12
05095 CURSOR 1 , 23 - X
05100 FOR Y := 1 TO + X DO
05105 GET FIL $ : S $
05110 IF > P THEN
05115 PRINT S $
05120 ENDIF
05125 NEXT Y
05130 FOR Y := 1 TO DO
05135 CURSOR 65 , 22 - X + Y
05140 INPUT B
05145 LET A ( N ) := A ( N ) + B
05150 NEXT Y
05155 CLOSE FIL $
05160 ENDPROC WIN
38382 ╱00╱ ╱00╱