home *** CD-ROM | disk | FTP | other *** search
/ Chip: 25 Years Anniversary / CHIP_25Jahre_Jubilaeum.iso / downloads / 400616 / data1.cab / _lohnauskunft-Formulare-Standard / haushalt.lsf < prev    next >
Text File  |  2003-04-01  |  14KB  |  427 lines

  1.  
  2. Include "DruckNT.int"
  3. Include "Lak_NT.int"
  4.  
  5. description Form_Description     as "Haushaltsscheck" 
  6. description Form_Code             as "Haushaltsscheck" 
  7. description Page_Orientation     as PAGE_PORTRAIT
  8.  
  9.  
  10. Dim font6 as FontType = createfont("Arial",6,FONT_Normal,COLOR_BLACK)
  11. Dim font8 as FontType = createfont("Arial",8,FONT_Normal,COLOR_BLACK)
  12. Dim font8Grey as FontType = createfont("Arial",8,FONT_Normal,COLOR_LIGHTGREY)
  13. Dim font9 as FontType = createfont("Arial",9,FONT_Normal,COLOR_BLACK)
  14. Dim font15 as FontType = createfont("Arial",15,FONT_Normal,COLOR_BLACK)
  15.  
  16. SetBodyMargin( 190 , 240 , 190 , 220 )
  17.  
  18.  
  19. Dim i as Numeric
  20. Dim bBezugVariable as Bool = FALSE
  21.  
  22. Dim cKaestchen as CellType
  23. Dim nPosText as Numeric
  24.  
  25. Dim Str_Name_AG as String
  26. Dim Str_StrasseHausNr_AG as String
  27. Dim Str_PLZ_AG as String
  28. Dim Str_Ort_AG as String
  29. Dim Str_BetriebsNr_AG as String
  30. Dim Str_SteuerNr_AG as String
  31.  
  32. Dim Str_Name_AN as String
  33. Dim Str_StrasseHausNr_AN as String
  34. Dim Str_Land_AN as String
  35. Dim Str_PLZ_AN as String
  36. Dim Str_Ort_AN as String
  37. Dim Str_PauschSt_AN as String
  38. Dim Str_SVnr_AN as String
  39. Dim Str_VerzichtRVfreiheit_AN as String
  40. Dim StrDate_VerzichtRVfreiheitAb_AN as String
  41.  
  42. Dim Str_DateEintritt_AN as String
  43. Dim n_MA_Monat as Numeric
  44. Dim n_MA_Jahr as Numeric
  45. Dim Str_MA_Monat as String
  46. Dim Str_MA_Jahr as String
  47. Dim Str_BeginWork_AN as String
  48. Dim Str_BeginWorkReal_AN as String
  49. Dim Str_BeginWorkMonat_AN as String
  50. Dim Str_EndWork_AN as String
  51.  
  52. Dim Str_Entgelt_AN as String
  53. Dim Str_EntgeltDauer_AN as String
  54. Dim Str_EntgeltMonat_AN as String
  55.  
  56.  
  57. Function DruckText( text as String, yPos as Numeric, tab as String, font as FontType)
  58.  
  59.     RemoveAllTabs()
  60.     SetPos( 0,yPos)
  61.     SelectFont(font)
  62.     SetTabs(tab)
  63.     T("\t"+text)
  64.     RemoveAllTabs()
  65.  
  66. End Function
  67.  
  68.  
  69. Function LetzterTagImMonat( nMonat as Numeric , nJahr as Numeric ) as Numeric
  70.  
  71.     Dim nNeujahr as Numeric
  72.     Dim nHlp as Numeric
  73.     Dim nLastDayMonat as Numeric
  74.  
  75.     nHlp=(( nJahr - 1900 ) * 366 )
  76.     nNeujahr = nHlp-StringToNumeric(FormatDate("%j", nHlp ))+1
  77.  
  78.     nHlp = nNeujahr + (nMonat * 31)
  79.     nLastDayMonat = nHlp -StringToNumeric(FormatDate("%d", nHlp ))
  80.  
  81.     LetzterTagImMonat = nLastDayMonat
  82.  
  83. End Function
  84.  
  85.  
  86. Function Round_NumEurCt_NumEur( Str_NumEurCt as String ) as String
  87.  
  88.     Dim nCt as Numeric = StringToNumeric( StringRight( Str_NumEurCt , 2 ) )
  89.  
  90.     Dim nL_Str_NumEurCt as Numeric = StringLength( Str_NumEurCt )
  91.  
  92.     Dim StrEur as String = StringLeft( Str_NumEurCt , ( nL_Str_NumEurCt - 3 ) )
  93.  
  94.     If  ( nCt < 50 )  Then
  95.     
  96.         Round_NumEurCt_NumEur = StrEur
  97.     Else
  98.         Round_NumEurCt_NumEur = FormatNumeric( "%0.0f" , ( StringToNumeric( StrEur ) + 1 ) )
  99.     End If
  100.  
  101. End Function
  102.  
  103.  
  104. Function PrintJaNein( nPosX as Numeric , nPosY as Numeric , StrDatWert as String )
  105.  
  106.     Dim cKaestchen as CellType = CreateCell( 35 , 50 , CELL_TYPE_HORZ )
  107.     Dim StrDatName as String
  108.  
  109.     SelectCellFont( cKaestchen, font8 )
  110.     SetCellTextBorder( cKaestchen , 0 , 10 , 0 , 0 )
  111.     SetCellBorder( cKaestchen , CELL_BORDER_ALL, 2,PEN_SOLID,COLOR_BLACK)
  112.     SetCellAlign( cKaestchen , CELL_TEXT_CENTER )
  113.     
  114.     DruckText( "Ja" , nPosY , "C"+ FormatNumeric( "%0.0f" , nPosX + 17 ) , font6 )
  115.     DruckText( "Nein" , nPosY , "C"+ FormatNumeric( "%0.0f" , nPosX + 65 ) , font6 )
  116.     
  117.     SetPos( nPosX , ( nPosY + 25 ) )
  118.     If  ( StrDatWert = "ja" )  Then  SetCellText( cKaestchen , "X" )  Else  SetCellText( cKaestchen , "" )  End If
  119.     DrawCell( cKaestchen , FALSE )
  120.  
  121.     SetPos( ( nPosX + 47 ) , ( nPosY + 25 ) )
  122.     If  ( StrDatWert = "nein" )  Then  SetCellText( cKaestchen , "X" )  Else  SetCellText( cKaestchen , "" )  End If
  123.     DrawCell( cKaestchen , FALSE )
  124.  
  125. End Function    ' PrintJaNein
  126.  
  127.  
  128. Function DrawKaestchen( nPosX as Numeric , nPosY as Numeric , StrDatWert as String , fontDatWert as FontType ,
  129.  
  130.                                     nAlignDatWert as Numeric , nLaengeTextFeld as Numeric )
  131.  
  132.  
  133.     Dim cKaestchen as CellType = CreateCell( nLaengeTextFeld , 50 , CELL_TYPE_HORZ)
  134.     Dim nAbstandLinks as Numeric = 0
  135.     Dim nAbstandRechts as Numeric = 0 
  136.  
  137.     SelectCellFont( cKaestchen, fontDatWert )
  138.     
  139.     If  ( nAlignDatWert = CELL_TEXT_LEFT ) Then    nAbstandLinks = 15  End If
  140.     If  ( nAlignDatWert = CELL_TEXT_RIGHT ) Then    nAbstandRechts = 15  End If
  141.  
  142.     SetCellTextBorder( cKaestchen , nAbstandLinks , 10 , nAbstandRechts , 0 )
  143.     SetCellText( cKaestchen , StrDatWert )
  144.     SetCellBorder( cKaestchen , CELL_BORDER_ALL, 2,PEN_SOLID,COLOR_BLACK)
  145.     SetCellAlign( cKaestchen , nAlignDatWert )
  146.     
  147.     SetPos( nPosX , nPosY )
  148.     DrawCell(cKaestchen , FALSE )
  149.  
  150. End Function    ' DrawKaestchen
  151.  
  152.  
  153. Function DrawReiheKaestchen( StrDatName as String , nPosX as Numeric , nPosY as Numeric , nAnzKaestchen as Numeric )    
  154.  
  155.     Dim nN as Numeric
  156.  
  157.  
  158.     SelectFont(font6)
  159.     DrawTextExt( ( nPosX + 15 ) , nPosY , StrDatName )
  160.  
  161.     nPosY = nPosY + 25
  162.  
  163.     While  ( nN < nAnzKaestchen )  Do
  164.  
  165.         DrawKaestchen( nPosX , nPosY , "" , font8 , CELL_TEXT_CENTER , 35 )
  166.         nPosX = nPosX + 47
  167.         nN = nN + 1
  168.     End While
  169.  
  170. End Function
  171.  
  172.  
  173. Function PrintDat( StrDatName as String , StrDatWert as String , nPosX as Numeric , nPosY as Numeric ,
  174.  
  175.                             nLaengeTextFeld as Numeric ) 
  176.  
  177.     SelectFont(font6)
  178.     DrawTextExt( ( nPosX + 15 ) , nPosY , StrDatName )
  179.  
  180.     DrawKaestchen( nPosX , ( nPosY + 25 ) , StrDatWert , font8 , nPosText , nLaengeTextFeld )
  181.  
  182. End Function    ' PrintDat
  183.  
  184.  
  185. Function PrintVordruck( StrEmpfaenger as String )
  186.  
  187.     DrawKaestchen( 0 , 10 , "01" , font8 , CELL_TEXT_CENTER , 92 )
  188.     DruckText( "H A U S H A L T S S C H E C K" , 5 , "C" , font15 )
  189.  
  190.     SetPen( 3 , PEN_SOLID , COLOR_BLACK )
  191.     DrawLineExt( 0 , 95 , 1720 , 95 )
  192.     DruckText( "Arbeitgeber (Auszahlender)" , 105 , "L20" , font9 )
  193.  
  194.     PrintDat( "Name, Vorname, Titel" , Str_Name_AG , 20 , 150 , 1665 )
  195.     PrintDat( "Stra▀e und Hausnummer" , Str_StrasseHausNr_AG , 20 , 250 , 1665 )
  196.     PrintDat( "Postleitzahl" , Str_PLZ_AG , 20 , 350 , 225 )
  197.     PrintDat( "Wohnort" , Str_Ort_AG , 300 , 350 , 1385 )
  198.     PrintDat( "Betriebsnummer" , Str_BetriebsNr_AG , 110 , 445 , 370 )
  199.     
  200.     DruckText( "Pausch-\n\tsteuer" , 475 , "L505" , font6 )
  201.     PrintJaNein( 590 , 445 , Str_PauschSt_AN )
  202.     
  203.  
  204.     nPosText = CELL_TEXT_LEFT
  205.  
  206.     DrawLineExt( 0 , 540 , 1720 , 540 )
  207.     DruckText( "BeschΣftigte/r (EmpfΣnger/in)" , 555 , "L20" , font9 )
  208.  
  209.  
  210.     PrintDat( "Name, Vorname, Titel" , Str_Name_AN , 20 , 605 , 1665 )
  211.     PrintDat( "Stra▀e und Hausnummer" , Str_StrasseHausNr_AN , 20 , 695 , 1665 )
  212.     DrawReiheKaestchen( "(Land)" , 20 , 795 , 3 )
  213.     PrintDat( "Postleitzahl" , Str_PLZ_AN , 205 , 795 , 225 )
  214.     PrintDat( "Wohnort" , Str_Ort_AN , 495 , 795 , 1190 )
  215.  
  216.     SetPen( 2 , PEN_DOT , COLOR_BLACK )
  217.     DrawLineExt( 0 , 902 , 1720 , 902 )
  218.     DrawLineExt( 1250 , 902 , 1250 , 1250 )
  219.  
  220.     DruckText( "Versicherungs-Nr.\n\tder/des BeschΣftigten" , 945 , "L65" , font6 )
  221.     DrawKaestchen( 302 , 945 , Str_SVnr_AN , font8 , CELL_TEXT_LEFT , 562 )
  222.  
  223.     DruckText( "mehrfach\n\tbeschΣftigt" , 975 , "L1355" , font6 )
  224.     PrintJaNein( 1603 , 945 , "" )
  225.  
  226.     DruckText( "Mitglied in\n\tgesetzlicher\n\tKrankenkasse" , 1050 , "L1355" , font6 )
  227.     DrawReiheKaestchen( "Geburtsort" , 20 , 1045 , 25 )
  228.  
  229.     DruckText( "Verzicht auf die\n\tRentenversicherungs-\n\tfreiheit" , 1160 , "L1355" , font6 )
  230.     PrintJaNein( 1603 , 1045 , "" )
  231.  
  232.     DrawReiheKaestchen( "Geburtsname" , 20 , 1155 , 25 )
  233.  
  234.     PrintJaNein( 1603 , 1155 , Str_VerzichtRVfreiheit_AN )
  235.  
  236.     SetPen( 3 , PEN_SOLID , COLOR_BLACK )
  237.     DrawLineExt( 0 , 1250 , 1250 , 1250 )
  238.     DrawLineExt( 1250 , 1250 , 1250 , 1330 )
  239.     DrawLineExt( 1250 , 1330 , 1720 , 1330 )
  240.  
  241.     DruckText( "Dauer der BeschΣftigung und Arbeitsentgelt" , 1290 , "L20" , font9 )
  242.  
  243.     DruckText( "ab" , 1280 , "L1281" , font6 )
  244. '    DrawKaestchen( 1321 , 1260 , "T" , font8grey , CELL_TEXT_CENTER , 35 )
  245. '    DrawKaestchen( 1368 , 1260 , "T" , font8grey , CELL_TEXT_CENTER , 35 )
  246. '    DrawKaestchen( 1415 , 1260 , "M" , font8grey , CELL_TEXT_CENTER , 35 )
  247. '    DrawKaestchen( 1462 , 1260 , "M" , font8grey , CELL_TEXT_CENTER , 35 )
  248. '    DrawKaestchen( 1509 , 1260 , "J" , font8grey , CELL_TEXT_CENTER , 35 )
  249. '    DrawKaestchen( 1556 , 1260 , "J" , font8grey , CELL_TEXT_CENTER , 35 )
  250. '    DrawKaestchen( 1603 , 1260 , "J" , font8grey , CELL_TEXT_CENTER , 35 )
  251. '    DrawKaestchen( 1650 , 1260 , "J" , font8grey , CELL_TEXT_CENTER , 35 )
  252.     DrawKaestchen( 1321 , 1260 , StrDate_VerzichtRVfreiheitAb_AN , font8 , CELL_TEXT_LEFT , 364 )
  253.  
  254.     DruckText( "ab\tbis auf weiteres" , 1386 , "L200 L700" , font8 )
  255.     DrawKaestchen( 302 , 1372 , Str_BeginWorkReal_AN , font8 , CELL_TEXT_LEFT , 370 )
  256.     
  257.     DruckText( "Monatliches\n\tArbeitsentgelt" , 1377 , "L1070" , font6 )
  258.     DruckText( "EUR" , 1347 , "C1377" , font6 )
  259.     DrawKaestchen( 1312 , 1372 , Str_EntgeltDauer_AN , font8 , CELL_TEXT_RIGHT , 130 )
  260.  
  261.     SetPen( 2 , PEN_DOT , COLOR_BLACK )
  262.     DrawLineExt( 0 , 1440 , 1720 , 1440 )
  263.  
  264.     DruckText( "oder\tvon\tbis" , 1494 , "L20 L200 L517" , font8 )
  265.     DrawKaestchen( 302 , 1480 , Str_BeginWorkMonat_AN , font8 , CELL_TEXT_LEFT , 176 )
  266.  
  267.     DrawKaestchen( 590 , 1480 , Str_EndWork_AN , font8 , CELL_TEXT_LEFT , 364 )
  268.  
  269.     DruckText( "Monatliches\n\tArbeitsentgelt" , 1485 , "L1070" , font6 )
  270.     DruckText( "EUR" , 1455 , "C1377" , font6 )
  271.     DrawKaestchen( 1312 , 1480 , Str_EntgeltMonat_AN , font8 , CELL_TEXT_RIGHT , 130 )
  272.  
  273.     SetPen( 3 , PEN_SOLID , COLOR_BLACK )
  274.     DrawLineExt( 0 , 1547 , 1720 , 1547 )
  275.  
  276.     DruckText( "\tBeschΣftigung beendet am:" , 1585 , "L105" , font8 )
  277.     DrawReiheKaestchen( "" , 455 , 1546 , 8 )
  278.  
  279.     DrawLineExt( 0 , 1655 , 1720 , 1655 )
  280.         
  281.     DruckText( "Hiermit bestΣtige ich die Richtigkeit der Angaben" , 1665 , "L705" , font6 )
  282.  
  283.     DrawKaestchen( 20 , 1705 , "" , font8 , CELL_TEXT_LEFT , 570 )
  284.     DrawKaestchen( 1115 , 1705 , "" , font8 , CELL_TEXT_LEFT , 570 )
  285.     SelectFont( font6 )
  286.     DrawTextExt( 35 , 1760 , "Datum und Unterschrift Arbeitgeber" )
  287.     DrawTextExt( 1130 , 1760 , "Datum und Unterschrift BeschΣftigte/r" )
  288.  
  289.     DrawLineExt( 0 , 1795 , 1720 , 1795 )
  290.     DrawLineExt( 1720 , 95 , 1720 , 1795 )
  291.  
  292.     
  293.     If  ( StrEmpfaenger <> "die / den BeschΣftigte / n" )  Then
  294.  
  295.         If  ( StrEmpfaenger = "die Bundesknappschaft" )  Then
  296.  
  297.             DruckText( "Ausfertigung fⁿr die" , 0 , "R" , font6 )
  298.             DruckText( "Bundesknappschaft" , 35 , "R" , font9 )
  299.         Else
  300.             DruckText( "Ausfertigung fⁿr den" , 0 , "R" , font6 )
  301.             DruckText( "Arbeitgeber" , 35 , "R" , font9 )
  302.         End If
  303.  
  304.         PrintDat( "Steuernummer" , Str_SteuerNr_AG , 735 , 445 , 950 )
  305.  
  306.         DruckText( "E i n z u g s e r m Σ c h t i g u n g" , 1815 , "C" , font15 )
  307.         
  308.         SelectFont( font8 )
  309.         SetTabs( "L20" )
  310.         SetPos( 0 , 1885 )
  311.         TL( "\tHiermit ermΣchtige ich die Bundesknappschaft als Zentrale Einzugsstelle fⁿr geringfⁿgige BeschΣftigungen "+
  312.                 "widerruflich die Gesamt-" )
  313.         TL( "\tsozialversicherungsbeitrΣge (einschlie▀lich des Aufstockungsbetrages zur Rentenversicherung bei Verzicht auf "+
  314.                 "die Renten-" )
  315.         TL( "\tversicherungsfreiheit), die Umlagen nach dem Lohnfortzahlungsgesetz sowie ggf. der Pauschssteuern von meinem "+
  316.                 "Konto mittels" )
  317.         TL( "\tLastschrift einzuziehen. Wenn mein Konto die erforderliche Deckung nicht aufweist, besteht seitens des "+
  318.                 "kontofⁿhrenden Kreditinsti-" )
  319.         TL( "\ttuts keine Verplichtung zur Einl÷sung." )
  320.  
  321.         PrintDat( "Name, Vorname" , Str_Name_AG , 20 , 2055 , 1633 )
  322.         DrawReiheKaestchen( "Konto-Nr." , 20 , 2170 , 10 )
  323.         DrawReiheKaestchen( "Bankleitzahl" , 640 , 2170 , 8 )
  324.         DrawReiheKaestchen( "Kreditinstitut" , 20 , 2285 , 35 )
  325.         PrintDat( "Datum" , "" , 20 , 2410 , 370 )
  326.         PrintDat( "Unterschrift" , "" , 640 , 2410 , 575 )
  327.     Else
  328.         DruckText( "Ausfertigung fⁿr die / den" , 0 , "R" , font6 )
  329.         DruckText( "BeschΣftigte / n" , 35 , "R" , font9 )
  330.     End If
  331.  
  332. End Function    '  PrintVordruck
  333.  
  334.  
  335.  
  336. Str_Name_AG = StrStr("F",1)
  337. Str_StrasseHausNr_AG = StrStr("F",2)
  338. Str_PLZ_AG = StrStr("F",3)
  339. Str_Ort_AG = StrStr("F",4)
  340. Str_BetriebsNr_AG = StrStr("D",302)
  341.  
  342. Str_Name_AN = StrStr("P",2) +", "+ StrStr("P",3)
  343. Str_StrasseHausNr_AN = StrStr("P",4)
  344. '    Str_Land_AN = Get(LOHNJOUR_WOHNLAND)
  345. Str_PLZ_AN = StrStr("P",5)
  346. Str_Ort_AN = StrStr("P",6)
  347. Str_SVnr_AN = Get("P",67)
  348. StrDate_VerzichtRVfreiheitAb_AN = StrDate("P",66) 
  349.         
  350. If  Is("D",300)  Then
  351.  
  352.     Str_PauschSt_AN = "ja"
  353.     Str_SteuerNr_AG = StrStr("D",301)
  354. Else
  355.     Str_PauschSt_AN = "nein"
  356.     Str_SteuerNr_AG = ""
  357. End If
  358.  
  359. If  Is("P",65)  Then  Str_VerzichtRVfreiheit_AN = "ja"  Else  Str_VerzichtRVfreiheit_AN = "nein"  End If
  360.  
  361. Str_DateEintritt_AN = StrDate( "P",19)
  362. n_MA_Monat = GetInt( "D",58 )
  363. Str_MA_Monat = FormatNumeric( "%02.0f" , n_MA_Monat )
  364. n_MA_Jahr = GetInt( "D",2 )
  365. Str_MA_Jahr = FormatNumeric( "%02.0f" , n_MA_Jahr )
  366.  
  367.  
  368. If  ( Str_MA_Jahr = StringRight( Str_DateEintritt_AN , 4 ) )  Then
  369.  
  370.     If  ( Str_MA_Monat = StringMid( Str_DateEintritt_AN , 4 , 2 ) )  Then
  371.  
  372.         Str_BeginWork_AN = Str_DateEintritt_AN
  373.     Else
  374.         Str_BeginWork_AN = "01."+ Str_MA_Monat +"."+ Str_MA_Jahr
  375.     End If
  376. Else
  377.     Str_BeginWork_AN = "01."+ Str_MA_Monat +"."+ Str_MA_Jahr
  378. End If
  379.  
  380.  
  381. i = 1
  382.     
  383. If Is("D",61) then
  384.  
  385.     While i<=5 do
  386.  
  387.         If Is("D",71+i) Then
  388.             
  389.  
  390.             If Is("D",82+i) Then  bBezugVariable = TRUE  End If
  391.  
  392.         End If
  393.  
  394.         i = i + 1
  395.     End While
  396.  
  397. End If
  398.  
  399.  
  400. Str_Entgelt_AN = Round_NumEurCt_NumEur( StrAmt("R",14) )        ' RV-Brutto fⁿr monatliches Entgelt
  401.  
  402.  
  403. If  bBezugVariable  Then
  404.  
  405.     Str_BeginWorkReal_AN = ""
  406.     Str_BeginWorkMonat_AN = StringLeft( Str_BeginWork_AN , 6 )
  407.     Str_EndWork_AN = FormatDate( "%d.%m.%Y" , LetzterTagImMonat( n_MA_Monat , n_MA_Jahr ) )
  408.  
  409.     Str_EntgeltDauer_AN = ""
  410.     Str_EntgeltMonat_AN = Str_Entgelt_AN
  411.  
  412. Else
  413.     Str_BeginWorkReal_AN = Str_BeginWork_AN
  414.     Str_BeginWorkMonat_AN = ""
  415.     Str_EndWork_AN = ""
  416.  
  417.     Str_EntgeltDauer_AN = Str_Entgelt_AN
  418.     Str_EntgeltMonat_AN = ""
  419. End If
  420.  
  421.  
  422. PrintVordruck( "die Bundesknappschaft" )
  423. PageBreak()
  424. PrintVordruck( "den Arbeitgeber" )
  425. PageBreak()
  426. PrintVordruck( "die / den BeschΣftigte / n" )
  427.